美文网首页
《第1期-12 摆脱NAG》学习笔记

《第1期-12 摆脱NAG》学习笔记

作者: 听说我在混吃等死 | 来源:发表于2018-05-28 21:57 被阅读0次

    1、打开软件后,发现是未注册,然后点击关闭按钮,会弹出窗口


    Snipaste_2018-05-28_20-07-04.png

    我们的目的就是为了能够去掉这个弹窗。

    2、对这个程序进行查壳,没有什么发现

    3、载入OD里面,F9运行起来,随后切换到程序主界面点击关闭按钮,照样弹窗


    2.png

    4、此时,切换到OD中,按下F12暂停,此时OD会出现这样的画面


    3.png

    这时OD把程序给暂停住了
    5、在OD中使用快捷键“Alt+K”,出来”调用堆栈“界面


    4.png
    我们在这里分析一下调用堆栈,可以看到上面的都是系统空间的,我们在最后一行红色调用那里右键点击,选择“显示调用”
    5.png

    6、接着OD就来到了这里


    6.png

    在 77D5082A 处按F2下断点,重新运行程序。

    7、切换到程序,继续点击关闭按钮,这时OD会断在上一步下的断点那里


    7.png

    8、随后F8单步运行,此时程序会弹窗了,点击对话框里面的“是“或”者“否”让程序能够运行下去。【这里必须点击“是“或”者“否”,否则程序会运行不下去。我在看视频的时候没注意到这里,所以在这一步卡了壳,又重新看了一遍视频才过去的】


    8.png

    随后继续F8单步下去,不久就会运行到程序空间。

    9、这时就会看到调用弹窗的那个地方


    9.png

    观察上面的代码,看是否有jmp可以跳过这个的。但是一直找到了段首也没有发现,


    9-2.png
    既然没有,那我们F8继续单步,返回到上一层的调用
    10、返回到了这里
    10.png

    4CDCE6 出的call就是是弹窗出现的call,要是能够把它跳过就相当于跳过了弹窗:

    004CDCE6   .  E8 CD64F9FF   call WebMan.004641B8
    

    那么就往上找jmp吧。但是还是找到段首没找到一个有用的jmp。那就只能是继续F8单步运行,返回上一层调用了
    11、返回到了这里:


    11.png
    00460A75   .  FF93 98020000 call dword ptr ds:[ebx+0x298]            ;  WebMan.004CDCC4
    

    上面这个call就是弹窗的call,那么想办法跳过它吧。正好在上面有一个je

    00460A69   . /74 10         je short WebMan.00460A7B
    

    总算是找到了这样一个 跳 了。在这里F2下断点,重新运行程序
    12、切换到程序界面,点击关闭按钮来关闭程序,OD会停在那里


    12.png

    观察一下,发现这个跳转未实现呀。
    既然je不能实现跳,那么改为jne呢?在je代码处点击空格,会弹出窗口让输入汇编代码,我们直接改为jne:


    12-2.png
    然后F9让程序运行,会发现没有讨厌的弹窗出现了。
    13、把修改过的程序复制出来,保存成新的。

    相关文章

      网友评论

          本文标题:《第1期-12 摆脱NAG》学习笔记

          本文链接:https://www.haomeiwen.com/subject/wdknjftx.html