FlashPlay 2.0 2001 07破解(P-code,用WKT VBDebugger破的)~~~~~~~~ (8千字)
破解目標:FlashPlay 2.0 2001 07
下載地址:http://zxmzjys.myetang.com
使用工具:Peid 0.7 (為什麼Fi 2.49不能用了?大家是否都一樣)
Caspr 1.1
WKT VBDebugger (vbdebug13e.zip)
以上工具在阿倫的主頁上有下載
破解原因:
我一直在玩Flash版的“百萬褲窿”,但是怎麼也拿不到一百萬,同時我也有一些編譯成exe檔案的Flash,我想將它轉換成swf檔案,於是找到了FlashPlay,它的FlashTool可以將exe格式的Flash轉換成swf格式的,而且還可以去除swf檔案的一般保護和密碼保護,如果不註冊就會有限制,它一共有兩個工具:FlashPlay是播放Flash的,FlashTool是轉換格式的,不註冊的話FlashPlay會有時間限制,FlashTool有執行次數限制,註冊其中一個,另一個也同時成為註冊版。
破解過程:
先用Peid查一下,兩個檔案都加了殼,用Caspr可以輕鬆搞掂,將脫了殼的檔案改個好記的名,再用Peid查,FlashPlay是VB的,呵呵這東西我怕怕,先放著吧,FlashTool是VC的,就先試試它吧,用W32Dasm反編譯,搞了半天,沒什麼結果,想想試試FlashPlay吧,我可以用SMARTCHK嘛,誰知一載入,提示說程式是P-code的,心就想放棄了,突然想到我有個WKT
VBDebugger是專門對付P-code的,一直都沒用過,就拿它試試吧。
首先將電腦的日期改成2001年7月,因為沒註冊它會提示你試用期過了,用WKT VBDebugger開啟剛才脫了殼的FlashPlay,點選ExecuteI,程式執行,這時會先後出現兩個對話方塊,一定要儘快在程式未進入主介面之前按下兩個確定I,不然WKT
VBDebugger的除錯視窗就不會出現!好了,過了一會就進入了FlashPlay的主介面,並提示你註冊,另外出現了一個全英文的視窗,中間很多文字是綠色的,它就是WKT
VBDebugger的除錯視窗了,下面介紹一下視窗的內容:
左上視窗為p-code的程式碼,右上窗是堆踐視窗,左下是程式執行的結果
有幾個按鍵常用的,其它的我講不出來它的功能,Save Source是儲存當前程式碼視窗裡的程式碼,Save
Messages儲存執行結果,Form Manager可顯示程式各個Form的資料,應該很有用的,Class Manager同上一樣不過是顯示Class的,API顯示程式呼叫到的Api地址(雙擊可設斷點),Opcodes顯示OPcodes程式碼的地址(雙擊可設斷點),On
Execution是除錯過程中的中斷列表,其效果就象Trw的bl命令,Memory Dump等同於Trw的D和U命令,String Refs是程式的字串列表,不過沒中文.
右邊還有5個I是除錯程式用的,分別對應熱IF8,F12,F10,F5,F6,前四個的功能和Trw的功能是一樣的,F6能讓你指定除錯時一次執行的行數.
其實WKT VBDebugger看起來很複雜,使用上和其它的除錯工具都差不多,只要你熟悉Trw和Ollydbg的使用就應該挺容易上手的。
好了繼續,首先把FlashPlay正在播放的動畫停掉,以免影響我們的除錯,然後點選註冊視窗,上面有我的機器碼,在下面填上個假的註冊碼676767676,按下確定I,什麼反應都沒有,接下來點選WKT
VBDebugger的除錯視窗,按下F12I,這時會回到FlashPlay的註冊視窗裡(如果這時你移動滑鼠WKT VBDebugger就彈出來的話,請試多幾次,它應該在你按下了註冊確定I後才會跳出來的),按下注冊確定I後WKT
VBDebugger彈出來了,就像Trw一樣,呵呵~~~~~~~你看看在程式碼窗裡是否出現了下面的程式碼並且游標停在42B2FE處,如果是的話我就恭喜你啦~~~~~~~~~~~~~~~~
P-code程式碼(這就是P-code嗎?我大大大部份都看不懂)
------------------------------------------------------------------
0042B2DF: FC Lead1/Cstr2Uni
0042B2E1: 6C ILdRf 00000000h
0042B2E4: 04 FLdRfVar 0066F094h
0042B2E7: FC Lead1/Cstr2Uni
0042B2E9: 6C ILdRf 00000001h
0042B2EC: 71 FStR4
0042B2EF: 32 FFreeStr
0042B2F8: 6C ILdRf 0C7A07FDh
0042B2FB: 71 FStR4
0042B2FE: 14 ExitProc <----從字面上看好像是退出一個Call,可能是ret吧,這裡請按F8會往下跳
0042B2FF: FF Lead4/Unknow
0042B301: 99 FMemStI4
0042B306: 3C SetLastSystemError
0042B307: 00 LargeBos
0042B309: 00 LargeBos
0042B30B: 00 LargeBos
0042B30D: 00 LargeBos
0042B30F: 00 LargeBos
0042B311: 00 LargeBos
-----------------------------------------------------------------
0043005A: FE CStrI4 <-----跳到這裡來了
0043005C: 31 FStStr <-----游標執行到此時,在結果視窗裡會出現一串數字,請往下看"執行結果"的第2行(為了述說方便我在結果裡編上了行號)這個可能是機器碼之類的東西
0043005F: 2F FFree1Str
00430062: F5 LitI4: -> 1h 1
00430067: 04 FLdRfVar 0066F1B8h
0043006A: 4D CVarRef:
0043006F: 04 FLdRfVar 0066F18Ch
00430072: 0A ImpAdCallFPR4 rtcLeftCharVar on address 660248EEh
00430077: 04 FLdRfVar 0066F18Ch
0043007A: 3A LitVarStr '-'
0043007F: 5D HardType
00430080: 33 EqVarBool
00430082: 35 FFree1Var
00430085: 1C BranchF 004300AC (Jump <----這裡一定要按F8, 我試過按F10程式就執行了,這樣就跟不到下面的結果了,注意程式碼裡的'Jump'是要游標執行到此行時才會出現的,下面的很多程式碼都是如此,大多都是些地址和數字之類的.
00430088: 6C ILdRf 0044FD38h
0043008B: 4A FnLenStr
0043008C: F5 LitI4: -> 1h 1
00430091: AE SubI4
00430092: 04 FLdRfVar 0066F1B8h
00430095: 4D CVarRef:
0043009A: 04 FLdRfVar 0066F18Ch
0043009D: 0A ImpAdCallFPR4 rtcRightCharVar on address 660EA4C5h
004300A2: 04 FLdRfVar 0066F18Ch
004300AC: 6C ILdRf 0044FD38h <-----跳到此,後面都可以用F10啦
004300AF: 4A FnLenStr
004300B0: FD Lead2/CVarI4
004300B4: FC Lead1/FStVar
004300B8: 1B LitStr: ''
004300BB: 43 FStStrCopy
004300BE: 6C ILdRf 00000000h
004300C1: 28 LitVarI2 1h , 1
004300C6: F5 LitI4: -> 9h 9
004300CB: 04 FLdRfVar 0066F1B8h
004300CE: 4D CVarRef:
004300D3: 04 FLdRfVar 0066F16Ch
004300D6: 0A ImpAdCallFPR4 rtcMidCharVar on address 660EA557h
004300DB: 04 FLdRfVar 0066F16Ch
004300DE: 28 LitVarI2 31h , 49
004300E3: 17 XorVar
004300E7: FC Lead1/CI4Var
004300E9: 0B ImpAdCallI2 rtcBstrFromAnsi on address 660E53B7h
004300EE: 23 FStStrNoPop <---執行到此,結果視窗出現了第3 行,注意那個'8'
004300F1: 2A ConcatStr <---出現第4行結果
004300F2: 31 FStStr <---第5行,先別管,往下看
004300F5: 2F FFree1Str
004300F8: 36 FFreeVar -> 2
004300FF: 6C ILdRf 00450834h
00430102: 28 LitVarI2 1h , 1
00430107: F5 LitI4: -> 2h 2
0043010C: 04 FLdRfVar 0066F1B8h
0043010F: 4D CVarRef:
00430114: 04 FLdRfVar 0066F16Ch
00430117: 0A ImpAdCallFPR4 rtcMidCharVar on address 660EA557h
0043011C: 04 FLdRfVar 0066F16Ch
0043011F: 28 LitVarI2 5Ah , 90
00430124: 17 XorVar
00430128: FC Lead1/CI4Var
0043012A: 0B ImpAdCallI2 rtcBstrFromAnsi on address 660E53B7h
0043012F: 23 FStStrNoPop <---出現第6行結果'Z'
00430132: 2A ConcatStr <---游標到此,程式碼後面會出現兩個地址,注意結果8
00430133: 31 FStStr <---得到了一個字串'8Z'(第9行)
00430136: 2F FFree1Str
00430139: 36 FFreeVar -> 2
00430140: 6C ILdRf 00445E58h
00430143: 28 LitVarI2 1h , 1
00430148: F5 LitI4: -> 7h 7
0043014D: 04 FLdRfVar 0066F1B8h
00430150: 4D CVarRef:
00430155: 04 FLdRfVar 0066F16Ch
00430158: 0A ImpAdCallFPR4 rtcMidCharVar on address 660EA557h
0043015D: 04 FLdRfVar 0066F16Ch
00430160: 28 LitVarI2 78h , 120
00430165: 17 XorVar
00430169: FC Lead1/CI4Var
0043016B: 0B ImpAdCallI2 rtcBstrFromAnsi on address 660E53B7h
00430170: 23 FStStrNoPop
00430173: 2A ConcatStr
00430174: 31 FStStr
.
.中間省略,都是相似的程式碼,反正也看不懂
.
.
004302EF: FC Lead1/CI4Var
004302F1: 0B ImpAdCallI2 rtcBstrFromAnsi on address 660E53B7h
004302F6: 23 FStStrNoPop
004302F9: 2A ConcatStr
004302FA: 31 FStStr
004302FD: 2F FFree1Str
00430300: 36 FFreeVar -> 2
00430307: 6C ILdRf 0044EB80h
0043030A: 43 FStStrCopy
0043030D: 14 ExitProc <---執行到此,我們得到了一個字串'8ZxnxNP13',再按F10我們就跳回到FlashPlay了,試試這個字串,呵呵~~~~~就是它啦!我在另一臺機上得到的是'1^}e{O\59'不用懷疑,就是它~~~~~
0043030E: FF Lead4/Unknow
00430310: 4C FnLBound
00430311: 99 FMemStI4
00430316: 84 IStI2
00430319: 02 LargeBos
0043031B: 00 LargeBos
0043031D: 00 LargeBos
0043031F: 00 LargeBos
00430321: 00 LargeBos
----------------------------------------------------------------
執行結果
----------------------------------------------------------------
1 Return reached.
2 FStStr -> '209324029'
3 FStStrNoPop -> '8'
4 Concat->'' + '8'
5 FStStr -> '8'
6 Freeing Addrs: 0066F18Ch 0066F16Ch
7 FStStrNoPop -> 'Z'
8 Concat->'8' + 'Z'
9 FStStr -> '8Z'
10 Freeing Addrs: 0066F18Ch 0066F16Ch
11 0043016B: 0B ImpAdCallI2 rtcBstrFromAnsi on address 660E53B7h
12 00430170: 23 FStStrNoPop
13 00430173: 2A ConcatStr
14 Freeing Addrs: 0066F18Ch 0066F16Ch
15 004301AC: 0B ImpAdCallI2 rtcBstrFromAnsi on address 660E53B7h
16 Concat->'8Zx' + 'n'
17 FStStr -> '8Zxn'
18 Freeing Addrs: 0066F18Ch 0066F16Ch
19 FStStrNoPop -> 'x'
20 Concat->'8Zxn' + 'x'
21 FStStr -> '8Zxnx'
22 Freeing Addrs: 0066F18Ch 0066F16Ch
23 FStStrNoPop -> 'N'
24 Concat->'8Zxnx' + 'N'
25 FStStr -> '8ZxnxN'
26 Freeing Addrs: 0066F18Ch 0066F16Ch
27 FStStrNoPop -> 'P'
28 Concat->'8ZxnxN' + 'P'
29 FStStr -> '8ZxnxNP'
30 Freeing Addrs: 0066F18Ch 0066F16Ch
31 FStStrNoPop -> '1'
32 Concat->'8ZxnxNP' + '1'
33 FStStr -> '8ZxnxNP1'
34 Freeing Addrs: 0066F18Ch 0066F16Ch
35 FStStrNoPop -> '3'
36 Concat->'8ZxnxNP1' + '3'
37 FStStr -> '8ZxnxNP13' <-----往哪跑~~~~~~~~
38 Freeing Addrs: 0066F18Ch 0066F16Ch
----------------------------------------------------------------------
總結一下:
搞了老半天根本就搞不清楚程式是怎麼算出註冊碼的,這也難怪,P-code的程式碼我能看得懂嗎,雖然WKT
VBDebugger一樣可以看到程式的彙編程式碼,但我還是沒有能力寫個序號產生器出來的,不過至少我們學會了WKT VBDebugger的基本使用吧,這也不錯呀,我們不用5分鐘就把它搞掂啦,也是個好的開始吧!
_/_/_/
_/ _/_/_/ _/_/_/
_/_/
_/_/ _/ _/ _/ _/
_/
_/ _/ _/ _/
_/ _/
_/_/_/ _/_/_/ _/ _/ _/
Sam.com
20:40 2001-7-19
相關文章
- 用DeDe破解------Ativa Pro v3.18 的破文 (8千字)2001-08-29
- 什麼國產軟體不許破解,我就破就破!!!------FlashSoft1.07破解方法 (2千字)2001-05-19
- 流光2001完全暴力破解 (3千字)2001-08-14
- 用ISDCC2破KPT 6的安裝 (8千字)2001-04-17
- 神通2001豪華版之破解....sorry,剛剛忘了貼內容:> (8千字)2002-01-06
- winimage完全破解 (8千字)2001-07-04
- Java 程式的破解方法 (8千字)2002-08-15Java
- 我的破解心得(8) (2千字)2001-03-13
- 破traceboy2.0 高手勿看! (9千字)2001-01-29
- 關於破解以p-code方式編譯的VB程式一例 (2千字)2002-04-01編譯
- HEdit 2.0 的註冊破解過程 <<-------可能過時了高手末入
(8千字)2001-02-23
- 5StarZip 2001 破解----初學者破解入門 ---
[BCG]系列 (1千字)2001-04-13
- 破解心得之3DMark2001篇 (10千字)2001-04-183D
- 用W32DASM破解JPEG Optimizer 4.0 (8千字)2000-02-21ASM
- 破文一篇:易經八卦占卜程式7.0的破解(高手莫入) (8千字)2001-08-31
- 用Ollydbg破解全功能數字時鐘(想學用Ollydbg破VB的必看!) (1千字)2001-11-03
- ReGet Junior 2.0破解手記(一) (3千字)2002-02-23
- ReGet Junior 2.0破解手記(二) (4千字)2015-11-15
- ReGet Junior 2.0破解手記(三) (1千字)2015-11-15
- ★破解WinBoost2001 Standard Edion實錄 (3千字)2001-07-31
- 國產軟體每日一破(1) (彩票快車V1.07破解記錄) (2千字)2001-02-19
- PwlTool的功能限制的破解---DDXia[CCG] (8千字)2001-03-10
- 《Diablo 2 暗黑破壞神 》破解(轉載) (1千字)2001-10-07
- 天網防火牆個人版2.0(beta)的破解!!! (20千字)2001-01-26防火牆
- 破解 超級解霸2001免費升級版 (2千字)2001-10-24
- 我也愛背單詞2001+ 3.1 破解 (4千字)2001-12-07
- Mouse Odometer v2.0破解(入門) (5千字)2000-10-01
- 我的第一篇破文easyoffice 2001 高手莫入!! (1千字)2001-11-04
- 申請加入BCG破文二--一位元組暴力破解S-Demo2.0 (7千字)2001-10-27
- ThemeFreak V1.6破解 (8千字)2001-03-07
- 炒股理財1.65破解方法 (8千字)2001-04-13
- Trojan Remover 4.3.0破解手記 (8千字)2001-08-31REM
- 破解GIF Movie Gear 3.01 (8千字)2002-03-13
- winrar2.71的破解和對暴破的一點想法 (4千字)2001-04-16
- supercleaner 2.0 超酷的系統清潔工具破解過程!
(3千字)2001-03-23
- Unfoxall 2.0 增強版完美破解方法 (2千字)2000-05-17
- 音樂處理acoustica2.0註冊碼破解及序號產生器 (8千字)2002-04-06
- 破解瑞星防毒軟體2001版,半位元組,沒搞錯吧??(破解手記) (1千字)2001-02-12防毒