本帖最后由 冥界3大法王 于 2022-8-26 21:54 编辑
大家 还记得上次修复IDR不能解析的问题吗?
今天发现的周润发贴的CrackME,竟然又出来个新提示:"Cannot open KnowledgeBase (may be incorrect Version)"
点击过后,又不能反汇编查看Delphi过程了。还是打开x32dbg吧。
定位到下面的代码:
[Asm] 纯文本查看 复制代码
00425536 | E8 055D0400 | call 强制去崩溃版idr.46B240 |
0042553B | 33C9 | xor ecx,ecx |
0042553D | 8AC8 | mov cl,al |
0042553F | 898D 04FFFFFF | mov dword ptr ss:[ebp-FC],ecx |
00425545 | 8B85 04FFFFFF | mov eax,dword ptr ss:[ebp-FC] |
0042554B | 85C0 | test eax,eax |
0042554D | 0F85 30010000 | jne 强制去崩溃版idr.425683 | ========>修改这里即可跳过!
00425553 | 8B15 C4C06D00 | mov edx,dword ptr ds:[6DC0C4] | 006DC0C4:"h餸"
00425559 | 8B02 | mov eax,dword ptr ds:[edx] |
0042555B | 33D2 | xor edx,edx |
0042555D | E8 166C1A00 | call 强制去崩溃版idr.5CC178 |
00425562 | 66:C785 2CFFFFFF | mov word ptr ss:[ebp-D4],C8 |
0042556B | 8D55 F4 | lea edx,dword ptr ss:[ebp-C] |
0042556E | 8D45 94 | lea eax,dword ptr ss:[ebp-6C] |
00425571 | E8 86DF2400 | call 强制去崩溃版idr.6734FC |
00425576 | 8BD0 | mov edx,eax |
00425578 | FF85 38FFFFFF | inc dword ptr ss:[ebp-C8] | [ebp-C8]:&"坛c"
0042557E | 33C0 | xor eax,eax |
00425580 | 8945 90 | mov dword ptr ss:[ebp-70],eax |
00425583 | 8D4D 90 | lea ecx,dword ptr ss:[ebp-70] |
00425586 | FF85 38FFFFFF | inc dword ptr ss:[ebp-C8] | [ebp-C8]:&"坛c"
0042558C | B8 5FCA6800 | mov eax,强制去崩溃版idr.68CA5F | 68CA5F:"Cannot open Knowledge Base file "
00425591 | E8 CEE72400 | call 强制去崩溃版idr.673D64 |
00425596 | 8D55 90 | lea edx,dword ptr ss:[ebp-70] |
00425599 | 52 | push edx |
0042559A | BA 80CA6800 | mov edx,强制去崩溃版idr.68CA80 | 68CA80:" (may be incorrect Version)"
大家可以对比下IDR和DEDE的区别,作为互补还是非常不错的选择。
用此可以自己制作 按钮事件。
当然了,如果会Delphi编程,根据目标程序猜测着写对应事件,反向修改成功还是可行的。
例如HelpAndManual8过期后文档的不可编辑状态,如果会了编程,那分分钟就能猜一个实现出来(查看过程的开始与结束点的地址),再抄机器码反向过去就直接开改了。
这样定位操作起来实在是太轻松了。
具体实现敬请关注法王连续剧续作。。。 |