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

龙轩8023 2012-11-28

数据库 sqlite Access

前端时间一直在做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数据库。



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




登录 后评论
下一篇
corcosa
13838人浏览
2019-10-08
相关推荐
程序员经典书籍清单
1635人浏览
2016-12-27 19:58:00
经典编程书籍大全
1444人浏览
2018-07-13 16:16:00
互联网带来哪些新职业
773人浏览
2017-08-01 10:37:00
监控的艺术
928人浏览
2018-01-12 17:33:22
0
0
0
415