查看單個文章
舊 2003-12-12, 01:09 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 一篇初級破解程序,很久沒有動手了,大家不要笑我鈍啊!

Nview, Nconvert & View2 v3.85
XnView v1.45
GFL SDK v1.85

註冊名owerboy
註冊碼:1720700947
註冊碼儲存在:HKEY_CURRENT_USER\Software\XnView
我的同學買了一張盜版的盤中代的一個類似ACDSEE的看圖軟體,算法很普通不過由於很久沒有動手破解軟體了,就貼一篇吧!
Download : http://perso.wanadoo.fr/pierre.g/download

0167:00452DAD 51 PUSH ECX
0167:00452DAE 68D1070000 PUSH 000007D1
0167:00452DB3 56 PUSH ESI
0167:00452DB4 FFD7 CALL EDI
0167:00452DB6 8A442470 MOV AL,[ESP+70]
0167:00452DBA 84C0 TEST AL,AL
0167:00452DBC 0F843A010000 JZ 00452EFC
0167:00452DC2 8A442410 MOV AL,[ESP+10]
0167:00452DC6 84C0 TEST AL,AL
0167:00452DC8 0F842E010000 JZ 00452EFC
0167:00452DCE 8D542408 LEA EDX,[ESP+08]
0167:00452DD2 8D442470 LEA EAX,[ESP+70]
0167:00452DD6 52 PUSH EDX
0167:00452DD7 50 PUSH EAX
0167:00452DD8 E8633BFBFF CALL 00406940------------>算法CALL
0167:00452DDD 8D4C2418 LEA ECX,[ESP+18]
0167:00452DE1 51 PUSH ECX
0167:00452DE2 E8E44F0000 CALL 00457DCB------------>將輸入的SN變成十六進位
0167:00452DE7 8B4C2414 MOV ECX,[ESP+14]-------->正確的註冊碼
0167:00452DEB 83C40C ADD ESP,0C
0167:00452DEE 3BC8 CMP ECX,EAX------------->輸入SN的十六與註冊碼比較
0167:00452DF0 745D JZ 00452E4F
0167:00452DF2 A16CA95600 MOV EAX,[0056A96C]
0167:00452DF7 8D542430 LEA EDX,[ESP+30]
0167:00452DFB 6A40 PUSH 40
0167:00452DFD 52 PUSH EDX
0167:00452DFE 6893130000 PUSH 00001393
0167:00452E03 50 PUSH EAX
0167:00452E04 FF153C555100 CALL [USER32!LoadStringA]
0167:00452E0A 6A10 PUSH 10
0167:00452E0C 8D4C2434 LEA ECX,[ESP+34]
0167:00452E10 68187A5600 PUSH 00567A18
0167:00452E15 51 PUSH ECX
0167:00452E16 56 PUSH ESI
0167:00452E17 FF15C4545100 CALL [USER32!MessageBoxA]
0167:00452E1D 68D0070000 PUSH 000007D0
0167:00452E22 56 PUSH ESI
0167:00452E23 FF1550555100 CALL [USER32!GetDlgItem]
0167:00452E29 50 PUSH EAX
0167:00452E2A FF15B4545100 CALL [USER32!SetFocus]
0167:00452E30 68187A5600 PUSH 00567A18
0167:00452E35 68D1070000 PUSH 000007D1
0167:00452E3A 56 PUSH ESI
0167:00452E3B FF1540555100 CALL [USER32!SetDlgItemTextA]
0167:00452E41 5F POP EDI
0167:00452E42 B801000000 MOV EAX,00000001
0167:00452E47 5E POP ESI
0167:00452E48 81C468010000 ADD ESP,00000168

========================================================================
0167:00406945 55 PUSH EBP
0167:00406946 56 PUSH ESI
0167:00406947 57 PUSH EDI
0167:00406948 8BFA MOV EDI,EDX
0167:0040694A 83C9FF OR ECX,-01
0167:0040694D 33C0 XOR EAX,EAX
0167:0040694F F2AE REPNZ SCASB
0167:00406951 F7D1 NOT ECX
0167:00406953 49 DEC ECX
0167:00406954 BEA0BC5400 MOV ESI,0054BCA0
0167:00406959 8BE9 MOV EBP,ECX
0167:0040695B B905000000 MOV ECX,00000005
0167:00406960 BF047A5600 MOV EDI,00567A04
0167:00406965 F3A5 REPZ MOVSD
0167:00406967 8BF0 MOV ESI,EAX
0167:00406969 7421 JZ 0040698C

表1:0054BCA0 AA 89 C4 FE 46 78 F0 D0-03 E7 F7 FD F4 E7 B9 B5 ....Fx..........

0167:0040696B 8A0C16 MOV CL,[EDX+ESI]
0167:0040696E 8AD9 MOV BL,CL
0167:00406970 3298047A5600 XOR BL,[EAX+00567A04]
0167:00406976 40 INC EAX
0167:00406977 83F805 CMP EAX,05
0167:0040697A 881C16 MOV [EDX+ESI],BL
0167:0040697D 8888037A5600 MOV [EAX+00567A03],CL
0167:00406983 7502 JNZ 00406987
0167:00406985 33C0 XOR EAX,EAX
0167:00406987 46 INC ESI
0167:00406988 3BF5 CMP ESI,EBP
0167:0040698A 72DF JB 0040696B
0167:0040698C 33FF XOR EDI,EDI
0167:0040698E 33C9 XOR ECX,ECX
0167:00406990 85ED TEST EBP,EBP
0167:00406992 7626 JBE 004069BA

表2:00567A09 78 F0 D0 03 E7 F7 FD F4-E7 B9 B5 1B C9 50 73 00 x............Ps.

0167:00406994 8A9F097A5600 MOV BL,[EDI+00567A09]
0167:0040699A 8BF5 MOV ESI,EBP
0167:0040699C 2BF1 SUB ESI,ECX
0167:0040699E 4E DEC ESI
0167:0040699F 8A0416 MOV AL,[EDX+ESI]
0167:004069A2 32D8 XOR BL,AL
0167:004069A4 47 INC EDI
0167:004069A5 881C16 MOV [EDX+ESI],BL
0167:004069A8 8887087A5600 MOV [EDI+00567A08],AL
0167:004069AE 83FF05 CMP EDI,05
0167:004069B1 7502 JNZ 004069B5
0167:004069B3 33FF XOR EDI,EDI
0167:004069B5 41 INC ECX
0167:004069B6 3BCD CMP ECX,EBP
0167:004069B8 72DA JB 00406994
0167:004069BA 33F6 XOR ESI,ESI
0167:004069BC 33FF XOR EDI,EDI
0167:004069BE 85ED TEST EBP,EBP
0167:004069C0 7621 JBE 004069E3

表3:00567A0E F7 FD F4 E7 B9 B5 1B C9-50 73 00 00 00 00 00 00 ........Ps......

0167:004069C2 8A0417 MOV AL,[EDX+EDI]
0167:004069C5 8A8E0E7A5600 MOV CL,[ESI+00567A0E]
0167:004069CB 32C8 XOR CL,AL
0167:004069CD 46 INC ESI
0167:004069CE 880C17 MOV [EDX+EDI],CL
0167:004069D1 88860D7A5600 MOV [ESI+00567A0D],AL
0167:004069D7 83FE05 CMP ESI,05
0167:004069DA 7502 JNZ 004069DE
0167:004069DC 33F6 XOR ESI,ESI
0167:004069DE 47 INC EDI
0167:004069DF 3BFD CMP EDI,EBP
0167:004069E1 72DF JB 004069C2
0167:004069E3 33FF XOR EDI,EDI
0167:004069E5 33C9 XOR ECX,ECX
0167:004069E7 85ED TEST EBP,EBP
0167:004069E9 7626 JBE 00406A11

表4:00567A13 B5 1B C9 50 73 00 00 00-00 00 00 00 00 06 00 00 ...Ps...........

0167:004069EB 8A9F137A5600 MOV BL,[EDI+00567A13]
0167:004069F1 8BF5 MOV ESI,EBP
0167:004069F3 2BF1 SUB ESI,ECX
0167:004069F5 4E DEC ESI
0167:004069F6 8A0416 MOV AL,[EDX+ESI]
0167:004069F9 32D8 XOR BL,AL
0167:004069FB 47 INC EDI
0167:004069FC 881C16 MOV [EDX+ESI],BL
0167:004069FF 8887127A5600 MOV [EDI+00567A12],AL
0167:00406A05 83FF05 CMP EDI,05
0167:00406A08 7502 JNZ 00406A0C
0167:00406A0A 33FF XOR EDI,EDI
0167:00406A0C 41 INC ECX
0167:00406A0D 3BCD CMP ECX,EBP
0167:00406A0F 72DA JB 004069EB
作最後的處理:
0167:00406A11 8B7C2418 MOV EDI,[ESP+18]
0167:00406A15 33C0 XOR EAX,EAX
0167:00406A17 85ED TEST EBP,EBP
0167:00406A19 C70700000000 MOV DWORD PTR [EDI],00000000-->清理記憶體區域
0167:00406A1F 7617 JBE 00406A38
0167:00406A21 8BC8 MOV ECX,EAX
0167:00406A23 83E103 AND ECX,03
0167:00406A26 8A1C39 MOV BL,[EDI+ECX]
0167:00406A29 8D3439 LEA ESI,[EDI+ECX]
0167:00406A2C 8A0C10 MOV CL,[EDX+EAX]
0167:00406A2F 02D9 ADD BL,CL
0167:00406A31 40 INC EAX
0167:00406A32 3BC5 CMP EAX,EBP
0167:00406A34 881E MOV [ESI],BL
0167:00406A36 72E9 JB 00406A21
0167:00406A38 5F POP EDI
0167:00406A39 5E POP ESI
0167:00406A3A 5D POP EBP
0167:00406A3B 5B POP EBX
0167:00406A3C C3 RET
---------------------------------------------------------------
算法整理:
表1:AA 89 C4 FE 46 ; 表2:78 F0 D0 03 E7 ; 表3:F7 FD F4 E7 B9 ; 表4:B5 1B C9 50 73;
步驟1:
powerboy:=70 6F 77 65 72 62 6F 79 XOR 表1(但當用戶名大於5位時就用NAME[1] XOR NAME[6]以此類推)
70 XOR AA=DA
6F XOR 89=E6
77 XOR C4=B3
65 XOR FE=9B
72 XOR 46=34
62 XOR 70=12
6F XOR 6F=00
79 XOR 77=0E
X1:=DA E6 B3 9B 34 12 00 0E
步驟2:
翻轉X1 並XOR 表2但當X1大於5位時就用X1[1] XOR X1[6]以此類推)
0E XOR 78=76
00 XOR F0=F0
12 XOR D0=C2
34 XOR 03=37
9B XOR E7=7C
B3 XOR 0E=BD
E6 XOR 00=E6
DA XOR 12=C8
X2:=76 F0 C2 37 7C BD E6 C8
步驟3:
翻轉X2 並XOR 表3但當X1大於5位時就用X2[1] XOR X2[6]以此類推)
C8 XOR F7=3F
E6 XOR FD=1B
BD XOR F4=49
7C XOR E7=9B
37 XOR B9=8E
C2 XOR C8=0A
F0 XOR E6=16
76 XOR BD=CB
X3:=3F 1B 49 9B 8E 0A 16 CB
步驟4:
翻轉X3 並XOR 表4但當X1大於5位時就用X3[1] XOR X3[6]以此類推)
CB XOR B5=7E
16 XOR 1B=0D
0A XOR C9=C3
8E XOR 50=DE
9B XOR 73=E8
49 XOR CB=82
1B XOR 16=0D
3F XOR 0A=35
X4:=7E 0D C3 DE E8 82 0D 35
步驟5:
35 ADD 00=35
0D ADD 00=0D
82 ADD 00=82
E8 ADD 00=E8
DE ADD 35=113-->13
C3 ADD 0D=D0
0D ADD 82=8F
7E ADD E8=166-->66

X5:=13 D0 8F 66

668FD013--->變成十進制1720700947
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次