零基础学软件逆向:只改一个字,教你去除软件上烦人的弹窗
很多软件在运行时可能会弹个提示框或弹个网站啥的,有时候比较烦人。本篇就以一个启动就弹出提示框的样例和大家一起学习如何去除过掉这提示的方法。
示例是零基础入门学逆向的第一篇中的一个程序。打开时就会有个提示框

只有点了确定后,才会显示主程序。
本篇的目的就是分析如何去掉提示,直接显示主程序。
去除它两种方法:
1.用调试器载入被逆向的程序后,F8单步一直走,看它是在哪个位置调用了提示框。
2.从提示框的风格来看大概是用了消息提示框的API如MessageBox去找关键位置
打开OllyDBG载入程序,它停在这里
这是程序的入口。

用exeinfope查壳软件也能看到入口地址。可以看到这是无壳的Delphi写的程序。
我们按第一种方法,直接F8单步走一遍看哪里出现提示框。
F8到这个位置时,直接弹出了这个对话框。这个CALL就是关键的位置。重新来过,F7到这个函数里去看看。
F7步入后,在这个位置又出现了提示框。在这下断,重新F9后继续F7进入。
到这里又弹出来了。和上面一样的方法,在这位置下断点后F9在F7进入。
继续F7进入最里面发现这个CALL就是调用了提示框


于是
00425627 . 66:83B8 CE010>cmp word ptr ds:[eax+0x1CE],0x0 0042562F . 74 12 je short it0365_4.00425643 00425631 . 8B5D FC mov ebx,dword ptr ss:[ebp-0x4] 00425634 . 8B55 FC mov edx,dword ptr ss:[ebp-0x4] 00425637 . 8B83 D0010000 mov eax,dword ptr ds:[ebx+0x1D0] 0042563D . FF93 CC010000 call dword ptr ds:[ebx+0x1CC] 00425643 > 33C0 xor eax,eax
这里就是关键位置,上面又刚好有个JE跳转。我们就直接改成JMP无条件跳转,不让它弹窗是不是就去掉了提示框。

实践证明上面的修改是正确的。运行后主程序直接运行了。
像这种没壳的我们直接把修改的数据保存成新EXE文件即可。
保存成新文件,双击直接运行了。就没有那烦人的提示框了。
第二种方法是对API下断,同样可以到达我们的关键位置进行修改!

浙公网安备 33010602011771号