我刚开始学破解,很多东西都还不知道,希望各位高手多多指导~
我在破一个crackme的时候,爆破成功,可找不到它的算法,望大家教教我,谢谢
首先,我用W32dsm找"Bad Serial, Sorry!""来到这里,
|:00401135(C) ;然后双击.
|
:00401154 6A30 push 00000030
* Possible StringData Ref from Data Obj ->"Crackme 1.0"
|
:00401156 6835304000 push 00403035
* Possible StringData Ref from Data Obj ->"Bad Serial, Sorry!"
|
:0040115B 6822304000 push 00403022
:00401160 FF3554304000 push dword ptr [00403054]
然后,到了
:004010C9 56 push esi
:004010CA 57 push edi
:004010CB 51 push ecx
:004010CC 33F6 xor esi, esi
:004010CE 33FF xor edi, edi
:004010D0 B908000000 mov ecx, 00000008
:004010D5 BE44304000 mov esi, 00403044
:004010DA 803632 xor byte ptr [esi], 32
:004010DD 46 inc esi
:004010DE E2FA loop 004010DA
:004010E0 BE44304000 mov esi, 00403044
:004010E5 B904000000 mov ecx, 00000004
:004010EA 8A06 mov al, byte ptr [esi]
:004010EC 8A5E01 mov bl, byte ptr [esi+01]
:004010EF 32C3 xor al, bl
:004010F1 88874C304000 mov byte ptr [edi+0040304C], al
:004010F7 83C602 add esi, 00000002
:004010FA 47 inc edi
:004010FB E2ED loop 004010EA
:004010FD BE4C304000 mov esi, 0040304C
:00401102 8A06 mov al, byte ptr [esi]
:00401104 8A5E01 mov bl, byte ptr [esi+01]
:00401107 32C3 xor al, bl
:00401109 8A5E02 mov bl, byte ptr [esi+02]
:0040110C 8A4E03 mov cl, byte ptr [esi+03]
:0040110F 32D9 xor bl, cl
:00401111 32C3 xor al, bl
:00401113 B908000000 mov ecx, 00000008
:00401118 BE44304000 mov esi, 00403044
:0040111D 3006 xor byte ptr [esi], al
:0040111F 46 inc esi
:00401120 E2FB loop 0040111D
:00401122 B908000000 mov ecx, 00000008
:00401127 BE44304000 mov esi, 00403044
* Possible StringData Ref from Data Obj ->"qYyBELGood Work Cracker"
|
:0040112C BF08304000 mov edi, 00403008
:00401131 8A06 mov al, byte ptr [esi]
:00401133 3A07 cmp al, byte ptr [edi]
:00401135 751D jne 00401154 ;关键跳
:00401137 46 inc esi
:00401138 47 inc edi
:00401139 E2F6 loop 00401131
:0040113B 6A40 push 00000040
由于水平有限,其他地方就没有注释了,见谅~~
请大家帮我看看算法~谢谢
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课