前段时间一直在做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数据库。
有了这几个系统的数据库,再结合对功能的分析,分析起来系列多了。
谢谢赞赏
(微信扫一扫或长按识别)