caterpilla 发表于 2007-1-16 12:04:22

破解黑与白——一点感想

在群中闲聊,偶然提到了黑盒与白盒,忽然有了些感想,与友分享。


破解,实际上就是对程序的调试,只不过多数情况下是汇编级的工作,由于基本上是被别人创作的程序进行分析,因此较之源码级调试有难度,而且略显神秘。

不过,在调试与测试的原理上却也相通,比如说黑盒与白盒。黑盒测试,就是在对模块内部处理过程不清楚的情况下,只关心模块的输入与输出,然后分析程序工作正常否。而白盒则是要求对程序内部处理流程相当清楚,然后再分析,调试,测试的方法。这两种方法正是破解过程中常用到的方法。


先说黑,用黑盒法,可以是在我们刚拿到软件的时候,可以试着输些数进去,做为输入;然后运行程序;观察程序运行的结果;这个结果可以是程序总的运行后的结果,也可以是某个内部函数运行完的结果。

比如类似代码段:
       PUSH EAX
      CALL SUB
   MOV EBX,EAX
    这时一定关注CALL SUB这句前后值的变化。SUB是个黑盒,而在调用之前的数据为输入,返回后的结果为输出。通过这个观察可以粗略分析函数的功能,为以后的算法分析提供一些基础,可以让我们知道哪个函数是关键。


而白盒法,则要求能对模块中代码和流程有了解,这就需要能够在黑盒分析基础上,对关键的函数进行精读,单步调试,力求明白其中变化。只有这样,才能弄清算法流程,写算法注册机。对于汇编代码的阅读,我以前写个贴子,有兴趣可以一观。https://www.chinapyg.com/viewthread.php?tid=5321&highlight=%2Bcaterpilla


用好黑盒法,能够快速了解软件,一些爆破可以完成;而能够读懂代码,才能更好写出算法注册机。


由黑而白是个过程,需要积累汇编,程序设计等知识。

看过很多高手的教程,有的还出了书,一个感觉就是:真正的高手,都是能加密,也能破解。不仅是破解高手,更是编程高手。这等能顺能逆,收放自如,是何等的境界!!!!!

[ 本帖最后由 caterpilla 于 2007-1-16 12:06 编辑 ]

tonglie 发表于 2007-1-16 17:37:43

了解了,谢谢楼主!!

myselfsky 发表于 2007-1-16 19:26:54

呵呵,有道理:lol:

mojingtai 发表于 2007-1-24 20:12:50

谢谢,任重而道远,只有学习、学习、再学习

lgjxj 发表于 2007-1-24 22:15:39

楼主就是高手了,佩服。。。你已经达到了。。。当然没人是顶尖的 :lol:

have 发表于 2007-1-26 00:36:17

原帖由 caterpilla 于 2007-1-16 12:04 发表
在群中闲聊,偶然提到了黑盒与白盒,忽然有了些感想,与友分享。

........
真正的高手,都是能加密,也能破解~~~~~

何等的境界,吾辈尚需努力啊~~
努力学习ing~~

wer 发表于 2007-1-26 07:56:32

有道理,谢谢楼主

fyxt2033 发表于 2007-4-4 20:56:53

是的,真正的高手是需要收放自如的,是随心所欲的

qing0408 发表于 2007-4-5 11:45:41

是的,真正的高手是需要收放自如的,是随心所欲的


可望而不可及

scyaltc 发表于 2007-4-10 22:08:18

有哲理,楼主高手啦!!!!!
页: [1] 2
查看完整版本: 破解黑与白——一点感想