很對不起,因為出了兩天差。動態找出winhex的註冊碼.請進...... (2千字)

看雪資料發表於2001-07-23

我以winhex9.9為例.請使用TRW,因為要用suspend.

啟動winhex前,偽造user.txt。要留意偽造的user.txt的格式,User: ADDR1: ADDR2: 英文、中文可任意輸入.但是,code1、code2的數必須是0-f且必須有32個.code1的第21到24位數,假設它為A(1)A(2)A(3)A(4),那麼A(3)A(4)A(1)A(2)應小於0370,或者大於03A2.

打bpx 417dbd
啟動winhex,開啟記憶體修改,存檔.中斷在下面:

:00417DBD B9BC060000              mov ecx, 000006BC
:00417DC2 8B1578ED4500            mov edx, dword ptr [0045ED78]
:00417DC8 E823D3FEFF              call 004050F0
:00417DCD E826FEFFFF              call 00417BF8              <---進入
:00417DD2 BAB8654600              mov edx, 004665B8
:00417DD7 8D442428                lea eax, dword ptr [esp+28]

* Possible Ref to Menu: MenuID_0001, Item: "Sicherung laden..."
                                  |
:00417DDB B910000000              mov ecx, 00000010



進入417dcd: call 417bf8中:

:00417D27 E8CCDCFEFF              call 004059F8
:00417D2C 8BD8                    mov ebx, eax
:00417D2E 6A00                    push 00000000
:00417D30 BAB8654600              mov edx, 004665B8
:00417D35 8BC3                    mov eax, ebx

* Possible Ref to Menu: MenuID_0001, Item: "Sicherung laden..."
                                  |
:00417D37 B910000000              mov ecx, 00000010
:00417D3C E8A3DDFEFF              call 00405AE4        <----進入

* Possible Ref to Menu: MenuID_0001, Item: "Hex-Werte  Strg+Shift+C"
                                  |
:00417D41 BA2C000000              mov edx, 0000002C
:00417D46 8BC3                    mov eax, ebx


進入417d3c:call 405ae4中:

:00405B2A 8B45FC                  mov eax, dword ptr [ebp-04]
:00405B2D E8AAFDFFFF              call 004058DC
:00405B32 0FB7C8                  movzx ecx, ax
:00405B35 C1E908                  shr ecx, 08
:00405B38 24FF                    and al, FF
:00405B3A 32C8                    xor cl, al
:00405B3C 8B45F8                  mov eax, dword ptr [ebp-08]
:00405B3F 03C6                    add eax, esi
:00405B41 3208                    xor cl, byte ptr [eax]      <---此處打bpx,每次停在這裡,cl中的資料和下面的一組16個位元組資料依次xor後,存入[eax]中,這個數一定要記下來,最後記下來的一組16個位元組數即為code2.
既:cl xor 5b == ? ,將?存入[eax]中,同時記下?,這是code2的第一個資料,
第二次中斷在這裡,將cl與0e xor,結果存入[eax],並記下,此為code2的第二個資料,依此類推.一共中斷16次,得到16個資料,既為code2。

<< 這一組16個位元組資料如下:

5b 0e 44 2c 80 f2 0c d3 b4 ad 22 97 da ce 3f 6d  >>



  這樣找到的註冊碼適用winhex9.74到9.92.

winhex的加密做的真的很好,連\\.\SICE字串也加了密.


user.txt如下,它適合winhex9.74到9.92的任何版本:

User: yourname
Addr1: aaaa
Addr2: aa
Code1: 0123456789abcdef0123456789abcdef
Code2: 9b8be3627af62ab02fb7c4b793766410

 

User: 中國四川
Addr1: 看雪論壇
Addr2: 看雪學院
Code1: 88888888888888888888888888888888
Code2: 93e853c64441aeaf93c4b1c805b90ca9

相關文章