开发者社区> 龙轩8023> 正文

分析数据库——分析系统的艺术

简介: 前端时间一直在做YH收银系统重构的需求。下载了几个收银软件,都是cs的,功能分析得差不多了,就想看看表结构,结果发现有2个系统是db的,1个mdf的,1个mdb的,剩余一个居然没有发现数据库。
+关注继续查看

前端时间一直在做YH收银系统重构的需求。下载了几个收银软件,都是cs的,功能分析得差不多了,就想看看表结构,结果发现有2个系统是db的,1个mdf的,1个mdb的,剩余一个居然没有发现数据库。

第一个查询都有什么数据库文件是db格式的,结果一查,太多了,还是拿不准。然后去下载db数据库查看器,挨个测试。不过效率很低。突然想到,一般文件的文件头,都会“暴露”一些信息,UltraEdit打开了db发现第一个单词是“SQLite”,


原来是SQLite数据库呀,经过百度,得知SQLite主要是在Android中经常用到的数据库格式类型。去下载了一个SQLite数据库查看器(SQLite Database Browser),终于可以查看表结构了。



第二个数据是db,用了各种db数据库查看器,依旧打不开,只得作罢。

第三个是mdf的,直接附加到sqlserver上,居然不允许:


只好下载一个mdf数据库查看器(systools-mdf-viewer),终于也可以查看了


另一个是mdb的,一看就是Access数据库,由于没有安装Access,所以直接下载了一个mdb数据库查看器(MDBPlus),把数据库拖入到MDBPlus上,结果提示需要密码:


没办法了,还得找MDB数据库密码破解软件,被金山毒霸自动删除了N个下载的破解软件后,终于有一个经过了“党的检验”——MDB密码破解专家soft_VAP,用这款软件,终于破解了密码:

最后一个系统,在安装目录的db文件夹下面,只有dat文件,dat一般是一个二进制文件,所以很难想到它是一个数据库。不过突然想起来,以前写程序记录一些信息,但不想用一般用户看到,所以不用txt,而使用dat或者dll等后缀来保存信息。只不过读取的时候用文本方式打开。想到这里,觉得这个bat可能是一个修改了扩展名的数据库。然后用刚才的MDBPlus试着打开,居然弹出了输入密码,用“MDB密码破解专家soft_VAP”来破解了一下,也成功了:


欣喜若狂呀,后来用UltraEdit查看了一下,果然有Standard Jet DB,跟mdb的文件头信息一样,从而也证明了dat是一个伪装过的mdb数据库。



有了这几个系统的数据库,再结合对功能的分析,分析起来系列多了。




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库分片--Mycat的简单使用(上)
数据库分片--Mycat的简单使用(上)
11 0
技术分享 | 被测系统架构与数据流分析
深入了解测试过程中被测系统的架构与数据流,有助于理解业务逻辑,梳理业务用例以及促进部门协同。 更深的理解业务逻辑是指要分析公司是做什么的,公司的重要的商务决策是什么,公司内部数据流是怎么运行的,有哪些常见的业务场景。这也能考验对公司业务的负责程度,可以更好的去服务业务部门,为公司创造价值。 ## 开源项目litemall系统架构 下面以开源项目 litemall 为例,分析一下这个项目中的系统
16 0
基于Shard-Jdbc分库分表,数据库扩容方案
本文源码:GitHub·点这里 || GitEE·点这里 一、数据库扩容 1、业务场景 互联网项目中有很多“数据量大,业务复杂度高,需要分库分表”的业务场景。 这样分层的架构 (1)上层是业务层biz,实现业务逻辑封装; (2)中间是服务层service,封装数据访问; (3)下层是数据层db...
1740 0
Spring+Ibatis数据库水平分库
1.引言    笔者最近在做一个互联网的“类SNS”应用,应用中用户数量巨大(约4000万)左右,因此,简单的使用传统单一数据库存储肯定是不行的。
652 0
+关注
龙轩8023
熟悉javaee开发,有多年支付领域的开发经验。关注开源~ httpclientUtil开源项目创建者。https://github.com/Arronlong
214
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载