文档章节

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

白志华
 白志华
发布于 2015/10/18 10:56
字数 701
阅读 9
收藏 0
点赞 0
评论 0

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



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




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

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/8235583

共有 人打赏支持
白志华
粉丝 29
博文 260
码字总数 57524
作品 0
长沙
程序员
软件人员推荐书目

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

LsDimplex ⋅ 2016/12/06 ⋅ 0

所看书籍记录

《程序员教程(第三版)》 《深入理解计算机系统》 《程序员的自我修养--链接、装载与库》(两遍) 《编译原理(龙书)》 《现代操作系统(第三版)》 《图解网络硬件》 《图解TCP/IP》 《数据...

thanatos_y ⋅ 2016/03/14 ⋅ 0

架构学习资料汇总

知名网站架构分析 探索Google App Engine背后的奥秘(1)–Google的核心技术 探索Google App Engine背后的奥秘(2)–Google的整体架构猜想 探索Google App Engine背后的奥秘(3)- Google App Eng...

peter8015 ⋅ 2016/04/22 ⋅ 0

D瓜哥分享的架构资料

扯扯蛋 以前见过零零散散地介绍一些知名网站架构的分析文章。最近D瓜哥也想研究一下各大知名网站的架构。所以,就搜集了一下这方面资料。限于时间问题,这篇文章分享的文章并没有都看完,所以...

hejunbinlan ⋅ 2015/09/06 ⋅ 2

博客导航——一站式搜索(所有博客的汇总帖)

博客导航——一站式搜索 以后博客肯定会越来越多的,所以这做一个整理,方便各位朋友能快速的锁定自己想要的资源 课程 巧用第三方快速开发Android App 热门第三方SDK及框架 Android Studio G...

qq_26787115 ⋅ 2016/01/08 ⋅ 0

性能瓶颈分析方法

一、性能瓶颈分析方法有以下七点: 1.整个系统架构分析 2.系统响应时间消耗 3.利用图表分析 4.查看事务响应时间,通过事务摘要图分析事务响应时间,哪个消耗最大(通过小用户量和大用户量的响...

金龙鱼管家 ⋅ 2016/11/02 ⋅ 0

CSDN日报20170727——《想提高团队技术,来试试这个套路!》

程序人生 | 想提高团队技术,来试试这个套路! 作者:劼哥stone 我加入阿里影业 3 个月,成功转为正式员工。新的开始,leader 给我新的要求,让我给组里的同学们带带节奏,帮助大家提高技术水...

blogdevteam ⋅ 2017/07/27 ⋅ 0

技术知识和稳定的系统之间,可能还差这些?

前言: 很多人都说——程序一门艺术,对于这个说法,以前我是很难理解的,程序就是一个工具,一门学问,怎么会是一门艺术呢,后来工作越深入,考虑的东西越多,发现程序的确是一门艺术。什么...

IT米粉 ⋅ 2017/09/20 ⋅ 0

华中电网项目日志:Rational version 7.0 技术会议纪要

:RUP个性化定制RMC 2. 项目组合:来源于华尔街的金融投资portfolio(组合) 3. 领域:Project / Program / Portfolio3P 项目组合,模型 不是程序的意思,意义为大项目 项目与变化 4. 需求和...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

OLAP 数据存储系统--Druid-IO

Druid 是一个开源的专为事件数据的 OLAP 查询设计的数据存储系统。Druid 用于大数据实时查询和分析的高容错、高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析。 ...

匿名 ⋅ 2016/11/07 ⋅ 6

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部