新CrackMe160之045 - CrackMe

Delphi2的程序,太老了,只有Delphi Decompiler可以反编译,dede与IDR无法反编译成功, 反编译查看到按键事件入口00425040, 查看代码大概分析算法在00425088 call 004251A0这行,因为下面就有个比较关键跳0042508F cmp edi, esi 其中esi就是系列号,需要转整形,说明是纯数字, edi肯定就是通过用户名计算出来的数值了,看具体算法代码:

004251A0   53                     push    ebx
004251A1   89C3                   mov     ebx, eax      ; 用户名
004251A3   83FB00                 cmp     ebx, +$00
004251A6   7413                   jz      004251BB
004251A8   B801000000             mov     eax, $00000001
004251AD   31C9                   xor     ecx, ecx      ; ecx = 0
004251AF   8A0B                   mov     cl, byte ptr [ebx]    ; 取一位用户名
004251B1   80F900                 cmp     cl, $00     ; 是否最后一位了
004251B4   7405                   jz      004251BB
004251B6   F7E1                   mul     ecx       ; eax *= ecx
004251B8   43                     inc     ebx     ; 下一位
004251B9   EBF4                   jmp     004251AF
004251BB   25FFFFFF0F             and     eax, $0FFFFFFF      ; 保留后7位
004251C0   5B                     pop     ebx
004251C1   C3                     ret

是不是太简单了, OD都不需要上

code = user[0] * user[1} * user[2] ...
code &= 0x0FFFFFFF
就搞定了

示例:
用户名: abc
系列号: (97 * 98 * 99) & 0x0FFFFFFF = 941094

用户名: a
系列号: 97

用户名: 0
系列号: 48

 
 
本节高手录制的视频,点击前往查看

 
 
 

使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-12-19 13:45  hankerstudio  阅读(4)  评论(0)    收藏  举报