首页 > 代码库 > 14.6.13 爆破Acid_burn

14.6.13 爆破Acid_burn

Broland Delphi 3.0.

Serial + Name 验证和 Serial 验证.

程序使用的是MessageBox, 所以 bp MessageBoxA. (ShowMessage不可以)

  • Serial + Name 验证

    随便输入:

    标准的错误提示是:

    程序停在MessageBoxA的地址,

    来自0x0042A1A9的跳转, 转到这个地址.

    这里上面应该压入了错误提示.

    往上走找到这个子程序的第一句, 0x42A170下断.

    再次输入Serial Name.

    程序停在0x42A170.

    看堆栈.

    跳转来自0x 0042FA74 , 转到该地址.

    地址附近有不一样的提示. Congratz…作者是打错了吗..不过看到Good Job总没错.

    找到这个子程序的第一句下断, 0x0042F998.

    再次输入Serial Name.

    程序停下来后开始用F8单步步过.

    由于本来就打算爆破, 所以非比较和跳转的地方可以快速跳过.

    直到 0x0042FA57 CMP EAX, 4

    跳转在这里不会执行, 而是直接向下, 下面是我们看到的错误提示.

    JGE 大于等于跳转, 带符号的. 修改标志位S, 跳转执行, 避开错误.

    继续F8, 直到0x42FB03.

    成功提示怎么可以错过! 修改标志位Z, 跳转失效,继续F8.

    于是乎爆破成功.

    JGE 改为 JMP, JNZ NOP , 保存, 就干掉了这个CrackMe(的一部分).

  • Serial

    和上面的完全没区别

    不费口舌了.

单从爆破的角度来看这个Crack Me 难度不大

算法且不分析, 火候没到.

2014.6.13 第一次自己独立爆破Cm.