文档章节

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

白志华
 白志华
发布于 2015/10/18 10:56
字数 701
阅读 46
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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



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




版权声明:本文为博主原创文章,未经博主允许不得转载。

白志华
粉丝 34
博文 265
码字总数 57524
作品 0
长沙
程序员
私信 提问
加载中
请先登录后再评论。
软件人员推荐书目

软件人员推荐书目(一) 大师篇 一、 科学哲学和管理哲学 【1】 "程序开发心理学"(The Psychology of Computer Programming : Silver Anniversary Edition) 【2】 "系统化思维导论"(An Introd......

LsDimplex
2016/12/06
31
0
做一名让开发佩服的测试(浅析)

然而我们有时候也会听到有开发人员说某某测试人员挺厉害的,那么怎么样才能做一名让开发人员佩服的测试人员呢? 一,编程语言(Linux、shell、Python、java、C) 你至少要掌握一门语言,不管...

osc_c0usoa3v
05/19
12
0
做一名让开发佩服的测试(浅析)

然而我们有时候也会听到有开发人员说某某测试人员挺厉害的,那么怎么样才能做一名让开发人员佩服的测试人员呢? 一,编程语言(Linux、shell、Python、java、C) 你至少要掌握一门语言,不管...

灵笑若然
2017/10/23
0
0
华章计算机图书收录

C++程序设计原理与实践 C++程序设计语言题解 C程序设计软件工程环境 DSP算法、应用与设计 DW2.0:下一代数据仓库的架构 INTERNET技术基础 JAVA面向对象程序设计:图形化方法 Linux内核设计与...

LiSteven
2014/01/13
147
0
软件人员推荐书目(都是国外经典书籍!!!)

软件人员推荐书目(都是国外经典书籍!!!) 软件人员推荐书目(一) 大师篇 一、 科学哲学和管理哲学 【1】 "程序开发心理学"(The Psychology of Computer Programming : Silver Anniversary E...

osc_7jg90pfq
2019/10/05
3
0

没有更多内容

加载失败,请刷新页面

加载更多

使当前提交成为Git存储库中唯一的(初始)提交? - Make the current commit the only (initial) commit in a Git repository?

问题: I currently have a local Git repository, which I push to a Github repository. 我目前有一个本地Git存储库,我将其推送到Github存储库。 The local repository has ~10 commits, ......

javail
40分钟前
14
0
IntelliJ IDEA 默认快捷键大全

Remember these Shortcuts 常用 功能 快捷键 备注 ● Smart code completion Ctrl + Shift + Space - ● Search everywhere Double Shift - ● Show intention actions and quick-fixes Alt......

巨輪
今天
24
0
Hacker News 简讯 2020-07-14

更新时间: 2020-07-14 02:01 Chipmaker Analog Devices to Acquire Maxim Integrated for $21B - (reuters.com) 芯片制造商模拟设备公司将以210亿美元收购Maxim Integrated 得分:92 | 评论:......

FalconChen
今天
129
0
绕过移动端系统限制的 dlopen 库 byOpen

byOpen是一个绕过移动端系统限制的增强版dlfunctions库。 支持特性 Android 支持App中加载和使用Android系统库接口(即使maps中还没有被加载也支持)。 Android 7以上dlopen, System.load都是...

shzwork
昨天
31
0
Golang学习系列第二天:变量、常量、数据类型和流程语句

继golang第一天后,今天学习下golang的变量、常量、数据类型和控制流语句。 做过其他编程语言(比如JavaScript,java,python)项目的话,其实很好理解变量、常量、数据类型和控制流。 变量也...

董广明
昨天
48
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部