逆向工程思路( 三 )


逆向工程思路

文章插图
再次通过代码交叉引用跳转到,代码调用处 。
逆向工程思路

文章插图
观察上下文,可以推断,只要该处不跳转即可进入程序主界面
逆向工程思路

文章插图
五、分析目标代码逻辑
分析目标代码关键是且只是自己知道怎么写代码 。逆向学汇编建议直接学32位汇编,不用学16位汇编也不用学win 32位汇编(当然也可能我能力不足经验尚浅不解深意读者自己判断) 。
虽然说实模式是老祖宗,16位汇编的道理到32位还是可用的,但32位汇编和16位汇编在寻址待方面指令写法毕竟有区别,折腾半天学了16位汇编看32位汇编不一定很顺,类似你掌握了c语言写也不一定很顺 。逆向出来的都是32位汇编所以感觉可以直接学32位汇编 。
另外关于win32汇编,win32汇编就是可调用 api可以使用.if等伪指令的32位汇编 。但是一是 api汇编本就可以调用;二是汇编/反汇编的难点就在栈操作、条件判断跳转和循环,现在汇编使用./.if/.while等伪指令把push、jnz和loop等指令隐藏起来而汇编是容易了,反汇编却反汇编不出伪指令 。所以我不能理解罗云彬说的“win32汇编是汇编的不二选择”是什么意思,反而觉得win32汇编在给反汇编增加难度帮倒忙,至少我照着《环境下32位汇编语言程序设计》写了个记事本并没有感觉能更好读懂32位汇编代码(不过理解VC倒确实是很有帮助) 。