- 閱讀權限
- 20
- 最後登錄
- 12-7-17
- 精華
- 0
- UID
- 2085010
- 帖子
- 202
- 積分
- 180
- 註冊時間
- 11-5-14
- 在線時間
- 111 小時
 
- UID
- 2085010
- 帖子
- 202
- 積分
- 180
- Good
- 15
- 註冊時間
- 11-5-14
- 在線時間
- 111 小時
|
步驟:
在np目錄裡找到GameMon.des(沒有+密,所以破解速度超快),改名為GameMon.exe,然後用WASM32打開,找程式的入口,然後用16位編輯器把第1個位元組改位c3(也就是彙編的ret),儲存退出,開開si,設定MessageBoxA斷點(bpxMessageBoxA),然後進入遊戲,在np更新的時候取消,進入中斷,按2下F12,再將EAX改為1就可以正長進入遊戲了,哈哈,大家發線了沒,np的監控進程閃了一下就沒了(誇張了說,其實跟本看不到^_^).盡情的修改遊戲進程吧,np以經不在啦.今天真高興,沒想到這個外掛殺手死到我的手下了.
工具:
1. uedit32 16進製編輯器
2. WASM32 反彙編工具
3. Soft-ICE 調試工具(我用的是SoftICE Driver Suite 2.7)
步驟:
1. 先找到遊戲裡的np目錄,一般都是GameGuard
2. 進去後有個***Mon.des,神話的是GameMon.des
3. 用WASM32打開GameMon.des,然後選擇功能表的 跳轉->到程式入口點
4. 記下來跳到的語句的16進製。。
5. 用UltraEdit(就是上面說的uedit32)打開GameMon.des
6. 然後搜尋剛才記下來的東西
8. 多找幾遍,要是有重複的話就再多記幾個字符,找到一個為止
9. 然後將第一個位元組改為3C,關掉WASM32然後儲存修改退出.
10.營運SI(Soft-ICE),然後設定斷點bpx MessageBoxA
11.營運遊戲,在np更新的時候點擊取消
12.等帶進入遊戲,這時SI跳出來會停在MessageBoxA處按2次F12,然後用R命令修改EAX為1,再按F5,完成
下面附一個高手的破解nProtect的過程。給大家參考。
代碼級破解。
首先看匯入函數,用到了IoAttachDeviceToDeviceStack,似乎走的還是設備棧的老路。於是祭出WinDbg檢視KeyboardClass0/1的設備棧,居然沒有異常,那八成就是掛鍵盤中斷了,匯入的函數HalGetInterruptVector就是用來干這個的。列出所有中斷向量(WinDbg沒有類似SoftICE的idt命令,不爽的很),一眼就發現n個80開頭的位址中有個f7開頭的,哈,就是它。
再次重啟系統,先列出原先的IDT,啟動QQ後還原被修改的條目,然後嘗試鍵盤記錄,無效。再看IDT,又被改回去了﹗在這個中斷向量的位址上設記憶體讀寫斷點,只斷到了讀操作,卻沒有寫操作。但明明就被改回去了啊。郁悶了一分鐘之後,我開始看驅動的反彙編代碼。從被斷到的讀操作開始跟蹤,我發現讀到的值被儲存在全局變量裡,而所有對這個變量的操作中,幾乎都是賦值,只有一個cmp指令,比較儲存的值和讀取的值,如果不同就關中斷,然後修改成QQ自己的中斷服務位址(難怪斷不到,關中斷了嘛)。
到這裡問題就算解決了,把緊隨cmp之後的jz改為jnz,中斷向量再也不會被改回去啦,鍵盤記錄(不管是哪種)當然也有效了,金鎖還是老樣子。所謂的“國際先進技術”原來只是從DOS時代就被大玩特玩的中斷掛鉤,鉤住鍵盤中斷後直接把ScanCode傳給應用程式。如果QQ能繞過Windows的中斷映射機製,控制PIC或APIC重新映射鍵盤中斷,那還有點看頭。
--------------------------------------------------------------------------------------------------
nProtect GameGuard 破解交流
小弟初學人搞了半天還是搞不定~nProtect
一開始以為nProtect就和~QQ的Npro一樣~跟蹤生成檔案之發現根本沒用
ANTI_APIHOOK程式檢測發現掛鉤~
OpenProcess
ReadProcessMemory鉤子
後來使用Toolhelp32ReadProcessMemory函數也不行
使用消息鉤子還可以插入~遊戲進程~但是想讀取記憶體也可以~直接讀取自身(這個我就不具體說了~差不多會程式化的人都會)
至於如何API-HOOK??就有點麻煩了~
1.尋找~插入DLL然後~卸載之
結果失敗~卸載不掉~(難道FreeLibrary也被掛鉤了?)
2.Ring3全局脫鉤~既然可以掛後我們的API~我們也就可以脫鉤~
把我們需要的一些~函數脫鉤後發現~也不能用~一直郁悶
3.當時就懷疑nPro是不是掛鉤~NTDLL.dll的匯出表了?
(一直以為是匯入表掛鉤~從來沒有想到過是類似防火牆的~匯出表掛鉤)
不幸的是~脫鉤後~程式就非法操作了(遊戲本身也掛了)
4.祭出最後一招~Ring3下的萬能絕學~VirtualAPIHook
透過調試暫存器~來動態脫鉤和~掛鉤API,搞了半天不但使程式體積明顯增大反而~有的時候不太穩定(因為是~調試模式所以有的時候會出現一點點問題~遊戲速度慢了)
記憶體讀取:
進程是插入了~但是你打算用金山游俠搜索記憶體是不太可能了~
驅動級隱藏進程了~冰刃下顯示紅色字體。。。
還好冰刃有個讀取目標進程功能(感謝一下pjf開發這麼好的功能)
可惜冰刃沒有搜索功能~郁悶~~
剩下的就是讀取記憶體和寫入記憶體了~不過這裡有個嚴重的問題﹗﹗
VirtualProtect也被掛鉤了‧~~改寫入記憶體的地方根本跑不起來~
結論:nPro到底是一個~遊戲保護程式還是一個~內核級後門??
前面的仁兄提到~一個問題。。就是他是使用消息鉤子掛鉤的﹗
那我們是不是先把SetWindowsHookEx函數封殺~讓他掛不了~
不知道理解是否正確~不過我感覺~
nPro作的有點過分了~~~nPro作的這麼牛不知道~在Win9x下是不是能完整的跑完遊戲(藍屏當機~呵呵)
-------------------------------------------------------------------------------------------------- |
|