小甲鱼OD学习第17讲
这次我们的任务有点特别,是去除两个NAG窗口,共有3个窗口,其中有两个是NAG窗口,如下图所示,这个窗口不是一个NAG窗口
如下图所示,这个是一个NAG窗口
我们把程序放进OD,运行,当出现NAG窗口出现的时候,我们点击暂停,然后点击K,观察这时程序调用了哪些API函数,这个时候我们把注意力放在地址为 0012BFFC这个API函数上, 如下图所示
这个时候,我们所有调用到这个函数的地址都下断点,如下图所示
所有调用到这个函数的左下角的地址都下断点
然后,运行程序,程序在第一个断点停下,如下图所示,通过几次运行程序的尝试,我们发现,3个窗口都是通过这行代码调用的,所以我们不能直接把这行代码用NOP来代替,于是我们想到了用inline patch的方式来破解程序
我们把这行代码改为跳转到一个空的代码处,随便一个地方,如下图所示
然后通过计数来决定是否打开NAG窗口,计数的数字存放在随便一个没有数据的地址,如下图左下角的地址所示,我们把数据放在446180处,可以的得知,当计数为2的时候,不是NAG窗口,那么我们代码应该如下图所示
然后,我们用所有修改保存, 然后运行程序,发现已经没有那两个NAG窗口了,破解成功!
posted on 2018-02-21 18:32 孙悟空son_ku_kong 阅读(155) 评论(0) 编辑 收藏 举报