HDd1145 发表于 2009-10-23 13:41:01

hflywolf 发表于 2009-10-24 20:02:04

原帖由 HDd1145 于 2009-10-23 13:41 发表 https://www.chinapyg.com/images/common/back.gif
我不知道大家是怎么定位关键代码的。
一拿到程序,看到是汇编写的,我就没打算用字符串查找的方法来定位关键点,因为是汇编,代码不多,所以直接单步跟踪以便更好了解流程,但猫哥用的是回调函数+消息循环的方法写的 ...

因为程序是汇编写的而且比较小,代码全堆在一起非常的清楚。
即然已经知道有回调函数,可以在回调函数的开头先设个断,然后再慢慢分析消息循环。
那些系统API完全没必要跟进去,知道是做什么用就行了。
还有就是发现CALL的时候,第一次不用f7跟进去
在CALL上回车跳进里面看一下大概就OK.如果觉得可疑那先做个注释记号,回头的时候再继续跟
在跳转的地方也是一样,仔细观察比对看是否是关键点,如果没把握就在跳上设个断,然后按实际流程走先。
如果发现跑飞的时候就可以不用再跑前面,F9断在关键跳上改下跳转继续跟踪.
当然如果功力很高的话,知道那是关键CALL,那是关键跳那就不必要这样做了。

其实这个程序安完全可以丢进IDA里面看一下流程图,看箭头的走向,这样对程序的整体上就有大概脉络。

嘿嘿,以上纯属个人的意见,不具有通用性。仅当提供条思路而已。看看就好不必要当真

[ 本帖最后由 hflywolf 于 2009-10-24 20:03 编辑 ]

HDd1145 发表于 2009-10-25 10:31:43

liuhengzhu 发表于 2010-5-31 21:43:27

什么是逆向呢!
页: [1]
查看完整版本: 关于野猫兄弟1021KeyGenMe的问题