我的第二篇破文------wordcard 3.10的破解明細
我的第二篇破文------wordcard 3.10的破解明細
作者:restxx
破解目標:wordcard 3.10 這個東西是我一個月前下的,現在不知什麼地方有但3.20版的很多,這個版本應該也不少
破解工具:ollydbg1.10(包括老羅的ULtra string ref) winxp
破解分析:無殼,哇塞,爽!!這個VB寫的破軟體是用隨機生成的機器碼來生成序列號保護碼的,
載入之後忽略所有的異常,並在OLLYDBG中用Shift+f9執行,
載入後看到的是如下程式碼,一看就知道是VB寫的,由於是解釋型語言,這樣就只能在msvbvm60.DLL模組中下斷了
_____________________________________________________________________
00404F98 > $ 68 D0534000 PUSH wordcard.004053D0
00404F9D . E8 EEFFFFFF CALL <JMP.&MSVBVM60.#100>
00404FA2 . 0000 ADD BYTE PTR DS:[EAX],AL
00404FA4 . 0000 ADD BYTE PTR DS:[EAX],AL
00404FA6 . 0000 ADD BYTE PTR DS:[EAX],AL
00404FA8 . 3000 XOR BYTE PTR DS:[EAX],AL
00404FAA . 0000 ADD BYTE PTR DS:[EAX],AL
00404FAC . 40 INC EAX
00404FAD . 0000 ADD BYTE PTR DS:[EAX],AL
00404FAF . 0000 ADD BYTE PTR DS:[EAX],AL
00404FB1 . 0000 ADD BYTE PTR DS:[EAX],AL
00404FB3 . 00C5 ADD CH,AL
00404FB5 . 1904A6 SBB DWORD PTR DS:[ESI],EAX
******************************************************************
選 檢視\執行模組,找到msvbvm60.dll並click它,看到如下內碼表
***********************************************************************************
66001000 > 53 PUSH EBX
66001001 BE E5778F4A MOV ESI,4A8F77E5
66001006 E5 77 IN EAX,77 ; I/O 命令
66001008 > 59 POP ECX
66001009 53 PUSH EBX
6600100A E5 77 IN EAX,77 ; I/O 命令
6600100C > 9E SAHF
6600100D FC CLD
6600100E E4 77 IN AL,77 ; I/O 命令
66001010 > ED IN EAX,DX ; I/O 命令
66001011 95 XCHG EAX,EBP
66001012 E5 77 IN EAX,77 ; I/O 命令
66001014 > 8B98 E4774A16 MOV EBX,DWORD PTR DS:[EAX+164A77E4]
6600101A E5 77 IN EAX,77 ; I/O 命令
6600101C > A2 B4E477B1 MOV BYTE PTR DS:[B177E4B4],AL
66001021 C6 ??? ; 未知命令
66001022 E4 77 IN AL,77 ; I/O 命令
66001024 > B8 16E47737 MOV EAX,3777E416
66001029 38E5 CMP CH,AH
6600102B 77 6B JA SHORT <&KERNEL32.LeaveCriticalSection>
6600102D 90 NOP
6600102E E4 77 IN AL,77 ; I/O 命令
66001030 > E1 60 LOOPDE SHORT MSVBVM60.66001092
66001032 E5 77 IN EAX,77 ; I/O 命令
66001034 > 8BB0 E5779725 MOV ESI,DWORD PTR DS:[EAX+259777E5]
6600103A E5 77 IN EAX,77 ; I/O 命令
**************************************************************************************
點右鍵,搜尋\當前模組中的名稱,看看後找到vbaVarCopy(當然有興趣的朋友可以用上面的vbaSriComp或鄰近的幾個功能相近的試試,反正我也沒用過)這個時候不要下斷,返回到CPU頁(上面的程式碼處),用Shift+f9執行,進入註冊碼填寫的地方,隨手寫入123456654987不要點確定(這個時候最好讓這個破軟體停下來,不要讀詞了)再回到vbaVarCopy這個地方下斷點,這個時候才可以點確定,這之後會停在如下地方,這之後用F8走
*******************************************************************************************
66106BF8 > 51 PUSH ECX
66106BF9 A1 7CEE1066 MOV EAX,DWORD PTR DS:[6610EE7C]
66106BFE 53 PUSH EBX
66106BFF 55 PUSH EBP
66106C00 56 PUSH ESI
66106C01 57 PUSH EDI
66106C02 8BDA MOV EBX,EDX
66106C04 8BF1 MOV ESI,ECX
66106C06 50 PUSH EAX
66106C07 FF15 B8100066 CALL DWORD PTR DS:[<&KERNEL32.TlsGetValu>; kernel32.TlsGetValue
66106C0D 66:8B2B MOV BP,WORD PTR DS:[EBX]
66106C10 8D78 50 LEA EDI,DWORD PTR DS:[EAX+50]
66106C13 66:8B06 MOV AX,WORD PTR DS:[ESI]
66106C16 66:83FD 08 CMP BP,8
66106C1A 73 26 JNB SHORT MSVBVM60.66106C42
66106C1C 66:3D 0800 CMP AX,8
66106C20 73 20 JNB SHORT MSVBVM60.66106C42
66106C22 8B13 MOV EDX,DWORD PTR DS:[EBX]
66106C24 8B43 04 MOV EAX,DWORD PTR DS:[EBX+4]
66106C27 8BCE MOV ECX,ESI
66106C29 8911 MOV DWORD PTR DS:[ECX],EDX
66106C2B 8B53 08 MOV EDX,DWORD PTR DS:[EBX+8]
66106C2E 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
66106C31 8B43 0C MOV EAX,DWORD PTR DS:[EBX+C]
66106C34 8951 08 MOV DWORD PTR DS:[ECX+8],EDX
66106C37 8941 0C MOV DWORD PTR DS:[ECX+C],EAX
66106C3A 8BC6 MOV EAX,ESI
66106C3C 5F POP EDI
*************************************************************
66106CBF 3BDE CMP EBX,ESI
66106CC1 0F84 04010000 JE MSVBVM60.66106DCB
66106CC7 8BCE MOV ECX,ESI
66106CC9 E8 7E7DFFFF CALL MSVBVM60.__vbaFreeVar
66106CCE 8B5B 08 MOV EBX,DWORD PTR DS:[EBX+8]
66106CD1 66:C706 0800 MOV WORD PTR DS:[ESI],8
66106CD6 85DB TEST EBX,EBX
66106CD8 C746 08 0000000>MOV DWORD PTR DS:[ESI+8],0
66106CDF 0F84 E6000000 JE MSVBVM60.66106DCB
66106CE5 75 1C JNZ SHORT MSVBVM60.66106D03
66106CE7 33C0 XOR EAX,EAX
66106CE9 50 PUSH EAX
66106CEA 53 PUSH EBX
66106CEB FF15 F4190066 CALL DWORD PTR DS:[<&OLEAUT32.#150>] ; OLEAUT32.SysAllocStringByteLen
到這裡就會看到我剛才寫入的“123456987”了 66106CD8 C746 08 0000000>MOV DWORD PTR DS:[ESI+8],0
不要管它堅持就是勝利,接用著F8走幾步,又來到如下地方
00424C5C . C785 04FFFFFF>MOV DWORD PTR SS:[EBP-FC],wordcard.0040B>
00424C66 . C785 FCFEFFFF>MOV DWORD PTR SS:[EBP-104],8
00424C70 . 8D95 FCFEFFFF LEA EDX,DWORD PTR SS:[EBP-104]
00424C76 . 8D8D 3CFFFFFF LEA ECX,DWORD PTR SS:[EBP-C4]
00424C7C . FF15 74124000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
00424C82 . 8D95 0CFFFFFF LEA EDX,DWORD PTR SS:[EBP-F4]
00424C88 . 52 PUSH EDX
00424C89 . 8D85 1CFFFFFF LEA EAX,DWORD PTR SS:[EBP-E4]
到這一行就可以在資料視窗看到真正的註冊碼了
00424C5C . C785 04FFFFFF>MOV DWORD PTR SS:[EBP-FC],wordcard.0040B>
如下
0040BC2C=wordcard.0040BC2C
Stack SS:[0012F534]=0018FA4C, (UNICODE "77p4mf81r8357")
這個77p4mf81r8357就是註冊碼了,我的機器碼是27090435875640
你學會了嗎?
我寫這個的目的只是想給破解無門的初學者一點鼓舞,我也是一個初學者,2004,6,14才擁有了第一臺屬於自己的電腦
。但請不要誤會我學電腦卻有5年多了,都是在網咖和書店學會的(包括JAVA,C之類),哥們沒見過像我這樣的網咖狂人吧,那個網咖老闆也怕了我,呵呵!!經常搞得不能開機。順便說一下我也是同濟醫學院的,不知看雪老大是不是在武漢讀的,最後:請記住堅持就會成功!
網管,我以前申請的doa007(也可能是doc007),不知為什麼能進論壇但不能發帖,我比較喜歡以前的帳號
相關文章
- 我的第2篇破文 高手莫入!! (3千字)2001-11-11
- 小小助手V2.01的破解過程-----算是我留給初學者的一偏破文
(7千字)2015-11-15
- 用DeDe破解------Ativa Pro v3.18 的破文 (8千字)2001-08-29
- 破解《Hex Mines for Windows (32 bit) Version 4.01》手記,我的第三篇破文。我可以加入CNCG了嗎?
(2千字)2001-11-15Windows
- 什麼國產軟體不許破解,我就破就破!!!------FlashSoft1.07破解方法 (2千字)2001-05-19
- The Works 全攻略-破文第二篇(初學者適用) (3千字)2015-11-15
- 一個遊戲的破解,SolSuite 2002。破文處女篇 (3千字)2002-03-26遊戲UI
- iis兄,請進《有聲有色 3.10》的破解方法。 (9千字)2000-08-17
- 破文一篇:易經八卦占卜程式7.0的破解(高手莫入) (8千字)2001-08-31
- session的詳細說明和用法2015-12-23Session
- 觀、礪、破——我的演算法之道2018-01-22演算法
- 這是我自己的發明2024-11-20
- 我的 Vue.js 學習日記 (六) – v-for 與 table 的 增、刪、排序、明細2018-05-07Vue.js排序
- 我來貼他的破解。國產軟體怎麼啦?破就破唄,沒什麼大不了的。我就不信他的win98或者是VC++使用正版的。哼...
(2千字)2001-05-19C++
- 我遇到的有趣面試題:破解程式2014-09-21面試題
- 我的第一篇破文,獻給看學學院的!^_^高手免進! (10千字)2015-11-15
- 社保明細列印2024-08-16
- 我的第一篇破文easyoffice 2001 高手莫入!! (1千字)2001-11-04
- 我的第3篇破文 cr--CJSFormater 高手請指導、指導!! (4千字)2001-11-24JSORM
- 《32BITFTP的破解實錄》==>讓程式成為我們的"序號產生器"-->申請BCG第二篇 (5千字)2001-06-29FTP
- 我的破解心得(1) (3千字)2001-03-13
- 我的破解心得(5) (16千字)2001-03-13
- 我的破解心得(6) (3千字)2001-03-13
- 我的破解心得(8) (2千字)2001-03-13
- 我的破解心得(9) (4千字)2001-03-13
- 我的破解心得(11) (9千字)2001-03-13
- 我的破解心得(12) (1千字)2001-03-13
- 我的破解之路-BBOY (3千字)2000-07-21
- 菜鳥破解錄(12)之 AxMan3.10 (3千字)2000-07-26
- 寬頻路由器的詳細說明2022-12-02路由器
- MySQL mysqldump命令的引數詳細說明2017-01-09MySql
- Guitar Pro v3.0 的破文 (11千字)2001-09-08GUI
- php中的var_dump()方法的詳細說明2017-01-28PHP
- winscp操作說明,winscp操作說明的詳細解讀2020-10-19
- 我的第一篇破文,獻給看學學院! 高手免進! (2千字)2002-06-29
- 如何完美破解PE EXPLORER 1.3(加入BCG的第二篇) (9千字)2001-06-29
- 這是本人入門後的第二篇破解小結 (4千字)2000-08-16
- 誰能破解 MicroAngelo 98 4.77! (軟體詳細說明見內)
(636字)2000-07-15