處女作,希望給各位初學者一些幫助^_^ 魔法轉換2.0 beta 1 破解 (7千字)
魔法轉換2.0 beta 1
註冊後會在win.ini上寫下注冊碼,以用於每次啟動效驗:
[magct]
name=pow
code=109F804632
……………………………………………………………………………………………
用typ3看它用了什麼殼,發現其使用了Aspack加殼,用unAspack脫之~
脫殼後用w32dsm89反編譯,查詢字串,發現又3條表明註冊成功。由於註冊碼錯誤後沒有提示,只好蒙著來啦。一條是“,恭喜你成功註冊!”一條是“我自豪,我已經註冊!”另一條是“以註冊!”從字面上看第一條可能性最大(可惜pow開始沒看到,繞了個大圈子)由於pow的馬虎,所以把其他兩條的功能也給瞭解了~第二條是註冊後顯示在“註冊”視窗上的,第三條是註冊後顯示在“關於”選單上的,可以透過下斷點驗證。
雙擊“,恭喜你成功註冊!”這個字串,顯示如下內容:
:00561245 837DFC00 cmp
dword ptr [ebp-04], 00000000 《---判斷是否有使用者明
:00561249 7518
jne 00561263
:0056124B 6A30
push 00000030
:0056124D 68B8135600 push 005613B8
* Possible StringData Ref from Code Obj ->"請輸入姓名!"
|
:00561252 68C0135600 push 005613C0
:00561257 6A00
push 00000000
* Reference To: user32.MessageBoxA, Ord:0000h
|
:00561259 E80269EAFF Call 00407B60
:0056125E E908010000 jmp 0056136B
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00561249(C)
|
:00561263 8D55F8
lea edx, dword ptr [ebp-08]
:00561266 8B83E8020000 mov eax, dword
ptr [ebx+000002E8]
:0056126C E8FB78EDFF call 00438B6C
:00561271 8B45F8
mov eax, dword ptr [ebp-08]
:00561274 50
push eax 《---假碼!
:00561275 8D55F0
lea edx, dword ptr [ebp-10]
:00561278 8B83E4020000 mov eax, dword
ptr [ebx+000002E4]
:0056127E E8E978EDFF call 00438B6C
:00561283 8B45F0
mov eax, dword ptr [ebp-10]
:00561286 8D55F4
lea edx, dword ptr [ebp-0C]
:00561289 E84E4CFFFF call 00555EDC
:0056128E 8B55F4
mov edx, dword ptr [ebp-0C] 《---真碼!
:00561291 58
pop eax
:00561292 E8052FEAFF call 0040419C
《---對比真假碼的call,關鍵!
:00561297 0F85CE000000 jne 0056136B
《---一條就死!
:0056129D 8D45EC
lea eax, dword ptr [ebp-14]
:005612A0 E8EF48FFFF call 00555B94
:005612A5 8D45EC
lea eax, dword ptr [ebp-14]
* Possible StringData Ref from Code Obj ->"\win.ini" 《---隱約感到註冊碼會放到win.ini中
|
:005612A8 BAD8135600 mov edx,
005613D8
:005612AD E8E22DEAFF call 00404094
:005612B2 8B4DEC
mov ecx, dword ptr [ebp-14]
:005612B5 B201
mov dl, 01
* Possible StringData Ref from Code Obj ->"<G"
|
:005612B7 A19C344700 mov eax,
dword ptr [0047349C]
:005612BC E82B23F1FF call 004735EC
:005612C1 A3E4675700 mov dword
ptr [005767E4], eax
:005612C6 8D55E8
lea edx, dword ptr [ebp-18]
:005612C9 8B83E4020000 mov eax, dword
ptr [ebx+000002E4]
:005612CF E89878EDFF call 00438B6C
:005612D4 8B45E8
mov eax, dword ptr [ebp-18]
:005612D7 50
push eax
* Possible StringData Ref from Code Obj ->"name"
|
:005612D8 B9EC135600 mov ecx,
005613EC
* Possible StringData Ref from Code Obj ->"magct"
|
:005612DD BAFC135600 mov edx,
005613FC
:005612E2 A1E4675700 mov eax,
dword ptr [005767E4]
:005612E7 8B30
mov esi, dword ptr [eax]
:005612E9 FF5604
call [esi+04]
:005612EC 8D55E4
lea edx, dword ptr [ebp-1C]
:005612EF 8B83E8020000 mov eax, dword
ptr [ebx+000002E8]
:005612F5 E87278EDFF call 00438B6C
:005612FA 8B45E4
mov eax, dword ptr [ebp-1C]
:005612FD 50
push eax
* Possible StringData Ref from Code Obj ->"code"
|
:005612FE B90C145600 mov ecx,
0056140C
* Possible StringData Ref from Code Obj ->"magct"
|
:00561303 BAFC135600 mov edx,
005613FC
:00561308 A1E4675700 mov eax,
dword ptr [005767E4]
:0056130D 8B30
mov esi, dword ptr [eax]
:0056130F FF5604
call [esi+04]
:00561312 A1E4675700 mov eax,
dword ptr [005767E4]
:00561317 E8781DEAFF call 00403094
* Possible StringData Ref from Code Obj ->"關閉"
|
:0056131C BA1C145600 mov edx,
0056141C
:00561321 8B83F4020000 mov eax, dword
ptr [ebx+000002F4]
:00561327 E87078EDFF call 00438B9C
:0056132C 33D2
xor edx, edx
:0056132E 8B83F0020000 mov eax, dword
ptr [ebx+000002F0]
:00561334 8B08
mov ecx, dword ptr [eax]
:00561336 FF515C
call [ecx+5C]
:00561339 6A40
push 00000040
* Possible StringData Ref from Code Obj ->"魔法轉換"
|
:0056133B 6824145600 push 00561424
:00561340 8D55E0
lea edx, dword ptr [ebp-20]
:00561343 8B83E4020000 mov eax, dword
ptr [ebx+000002E4]
:00561349 E81E78EDFF call 00438B6C
:0056134E 8D45E0
lea eax, dword ptr [ebp-20]
* Possible StringData Ref from Code Obj ->",恭喜你成功註冊!"
|
:00561351 BA38145600 mov edx,
00561438 《---雙擊後停在這裡
:00561356 E8392DEAFF call 00404094
:0056135B 8B45E0
mov eax, dword ptr [ebp-20]
:0056135E E8ED2EEAFF call 00404250
:00561363 50
push eax
:00561364 6A00
push 00000000
雙擊後看到註冊成功的call,於是向上看,發現:00561297處如果跳轉就會跳過註冊成功視窗,ok問題就在它,在看看上面,非常經典的判斷排列!ok!靜態分析基本結束,開始動手攔截吧!
進入trw2000,下斷點bpx 00561245,為什麼要在這裡下斷點?一是可以驗證關於使用者名稱的猜測,二是可以步步為營,不會落掉什麼重要的啟示。一步一步的執行,到00561249處如果你有興趣可以試試r
fl z,你可以看到果然上面這個那個比較是看有無註冊碼的^_^,在往下走,到00561274處下d eax可以看到你輸入的假註冊碼,在往下走,到0056128e就是把真的註冊碼放到edx中了,下d
edx即可看到真的註冊碼。到00561291你又可以看到假碼了。00561292這個call是關鍵,下麵條與不條都要看它的,跟進後可以看到真假註冊碼的對比(又一次可以看到真碼),把註冊碼抄下來就可以收工了^_^
可以看到在005612A8上面的那句,pow第一感覺就是它把註冊碼放到win.ini中,然後每次啟動都對比。這個軟體給我的感覺是程式碼效率太低,很慢(166mmx,64m)。雖然我很討厭這樣的做法,但我還是很同情作者,他也真是不容易,做個軟體比破解要難多了……
以上是pow的第一篇像樣的破解記錄(以前也有,不過都是寫給自己看的,估計新手看不懂,老鳥不屑看),今天遇到了這個曾經讓我為難的軟體(不久前噢,也就2個月,pow很菜的^_^),有了“滅其而後快”的意思,但想到我的這點小伎倆都是從這個論壇或各位大哥前輩的教程上學來的,覺得自己也有義務把這個傳統延續下去,於是就有了這篇文章,pow希望能給各位初學者一點幫助,也是對所有有助於我的各位大哥的回報!
相關文章
- 獻給初學者(高手也看看) 破解 Cpukiller 2.0 (1千字)2000-09-17
- 破解魔法轉換 v2.1 Beta 2 測試版 (11千字)2001-10-28
- 初學者,希望大俠幫忙~~~~~!2005-09-11
- 給初學者,因為我就是個初學者(1) (3千字)2000-05-03
- 給初學者,因為我就是個初學者(2) (1千字)2000-05-03
- 給初學者,因為我就是個初學者(4) (1千字)2000-05-03
- 初學者(7) (4千字)2000-05-05
- 初學者(22) (7千字)2000-08-09
- 初學者(23) (7千字)2000-08-13
- 初學者(12) (1千字)2000-06-09
- 初學者(17) (1千字)2000-07-04
- 初學者(20) (1千字)2000-08-08
- 初學者(27) (1千字)2000-08-25
- 演算法分析:
<獻給初學者> 之二 (7千字)2002-06-07演算法
- 魔法轉換 (2千字)2001-05-26
- 給初學者的RxJava2.0教程(三)2019-02-28RxJava
- 給初學者的RxJava2.0教程(七)2019-02-28RxJava
- 給初學者的 RxJava2.0 教程 (四)2019-03-04RxJava
- 給初學者的RxJava2.0教程(一)2016-12-08RxJava
- 給初學者的RxJava2.0教程(二)2016-12-08RxJava
- 給初學者的RxJava2.0教程(五)2016-12-13RxJava
- 給初學者的 RxJava2.0 教程 (八)2016-12-22RxJava
- 給初學者的RxJava2.0教程(四)2017-06-13RxJava
- 給初學者的RxJava2.0教程(八)2017-06-13RxJava
- 給初學者的RxJava2.0教程(九)2017-06-13RxJava
- 給初學者的 RxJava2.0 教程 (九)2017-01-19RxJava
- 希望找到的這幾個MVC面試題對各位有幫助2020-09-29MVC面試題
- CDSPACE1.95破解手記(專為初學者而作!) (8千字)2000-12-30
- 初學者作品(6) (1千字)2000-05-04
- 5StarZip 2001 破解----初學者破解入門 ---
[BCG]系列 (1千字)2001-04-13
- 飛馬魔法桌布V3.0註冊演算法(適合初學者) (7千字)2001-11-25演算法
- 給Python初學者的一些技巧2014-10-11Python
- 英語會話精靈 2.0 --謹以此文獻給初學破解的愛好者
(7千字)2015-11-15會話
- 一篇破解教程-----面向初學者 (15千字)2001-04-01
- Internet Maniac ver 1.2b 破解過程(適合初學者)
(7千字)2000-09-13
- 模板初學者指南1 (轉)2007-12-12
- 天網防火牆個人版2.0(beta)的破解!!! (20千字)2001-01-26防火牆
- Oracle初學者問題7(轉)2007-08-06Oracle