網路填表終結者破解分析

看雪資料發表於2003-06-17

軟體名稱:
 網路填表終結者
 
軟體簡介:
 網上智慧填表軟體,幫助你快速填寫網上各種表格,與IE緊密結合,所有填表操作透過IE右鍵實現,
填表時無需執行軟體,有3大功能:1、智慧填表:由程式自動幫你填寫表格,只要點選IE右鍵選單即可完成表格
的填寫;2、網頁快照:對於需要反覆填寫相同內容的表格,可以用快照功能把第一次填寫的內容克隆下來,
以後透過IE右鍵恢復表格內容; 3、填表幫手:把輸入資訊新增到網頁輸入框的右鍵選單中,在輸入框中點選
右鍵選單即可輸入相應資訊.
 
下載地址:
 http://www.onlinedown.net/soft/8912.htm
------------------------------------------------------------
 
破解作者:
 冷楓[OCN][CTR]
 
破解工具:
 w32Dasm OLLYDBG
 
破解目的:
 學習~~~
 
------------------------------------------------------------
 
[破解過程]
使用者輸入:冷楓
假註冊碼:52225229
 
詳細過程:
004ACA52  |. 55             PUSH EBP
004ACA53  |. 68 25CD4A00    PUSH 1.004ACD25
004ACA58  |. 64:FF30        PUSH DWORD PTR FS:[EAX]
004ACA5B  |. 64:8920        MOV DWORD PTR FS:[EAX],ESP
004ACA5E  |. 8D55 FC        LEA EDX,DWORD PTR SS:[EBP-4]
004ACA61  |. 8B83 F4020000  MOV EAX,DWORD PTR DS:[EBX+2F4]
004ACA67  |. E8 BC40F9FF    CALL 1.00440B28  
  ↑__//取使用者名稱的位數~~~~~
004ACA6C  |. 837  FC 00     CMP DWORD PTR SS:[EBP-4],0
 ↑__//比較是否輸入~~ eax=4   輸入跳走去,不輸入彈出提示~~~~~
004A70  |. 75 29          JNZ SHORT 1.004ACA9B  
004ACA72  |. 68 30100000    PUSH 1030                                
004ACA77  |. 68 34CD4A00    PUSH 1.004ACD34                          
004ACA7C  |. 68 3CCD4A00    PUSH 1.004ACD3C                          
004ACA81  |. 6A 00          PUSH 0                                  
004ACA83  |. E8 B0ABF5FF    CALL <JMP.&user32.MessageBoxA>          
004ACA88  |. 8B83 F4020000  MOV EAX,DWORD PTR DS:[EBX+2F4]
004ACA8E  |. 8B10           MOV EDX,DWORD PTR DS:[EAX]
004ACA90  |. FF92 C0000000  CALL DWORD PTR DS:[EDX+C0]
004ACA96  |. E9 3A020000    JMP 1.004ACCD5
 ↓--從上面到這,來比較註冊碼位數
004ACA9B  |> 8D55 F8        LEA EDX,DWORD PTR SS:[EBP-8]
004ACA9E  |. 8B83 F8020000  MOV EAX,DWORD PTR DS:[EBX+2F8]
004ACAA4  |. E8 7F40F9FF    CALL 1.00440B28 
 ↑__// 取註冊碼的位數~~~~~
004ACAA9  |. 837D F8 00     CMP DWORD PTR SS:[EBP-8],0
 ↑__//比較是否輸入~~ eax=4   輸入跳走去,不輸入彈出提示~~
004ACAAD  |. 75 29          JNZ SHORT 1.004ACAD8
004ACAAF  |. 68 30100000    PUSH 1030                              
004ACAB4  |. 68 34CD4A00    PUSH 1.004ACD34                          
004ACAB9  |. 68 4CCD4A00    PUSH 1.004ACD4C                        
004ACABE  |. 6A 00          PUSH 0                                  
004ACAC0  |. E8 73ABF5FF    CALL <JMP.&user32.MessageBoxA>          
004ACAC5  |. 8B83 F8020000  MOV EAX,DWORD PTR DS:[EBX+2F8]
004ACACB  |. 8B10           MOV EDX,DWORD PTR DS:[EAX]
004ACACD  |. FF92 C0000000  CALL DWORD PTR DS:[EDX+C0]
004ACAD3  |. E9 FD010000    JMP 1.004ACCD5
 ↓--從上面到這,哈哈,終於來到要點了~~~睜大眼球哦
004ACAD8  |> 8D45 F0        LEA EAX,DWORD PTR SS:[EBP-10]
004ACADB  |. 50             PUSH EAX
004ACADC  |. 8D55 EC        LEA EDX,DWORD PTR SS:[EBP-14]
004ACADF  |. 8B83 FC020000  MOV EAX,DWORD PTR DS:[EBX+2FC]
004ACAE5  |. E8 3E40F9FF    CALL 1.00440B28
 ↑__//取機器碼位數 0A  [我的機器碼 1439138432]
004ACAEA  |. 8B45 EC        MOV EAX,DWORD PTR SS:[EBP-14]
 ↑__// 將機器碼1439138432移到---eax
004ACAED  |. B9 08000000    MOV ECX,8
 ↑__//將8移到ecx
[從後面跟蹤發現,是取機器碼前8位,有時跟不懂,慢慢跟幾次就會好了]
004ACAF2  |. BA 01000000    MOV EDX,1
 ↑__//將8移到edx  應該是從機器碼第一位開始取吧~~
004ACAF7  |. E8 1C81F5FF    CALL 1.00404C18
 ↑__//取機器碼前8位到14391384----eax
004ACAFC  |. 8B45 F0        MOV EAX,DWORD PTR SS:[EBP-10]
004ACAFF  |. E8 44C4F5FF    CALL 1.00408F48
 ↑__//將機器碼前8位的16進位制[DB9858]到eax
004ACB04  |. 8BF0           MOV ESI,EAX
 ↑__// 將eax16進位制[DB9858]到esi
004ACB06  |. 8D55 E8        LEA EDX,DWORD PTR SS:[EBP-18]
004ACB09  |. 8B83 F4020000  MOV EAX,DWORD PTR DS:[EBX+2F4]
004ACB0F  |. E8 1440F9FF    CALL 1.00440B28
 ↑__//取使用者的位數 [4]
004ACB14  |. 8B45 E8        MOV EAX,DWORD PTR SS:[EBP-18]
004ACB17  |. E8 A47EF5FF    CALL 1.004049C0
004ACB1C  |. 0FAFF0         IMUL ESI,EAX
 ↑__//用機器碼前8位16進位制乘使用者位數=DB9858*4=36e6160
004ACB1F  |. 8BC6           MOV EAX,ESI
 ↑__// 36e6160 --->eax
004ACB21  |. 05 41C20B00    ADD EAX,0BC241
 ↑__// eax [36e6160 ] ADD 0BC241= 37A23A1  --->真正註冊碼
004ACB26  |. 8D4D F4        LEA ECX,DWORD PTR SS:[EBP-C]
004ACB29  |. 33D2           XOR EDX,EDX
004ACB2B  |. E8 DCC3F5FF    CALL 1.00408F0C
004ACB30  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
004ACB33  |. 50             PUSH EAX
004ACB34  |. 8D55 E4        LEA EDX,DWORD PTR SS:[EBP-1C]
 ↑__//將真註冊碼到eax  [37A23A1]
004ACB37  |. 8B83 F8020000  MOV EAX,DWORD PTR DS:[EBX+2F8]
004ACB3D  |. E8 E63FF9FF    CALL 1.00440B28
004ACB42  |. 8B55 E4        MOV EDX,DWORD PTR SS:[EBP-1C]
 ↑__//我們輸入的註冊碼  [52225229]
004ACB45  |. 58             POP EAX
004ACB46  |. E8 B97FF5FF    CALL 1.00404B04  
 ↑__//比較真假註冊碼的地方
004ACB4B  |. 0F85 60010000  JNZ 1.004ACCB1
 ↑__//關鍵跳轉,不跳則OK,跳則OVER


最後得:
冷楓
37A23A1
 
破解小結:
 演算法總結:
取機器碼前8位,和使用者位數,然後用前8位16進位制和使用者位數相乘,再ADD  0BC241 就得註冊碼。
 
------------------------------------------------------------
 
相信自己,哦哦哦哦~~~~~~~~~~~~~~


相關文章