001_Acid_burn.exe
#爆破法
分析
(这段的图是借FREEBUF的)
程序是Delphi3.x.x写的,无壳
程序运行时会弹出一个NAG窗口,标题是”hello you have to kill me”;这个窗口是要去除的。
然后点击确定后进入程序的主窗口。
进去后发现有两个按钮,根据按钮上的字符串判断应该是需要输入序列号和名称的位置。
首先看下左边那个按钮,点击进去看下情况,发现有两个输入框,分别是输入用户名和序列号,然后点击Check it Baby,程序会进行校验,校验失败会弹出下面窗口,提醒你try again!
可以发现上面这个位置是一个需要破解的点。
然后点击I give up按钮返回到程序的主界面,看下右边那个按钮的情况。
点击进去后发现有一个输入框,提醒你输入序列号,然后点击Check it Baby,程序会进行校验,校验失败会弹出下面窗口,提醒你Failed!
记录下这个位置也是一个需要破解的点。
综上所述,我们可以看到这个程序有三个点需要破解:
1,程序主界面之前的一个NAG窗口
2,Serial/Name校验页面
3,Serial校验页面
NAG窗口去除
直接F8,在0042FD97call弹窗,于是在此F2,重新运行,在断点处F7进入,继续F8
在00429FC2处再次弹窗,于是再次下断点并从这里进入
在0042563D处再次弹窗
这里可以看到有个je跳转,我们只要强行跳转就可以去除弹窗了
Serial/Name窗口破解
在name和serial输入框随意输入一个字符串和序列号时,此时点击Check it Baby,会弹出try again窗口,内容是sorry,the serial is incorect。
于是我们搜索字符串
这里一个是Serial的提示,一个是Serial/Name的提示,通过试验找到Serial/Name的提示语句位置如下
0042FB03处的jnz直接跳到jmp下面,也就是说将会提示错误,所以我们只需要nop掉jnz即可
Serial窗口破解
和Serial/Name的结构是一样的,直接nop即可