|
6#
楼主 |
发表于 08-10-29 16:56:39
|
只看该作者
先介绍一下这三把“手术刀”吧,第一把流量分析工具如同中医里的望闻问切,病人来了,看看脸色闻闻味道,问问哪里不舒服,把把脉搏,都是从表象里分析问题,这需要有很深的功力,而且要有算命人的眼力,扁鹊就是如此。计算机里的网络流量分析工具叫做“sniffer”,很多人用作黑客工具,在自己的电脑上装一个sniffer工具,窃取人家的密码。不过俺不是这个用途,俺是获取破网工具的网络数据包,分析其网络行为特征。
第三把磁盘分析工具也没有什么,跟文革土改挖浮财的动作有些类似,就是要把你的磁盘拿来刨地三尺,硬是要把那些碎玻璃岔子凑起来说是浮财。当然允许你辩解,不过俺们可以经过仔细分析,最后做个鉴定报告,证明你99%地用了这个工具,尽管此工具自觉地删除了上网的记录和缓存。这种分析工具也被用来数据恢复。Finaldata就是其中的一个,不过俺们不是用它的。
第二把逆向工程工具就需要真本事了。说逆向可能大了些,很多东西都想逆向,折叠的自行车、压缩饼干,当然有些是不可逆的,因为一逆向就没有办法还原了,就如同俺前妻执意要把俺给她买的衣服逆向为布条一样。代码逆向就是如此,不同的是代码不怕逆向,坏了再拷贝一个继续逆就得了。难在逆完了看懂它。如果说编程是生产代码,那么代码逆向就是反编译。
如果你稍微懂点编程就知道,一个程序变成代码,经历了很多步骤:源代码—编译—调试—链接。当然有集成开发环境,例如VC。经过这些步骤,高级语言才变成了可运行的二进制代码。程序员就喜欢高级语言,越高级越好,最好是用自然语言,点上一根烟,泡一杯咖啡,对着电脑直接发号施令,如同领导一样,说:“给我实现一个美丽人生论坛!”,电脑就立马把论坛实现好了交给你。其实现在的坛子的开发过程比这个复杂不了多少,人家做好了,拿过了改一下坛子名称,配置一下栏目和用户权限,基本就OK了,要不你怎么瞅着这些坛子都跟双胞胎一样呢。俺以前基本是干这个事,不知道的人还常常被俺吓一大跳,咋一会功夫就做了个坛子呢?!
可是逆向可就不是那么回事情了,生孩子容易,要把孩子变回到受精卵就难了。还在大学里读编译原理的时候就头疼过一次,你想啊,让那种只知道0和1的白痴执行写诗的任务有多难啊,编译就干这个事情,楞是把一堆有逻辑的东西变成了0和1,真是佩服老外们啊。为了减轻程序员们的压力,就有些大牛们开发一些工具来帮忙,把所有你看不懂或者是看着烦人的东西都封装起来了,给你的基本上都是需要你做的了,而且还有大量的书籍例子教你如何用,这让现在的程序员变得跟幼儿园的孩子差不多了,所有的事情都有父母帮助,需要的是伸伸腿和张张口而已。
俺现在要做的是反编译,要把一堆0和1变成有逻辑的东西,这就没有那么容易了,确切地说很难。因为封装的东西需要一层层地拨开,才能找到程序员们真正所写的代码,本身就很难了,而且人家还对封装的技术细节保密。要知道一个软件需要跟操作系统很好地结合在一起才能够好好地运作的,这好比一棵大树,需要深深地植根于大地一样,我们看到的只是枝繁叶茂繁花似锦的外貌,而下面却是盘根错节的树根,你知道哪个树叶是哪条树根滋润的吗?俺就是想知道某个树叶是哪个树根提供养分的。 |
|