工具:
Ollydbg(OD) 中文版
运行:
我们拿到一个小程序时,总要看看它到底有什么功能,或者说它阻碍了我们什么,也就是寻找突破口!
这就是程序运行后的主界面
我们进入Serial/Name后,随便输入一些数字,点击Check it Baby!会出现Try Again!
Sorry,The serial isincorect!
进入Serial后随便输入数字,点击Check it Baby!,会出现Try Again!
根据出现的提示,我们很明白它要我们做什么了,用OD把程序载入,用搜索 ASCLL的方式找到关键部位。
接下来我们开始爆破程序:
双击Congratz!,来到第一个关键部位,0042F4D5 /75 1A jnz XAcid_bur.0042F4F1,这是一个关键跳转,如果它实现将会直接跳过Congratz!直接跳到Failed!.当然这不是我们希望看到的,现在我们直接将jnz XAcid_bur.0042F4F1 用nop填充。
同样我们来到第二个关键部位,0042FA57 83F8 04 cmp eax,0x4,经检测这应该是检测输入的名称的长度如果大于4才能进行进一步的检测,所以我们直接把它改为 cmp eax,0,这样它就不能我们限制我们输的名称长度了。
同样,来到第三个关键部位0042FB03 /75 1A jnz XAcid_bur.0042FB1F
我们依旧把jnz XAcid_bur.0042FB1F直接nop掉,不让它跳转。
最后我们很重要的一步,我们保存所有修改!
检测一下我们爆破后的程序