小甲鱼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编辑  收藏  举报

导航