風之紋章(Proc)破解實戰 我的第一篇水文 (9千字)
風之紋章(Proc)破解實戰
Write by wakeme
軟體名稱:風之紋章(Proc)
版 本:V2.02 Build 275 原檔案大小 281K,脫殼後700K左右。
簡 介:
一個比較好用的小工具,可以用來殺程式、監控程式、定時備份等,駐留在工作列上。
作 者:Wakeme
等 級:中級 (自己定的 :))
破解日期:2002年3月11日
破解工具:Trw2000 1.22 WDSM 89。3 衝擊波2000 、PEid.
破解目的:學習追註冊碼
說 明:
本文目的在與學習破解技術,所有內容是在我的軟體破解記錄上整理出來的,只作技術交流。如若有紕漏,請各位多指教!
1、執行PEid ,將Proc.exe 拖到 PEid介面上 ,顯示出 ASPack 2.000 -> Alexey Solodovnikov壓縮。
2、啟用衝擊波,點選Track ,然後執行Proc.exe,顯示入口 0048B900 。
3、啟動trw 2000 ,透過Browse 找到檔案,load !
中斷後下命令bpx 48b900
g
會在程式的入口處停下來,然後下命令 pedump c:\crack\procdump.exe
就會生成可執行檔案,經測試用makepe 命令也可以,另外用Softice 中的jmp eip ,然後用prodump等工具也可以。Trw2000中生成的可以直接執行,用prodump抓的需要修復PE檔案頭。
4、執行軟體,填入任意註冊碼,報告“註冊失敗”,在看論壇精華的時候總發現別人喜歡暴力破解軟體,其實在我這段時間的經驗中,軟體暴力破解的成功率很低,許多軟體暴力破解後,功能也不完全,可見軟體開發者的加密意識提高了。
5、複製備份後,用WDSM進行反彙編,在字串參考中,找到“註冊失敗”和“註冊成功”的提示。雙擊“註冊成功”和“註冊失敗”分別到:
:0048AF28 8B45F8
mov eax, dword ptr [ebp-08]
:0048AF2B 8D55FC
lea edx, dword ptr [ebp-04]
:0048AF2E E831D5F7FF call 00408464
:0048AF33 8B45FC
mov eax, dword ptr [ebp-04]
* Possible StringData Ref from Code Obj ->"ph11.126.com"
|
:0048AF36 BA48B04800 mov edx,
0048B048
:0048AF3B E8B88FF7FF call 00403EF8
:0048AF40 7575
jne 0048AFB7 跳到註冊失敗的視窗 !!!
:0048AF42 8D55F0
lea edx, dword ptr [ebp-10]
:0048AF45 8B83D0040000 mov eax, dword
ptr [ebx+000004D0]
:0048AF4B E8845CFAFF call 00430BD4
:0048AF50 8B45F0
mov eax, dword ptr [ebp-10]
:0048AF53 8D55F4
lea edx, dword ptr [ebp-0C]
:0048AF56 E809D5F7FF call 00408464
:0048AF5B 8B45F4
mov eax, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->"1111-1111-1111-1111"
我最初理解為註冊碼的格式!
|
:0048AF5E BA60B04800 mov edx,
0048B060
:0048AF63 E8908FF7FF call 00403EF8
:0048AF68 754D
jne 0048AFB7 跳到註冊失敗的視窗 !!!
* Possible StringData Ref from Code Obj ->"程式管理小工具---ph11.126.com"
|
:0048AF6A BA7CB04800 mov edx,
0048B07C
:0048AF6F 8BC3
mov eax, ebx
:0048AF71 E88E5CFAFF call 00430C04
:0048AF76 33D2
xor edx, edx
:0048AF78 8B83CC040000 mov eax, dword
ptr [ebx+000004CC]
:0048AF7E 8B08
mov ecx, dword ptr [eax]
:0048AF80 FF515C
call [ecx+5C]
:0048AF83 33D2
xor edx, edx
:0048AF85 8B83D0040000 mov eax, dword
ptr [ebx+000004D0]
:0048AF8B 8B08
mov ecx, dword ptr [eax]
:0048AF8D FF515C
call [ecx+5C]
:0048AF90 6A40
push 00000040
* Possible StringData Ref from Code Obj ->"恭喜您"
|
:0048AF92 B99CB04800 mov ecx,
0048B09C
* Possible StringData Ref from Code Obj ->"註冊成功!"
注意的地方 !!!
|
:0048AF97 BAA4B04800 mov edx,
0048B0A4
:0048AF9C A14CDA4800 mov eax,
dword ptr [0048DA4C]
:0048AFA1 8B00
mov eax, dword ptr [eax]
:0048AFA3 E8F440FCFF call 0044F09C
:0048AFA8 33D2
xor edx, edx
:0048AFAA 8B83D4040000 mov eax, dword
ptr [ebx+000004D4]
:0048AFB0 8B08
mov ecx, dword ptr [eax]
:0048AFB2 FF515C
call [ecx+5C]
:0048AFB5 EB4C
jmp 0048B003
* 被一個無條件跳轉或條件跳轉引用, 位置在地址: 注意的地方
!!!
|:0048AF40(C), :0048AF68(C)
這裡是哪裡 ,有兩個地方會跳到這裡 !!!
|
* Possible StringData Ref from Code Obj ->"程式管理小工具---未註冊"
|
:0048AFB7 BAB8B04800 mov edx,
0048B0B8
:0048AFBC 8BC3
mov eax, ebx
:0048AFBE E8415CFAFF call 00430C04
:0048AFC3 B201
mov dl, 01
:0048AFC5 8B83CC040000 mov eax, dword
ptr [ebx+000004CC]
:0048AFCB 8B08
mov ecx, dword ptr [eax]
:0048AFCD FF515C
call [ecx+5C]
:0048AFD0 B201
mov dl, 01
:0048AFD2 8B83D0040000 mov eax, dword
ptr [ebx+000004D0]
:0048AFD8 8B08
mov ecx, dword ptr [eax]
:0048AFDA FF515C
call [ecx+5C]
:0048AFDD 6A10
push 00000010
* Possible StringData Ref from Code Obj ->"錯誤"
|
:0048AFDF B9D0B04800 mov ecx,
0048B0D0
* Possible StringData Ref from Code Obj ->"註冊失敗!" 注意的地方
!!!
|
:0048AFE4 BAD8B04800 mov edx,
0048B0D8
:0048AFE9 A14CDA4800 mov eax,
dword ptr [0048DA4C]
:0048AFEE 8B00
mov eax, dword ptr [eax]
:0048AFF0 E8A740FCFF call 0044F09C
:0048AFF5 8B83CC040000 mov eax, dword
ptr [ebx+000004CC]
:0048AFFB 8B10
mov edx, dword ptr [eax]
:0048AFFD FF92B0000000 call dword ptr
[edx+000000B0]
6、下面我們就用TRW2000來追註冊碼:
在軟體的設定-註冊中添入公司名:wakeme 序列號:1234-1234-1234-1234(格式來源與上面程式碼,其實別的格式、比如12345678也可以)
在TRW2000中下斷點bpx 40af36 (第一個要跳到未註冊的CALL前面)
軟體中點註冊、被攔截F10後
D edx 可以看到真正的註冊碼,我們F8跟進CALL
:00403EF8 53
push ebx
:00403EF9 56
push esi
:00403EFA 57
push edi
:00403EFB 89C6
mov esi, eax
:00403EFD 89D7
mov edi, edx
:00403EFF 39D0
cmp eax, edx 上面將我輸入的名字和序列號裝入,這裡關鍵比較,用D命令可以看到真正的註冊名
:00403F01 0F848F000000 je 00403F96
:00403F07 85F6
test esi, esi
:00403F09 7468
je 00403F73
:00403F0B 85FF
test edi, edi
:00403F0D 746B
je 00403F7A
:00403F0F 8B46FC
mov eax, dword ptr [esi-04]
:00403F12 8B57FC
mov edx, dword ptr [edi-04]
:00403F15 29D0
sub eax, edx
:00403F17 7702
ja 00403F1B
:00403F19 01C2
add edx, eax
CALL 返回後執行到這裡:
:0048AF3B E8B88FF7FF call 00403EF8
:0048AF40 7575
jne 0048AFB7 跳到註冊失敗的視窗 !!!
:0048AF42 8D55F0
lea edx, dword ptr [ebp-10]
:0048AF45 8B83D0040000 mov eax, dword
ptr [ebx+000004D0]
在JNE 0048AFB7,我們下r fl z 讓程式繼續走到第二個比較的地方
:0048AF5E BA60B04800 mov edx,
0048B060
:0048AF63 E8908FF7FF call 00403EF8
:0048AF68 754D
jne 0048AFB7 跳到註冊失敗的視窗 !!!
在上面D EDX 可以看到正確註冊碼,我們F8跟入CALL 看看都有什麼
:00403EF8 53
push ebx
:00403EF9 56
push esi
:00403EFA 57
push edi
:00403EFB 89C6
mov esi, eax
:00403EFD 89D7
mov edi, edx
:00403EFF 39D0
cmp eax, edx上面將我輸入的名字和序列號裝入,這裡關鍵比較,用D命令可以看到真正的註冊號碼
:00403F01 0F848F000000 je 00403F96
:00403F07 85F6
test esi, esi
:00403F09 7468
je 00403F73
:00403F0B 85FF
test edi, edi
:00403F0D 746B
je 00403F7A
:00403F0F 8B46FC
mov eax, dword ptr [esi-04]
:00403F12 8B57FC
mov edx, dword ptr [edi-04]
:00403F15 29D0
sub eax, edx
:00403F17 7702
ja 00403F1B
:00403F19 01C2
add edx, eax
跟上面的一樣,呵呵,原來這個軟體的註冊名和號碼是固定的:
公司名 :ph11.126.com
註冊號碼:1111-1111-1111-1111
在軟體的相同目錄下,filemon 監測到 proc.ini 檔案,其中有
[Registration]
Company=ph11.126.com
SequenceNum=1111-1111-1111-1111
專案,當該鍵被刪除軟體又被回覆未註冊版,該軟體啟動檢查該專案,而爆破完後寫入該專案的註冊碼不對,重起軟體就無效了。
呵呵,作者真會和我們開玩笑 :)
區區一文,實在沒什麼水平,不過還是要感謝ajj.126.com 的站長,在我初學破解的這半個月中,我的幾個問題他都盡力回答,讓我很感動。
還有要感謝看雪老師的那本書,雖然5天就看完了,但的確是本好書,有些東西還需要我細心的體會。
這個世界上不存在什麼天才,如果你覺得我是,就想想我那5天看書,看彙編的瘋狂勁,就不會說天才這兩個字字了,到目前位置,我最愛的破解是破那些CRACKME
,很有意思,光碟上的哪些CRACKME,我是這樣破解的,先是全部暴力破解,後來又全部追出註冊碼,現在我已經寫出部分的序號產生器了,還有透過keymake 的另外序號產生器顯示註冊碼的。
過程就是先用WDSM 破個遍、在用SMARTCHECK來作VB的、用DEDE找DELPHI 的,用OLLDY破任何能跟蹤的。。。
最後的感覺就是TR 還不如Softice,我們是在技巧上作文章,人家卻主導了方向。
呵呵,希望TR的作者能看到
相關文章
- 我的破解心得(9) (4千字)2001-03-13
- 我的破解心得(11) (9千字)2001-03-13
- Tmaster6.0 破解(我的第一篇灌水) (4千字)2001-10-04AST
- 破解心得之eXeScope篇 (9千字)2001-07-01
- 破解實戰(三)之 WinZip8.0 (5千字)2000-07-17
- 《鐵甲風暴之黑色戰線》免CD破解手記 (5千字)2002-02-14
- see This 破解實戰! (5千字)2000-06-26
- 破解實戰!polyview (3千字)2000-06-27View
- 9章 RxJava混合實戰2019-05-13RxJava
- 菜鳥破解實錄之 Dynamic Desktop 1.4.2 (9千字)2000-08-09
- 菜鳥破解實錄 之 GWD Text Editor 3.0 (9千字)2000-08-16
- PicaView 1.32破解實戰
(3千字)2000-03-03View
- 菜鳥破解錄(19)之 XMLwriter 1.21 (9千字)2000-08-08XML
- Teleport Pro破解實戰錄 (6千字)2000-05-28
- Soundnailsd的破解教程(一) (9千字)2001-10-17AI
- 《火焰紋章風花雪月》能力屬性和戰鬥計算公式研究2020-11-03公式
- BananaSplitter 1.0破解實戰 (10千字)2000-09-11NaN
- 我的破解心得(1) (3千字)2001-03-13
- 我的破解心得(5) (16千字)2001-03-13
- 我的破解心得(6) (3千字)2001-03-13
- 我的破解心得(8) (2千字)2001-03-13
- 我的破解心得(12) (1千字)2001-03-13
- 我的破解之路-BBOY (3千字)2000-07-21
- 申請加入BCG之第一篇!------LC3破解! (2千字)2001-10-06
- 或許《火焰之紋章:風花雪月》展示了戰棋遊戲的未來2020-02-28遊戲
- icnbat(圖示打仗)破解實戰 (12千字)2000-09-12BAT
- 美萍反黃專家 版本2.41 破解實錄 (9千字)2001-10-04
- 誰與我共續這破解的故事?《破解“黎之工資”對抗脫殼之故事(上集)》
(9千字)2001-03-25
- Vopt99另類破解實戰錄
(3千字)2000-09-27
- 破解 周公解夢2.11 實戰錄 (3千字)2000-08-22
- OICQ HACK 1.0 破解過程 (9千字)2001-04-23
- PowerDirector 1.00.06.9 破解. 恭喜小球! (9千字)2002-02-03
- 瘋狂單詞破解實錄(初學者請進!) (9千字)2000-08-24
- 炒股理財 v1.13破解實戰錄! (3千字)2000-08-24
- 破解RamDisk9xMe的安裝程式 (3千字)2001-10-07
- 半位元組破解Vopt Millennium edition (9千字)2001-05-13
- Regediter 1.3 破解(得到註冊碼) (9千字)2002-01-23
- 砸碎SLock, 我的一次破解.
(3千字)2015-11-15