史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 程式 & 網頁設計技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-02-15, 04:43 PM   #1 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 C語言學習系統 3.2 破解程序

C語言學習系統 3.2 破解程序 (很多人想要的,現完整貼出來)

【軟體名稱】:C語言學習系統 3.2
【軟體限制】:功能限制
【保護方式】:無
【破解工具】:Ollydbg + C32Asm + vbde
【編程語言】:VB6
【下載位址】:www.skycn.com 或者 www.baidu.com

【軟體簡介】:C語言學習軟體
—————————————————————————————————
【破解程序】:

這個和VB學習系統破解方法是差不多是一樣的

首先執行程序,看到一個註冊畫面,我同意按鈕經過延遲1-2秒好才能點擊進入程序界面

先解除NAG畫面

執行vbde載入主程序,看到它得到類似DEDE分析DEPHI語言的表單名和各種事件和具體偏移位址

點Forms按鈕,檢視frmSplit視窗,很容易知道它是啟動畫面

仔細一看frmSplit視窗裡面的4個事件,找需要看2個關鍵的,另外2個一個是結束,一個是說明 ,無須關心

CmdAgree "我同意"按鈕,入口位址:4B2300
Timer1_timer 控制按鈕1~2秒後可用,入口位址:4B28A0

OD載入,來到4B2300

004B2300 > 55 PUSH EBP ====>跳轉來自405038
004B2301 . 8BEC MOV EBP,ESP
004B2303 . 83EC 0C SUB ESP,0C

再看看timer事件入口

004B28A0 > 55 PUSH EBP ====>跳轉來自40506C
004B28A1 . 8BEC MOV EBP,ESP
004B28A3 . 83EC 0C SUB ESP,0C

找到跳轉

00405030 . 816C24 04 4700>SUB DWORD PTR SS:[ESP+4],47
00405038 . E9 C3D20A00 JMP 123.004B2300 ====>跳向"我同意"
0040503D . 816C24 04 5F00>SUB DWORD PTR SS:[ESP+4],5F
00405045 . E9 06D40A00 JMP 123.004B2450
0040504A . 816C24 04 3300>SUB DWORD PTR SS:[ESP+4],33
00405052 . E9 C9D40A00 JMP 123.004B2520
00405057 . 816C24 04 4300>SUB DWORD PTR SS:[ESP+4],43
0040505F E9 8CD60A00 JMP 123.004B26F0
00405064 . 816C24 04 4F00>SUB DWORD PTR SS:[ESP+4],4F
0040506C . E9 2FD80A00 JMP 123.004B28A0 ====>跳向Timer事件

我們直接把跳向時間事件的地方改成跳到"我同意"

將 JMP 004B28A0 改為 jmp 004B2300 儲存修改

執行試試,直接進入主表單

然後要隱藏NAG,不讓在螢幕中出現,眼不見為淨

點VBDE的From按鈕,看frmRegInfo的內容值

'offset: 00016361 ====>表單入口位址
VERSION 5.00
Begin VB.Form frmRegInfo
Caption = "註冊"
BorderStyle = 3 ====>視窗樣式,改為0,視窗就沒有邊框
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ClientLeft = 45
ClientTop = 330
ClientWidth = 5880 ====>表單的寬度,改為0
ClientHeight = 4575
ShowInTaskbar = 0 'False
StartUpsituation = 1 'CenterOwner

怎麼改?隨便用16進制編輯工具,我這裡用UE,習慣了

表單入口位址是16361,UE裡按ctrl+g輸入0x16361h來到這,如圖


OK了,執行程序後1~2秒顯示主視窗

接著破解了,使用"函數說明"的例題匯出時會提示"只有註冊用戶才可以看。。。。。"

c32asm反彙編,因為是VB程序,當然把"使用Unicode分析字元串"打上勾勾了

居然找到23處之多

::0045F849:: C745 94 7C8E4000 MOV DWORD PTR [EBP-6C],408E7C
::00463AFB:: C785 D4FEFFFF 7C8E4000 MOV DWORD PTR [EBP-12C],408E7C
::00463DF5:: C745 A4 7C8E4000 MOV DWORD PTR [EBP-5C],408E7C
::00465598:: C745 88 7C8E4000 MOV DWORD PTR [EBP-78],408E7C
::0046B74D:: C745 94 7C8E4000 MOV DWORD PTR [EBP-6C],408E7C
::0046F1CB:: C785 D4FEFFFF 7C8E4000 MOV DWORD PTR [EBP-12C],408E7C
::0046FA3D:: C745 8C 7C8E4000 MOV DWORD PTR [EBP-74],408E7C
::004711F1:: C785 D4FEFFFF 7C8E4000 MOV DWORD PTR [EBP-12C],408E7C
::00474724:: C745 94 7C8E4000 MOV DWORD PTR [EBP-6C],408E7C
::00475047:: C745 98 7C8E4000 MOV DWORD PTR [EBP-68],408E7C
::00477146:: C785 60FFFFFF 7C8E4000 MOV DWORD PTR [EBP-A0],408E7C
::0047889B:: C785 D4FEFFFF 7C8E4000 MOV DWORD PTR [EBP-12C],408E7C
::00478DF5:: C745 A4 7C8E4000 MOV DWORD PTR [EBP-5C],408E7C
::00479D38:: C745 88 7C8E4000 MOV DWORD PTR [EBP-78],408E7C
::0047DFFD:: C745 94 7C8E4000 MOV DWORD PTR [EBP-6C],408E7C
::00480DD1:: C785 D4FEFFFF 7C8E4000 MOV DWORD PTR [EBP-12C],408E7C
::0048EEDB:: C785 D4FEFFFF 7C8E4000 MOV DWORD PTR [EBP-12C],408E7C
::0048F229:: C745 94 7C8E4000 MOV DWORD PTR [EBP-6C],408E7C
::0048F8ED:: C745 8C 7C8E4000 MOV DWORD PTR [EBP-74],408E7C
::00494606:: C785 60FFFFFF 7C8E4000 MOV DWORD PTR [EBP-A0],408E7C
::004A4DDD:: C745 94 7C8E4000 MOV DWORD PTR [EBP-6C],408E7C
::004B35E3:: C745 9C 7C8E4000 MOV DWORD PTR [EBP-64],408E7C
::004B3813:: C745 9C 7C8E4000 MOV DWORD PTR [EBP-64],408E7C

先來0045F849

0045F808 . EB 7E JMP SHORT 123.0045F888
0045F80A > 8B35 A8114000 MOV ESI,DWORD PTR DS:[<&MSVBVM60.__vbaVa>; MSVBVM60.__vbaVarDup ====>跳轉來自45F6FD
0045F810 . B9 04000280 MOV ECX,80020004
0045F815 . 894D A4 MOV DWORD PTR SS:[EBP-5C],ECX
0045F818 . B8 0A000000 MOV EAX,0A
0045F81D . 894D B4 MOV DWORD PTR SS:[EBP-4C],ECX
0045F820 . BF 08000000 MOV EDI,8
0045F825 . 8D95 7CFFFFFF LEA EDX,DWORD PTR SS:[EBP-84]
0045F82B . 8D4D BC LEA ECX,DWORD PTR SS:[EBP-44]
0045F82E . 8945 9C MOV DWORD PTR SS:[EBP-64],EAX
0045F831 . 8945 AC MOV DWORD PTR SS:[EBP-54],EAX
0045F834 . C745 84 E08E40>MOV DWORD PTR SS:[EBP-7C],123.00408EE0
0045F83B . 89BD 7CFFFFFF MOV DWORD PTR SS:[EBP-84],EDI
0045F841 . FFD6 CALL ESI ; <&MSVBVM60.__vbaVarDup>
0045F843 . 8D55 8C LEA EDX,DWORD PTR SS:[EBP-74]
0045F846 . 8D4D CC LEA ECX,DWORD PTR SS:[EBP-34]
0045F849 . C745 94 7C8E40>MOV DWORD PTR SS:[EBP-6C],123.00408E7C ====>這

所以來到45F6FD

0045F6F5 . 66:833D 24A04B>CMP WORD PTR DS:[4BA024],0FFFF
0045F6FD . 0F85 07010000 JNZ 123.0045F80A ====>跳走出現錯誤

一個個的改跳轉嗎?太麻煩了,23處啊,再分析幾個跳轉,仔細看看發現一個共同的規律

每個關鍵的地方都是這種形式

00****** . 66:833D 24A04B>CMP WORD PTR DS:[4BA024],0FFFF

………………

00****** . 0F85 07010000 JNZ 123.00******

也就是說4BA024這的值影響是否成功,這裡的值必須是0FFFF

OD重新載入,在4BA024設定記憶體寫入斷點,f9執行中斷第1次

此時並不在程序領空裡,繼續f9執行中斷第2次

004AB11E 66:C705 24A04B>MOV WORD PTR DS:[4BA024],0 ====>斷在這裡

果然送0了,把0改成0FFFF即可!

—————————————————————————————————
【暴 破】:

解除NAG見文章開頭

破解這樣改

004AB11E 66:C705 24A04B000000>MOV WORD PTR DS:[4BA024],0
改成
004AB11E 66:C705 24A04B00FFFF>MOV WORD PTR DS:[4BA024],0FFFF
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 09:26 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1