vipcrack 发表于 2014-12-17 06:50

160个CrackMe[80 fireworx.12]算法分析+注册机源码

160个CrackMe算法分析+注册机源码

学习算法分析+Delphi内联汇编注册机源码


004417F7    8B45 F8         mov eax,dword ptr ss:         ; 堆栈 ss:=00947B68, (ASCII "253282")这个是程序启动时候生成的随机数
004417FA    E8 C55EFCFF   call fireworx.004076C4
004417FF    8BC8            mov ecx,eax                              ; 转换成16进制eax=0003DD62
00441801    8BC1            mov eax,ecx
00441803    B9 8C070000   mov ecx,0x78C                            ; ECX=078C
00441808    99            cdq
00441809    F7F9            idiv ecx                                 ; 除以0x78C
0044180B    69C0 99030000   imul eax,eax,0x399                     ; 得到的商EAX=83*0x399
00441811    C1E0 11         shl eax,0x11                           ; eax=0001D74B 左移0x11位
00441814    C1E8 09         shr eax,0x9                              ; eax=AE960000然后右移0x9位
00441817    B9 0C000000   mov ecx,0xC                              ; ECX=0xC
0044181C    99            cdq
0044181D    F7F9            idiv ecx                                 ; EAX=00574B00除以0xC
0044181F    8BF0            mov esi,eax                              ; 得到的商EAX=eax=00074640
00441821    8D55 FC         lea edx,dword ptr ss:
00441824    8BC6            mov eax,esi
00441826    E8 695EFCFF   call fireworx.00407694
0044182B    8D55 F8         lea edx,dword ptr ss:
0044182E    8B83 C4020000   mov eax,dword ptr ds:         ; ds:=009449EC
00441834    E8 471AFEFF   call fireworx.00423280
00441839    8B45 F8         mov eax,dword ptr ss:         ; 输入的假码(ASCII "abc")
0044183C    8B55 FC         mov edx,dword ptr ss:         ; 74640转换为10进制的结果(ASCII "476736")
0044183F    E8 5C23FCFF   call fireworx.00403BA0                   ; 比较是否相等


注册机源码

procedure TForm1.Button1Click(Sender: TObject);
var
a:integer;
begin
a:=strtoint(Edit1.Text);
asm
    pushad
    mov eax,a
    mov ecx,$78c
    cdq
    idiv ecx
    imul eax,eax,$399
    shl eax,$11
    shr eax,$9
    mov ecx,$c
    cdq
    idiv ecx
    mov &a,eax
    popad
end;
Edit2.text:=inttostr(a);
end;




Scar-疤痕 发表于 2014-12-17 12:12

谢谢楼主分享!

520Kelly 发表于 2014-12-17 12:44

我发现这一篇的算法居然又跟除法扯上了关系,唉

别管我了行 发表于 2022-2-24 04:02

军工强国 发表于 2022-2-24 21:33

感谢楼主分享新技能!努力学习ing!

我是好人 发表于 2022-2-24 21:54

[快捷回复]-学破解防逆向,知进攻懂防守!

yexing 发表于 2022-9-24 20:26

大神真是太牛了

风里去 发表于 2022-9-26 18:54

感谢楼主分享

曾经沧海 发表于 2022-10-8 18:26

这个必须要收起来,非常实用

一生逍遥 发表于 2022-11-30 06:59

真厉害,大佬,我学到了
页: [1] 2
查看完整版本: 160个CrackMe[80 fireworx.12]算法分析+注册机源码