零基础学软件逆向:只改一个字,教你去除软件上烦人的弹窗
很多软件在运行时可能会弹个提示框或弹个网站啥的有时候比较烦人。本篇就以一个启动就弹出提示框的样例和大家一起学习如何去除过掉这提示的方法。示例是零基础入门学逆向的第一篇中的一个程序。打开时就会有个提示框只有点了确定后才会显示主程序。本篇的目的就是分析如何去掉提示直接显示主程序。去除它两种方法1.用调试器载入被逆向的程序后F8单步一直走看它是在哪个位置调用了提示框。2.从提示框的风格来看大概是用了消息提示框的API如MessageBox去找关键位置打开OllyDBG载入程序它停在这里这是程序的入口。用exeinfope查壳软件也能看到入口地址。可以看到这是无壳的Delphi写的程序。我们按第一种方法直接F8单步走一遍看哪里出现提示框。F8到这个位置时直接弹出了这个对话框。这个CALL就是关键的位置。重新来过F7到这个函数里去看看。F7步入后在这个位置又出现了提示框。在这下断重新F9后继续F7进入。到这里又弹出来了。和上面一样的方法在这位置下断点后F9在F7进入。继续F7进入最里面发现这个CALL就是调用了提示框于是00425627.66:83B8 CE010cmp word ptr ds:[eax0x1CE],0x0 0042562F.7412je 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:[ebx0x1D0]0042563D.FF93 CC010000 call dword ptr ds:[ebx0x1CC]0042564333C0 xor eax,eax这里就是关键位置上面又刚好有个JE跳转。我们就直接改成JMP无条件跳转不让它弹窗是不是就去掉了提示框实践证明上面的修改是正确的。运行后主程序直接运行了。像这种没壳的我们直接把修改的数据保存成新EXE文件即可。保存成新文件双击直接运行了。就没有那烦人的提示框了。第二种方法是对API下断同样可以到达我们的关键位置进行修改