小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p=20
堆栈调用方法
程序运行后,直接断点到 004DC0D1 这个 位置,按 F8一直没反应,打开程序,可以看到 neg 窗口,
点击 exit ,关闭 neg 窗口,发现程序开始往下走
可以断定,断点位置的 call 调用就是neg窗口的过程:
既然找到了关键的 call 调用的位置,所以也应该在函数开始的位置下个断点( 即机器码 是 55 的位置,对应汇编代码为 push ebp ):
通过单步调试分析可知,jnz 位置是 跳过 neg 窗口的关键,直接 nop 掉( 更改原则:越早更改越好 )
保存所有修改:
运行改完后的程序,发现没有 neg 窗口。。。