使用OD简单爆破pcsurgeon
运行程序,关闭弹窗后主窗口出现。
推测 <unregistered 可能是主窗口的独有文字
打开文本字串参考查找,找到两处,
显然是同一个地方。双击进入函数位置,发现上面有个jnz,推测是弹窗跳转,先下个断点再说。继续往上找程序入口,一般把ebp放入栈中处即为函数的入口点。
(这里55 push ebp为入口是因为规定0x55对应push ebp,保存上一个函数的栈底指针以便退出内层函数的时候可以恢复调用者的调用栈,属于cpu指令。上面一行的033C0 xor eax,eax同理)
在入口点下一个断点,重新运行程序至断点,无弹窗。
此时jnz显示跳转未实现
修改z使其跳转实现,F8,成功跳过弹窗进入主程序且不再显示未注册
但about处依然显示未注册,故技重施找到代表性字符串
,双击进入它在代码中的位置,下一个断点。向上观察,发现jnz的跳转位置正好跳过了此处,再向上找到程序的入口,在这两处也下上断点。
重新加载程序,改完上面jnz进入主程序,点击help,程序果然停在了刚才下断点的入口处
,此时下面的jnz断点跳转是未实现的,修改z继续走,about窗口出现,成功
。
但是加壳软件是无法查询字符串的,因此这种简单爆破的思路并不泛用。

浙公网安备 33010602011771号