黃易群俠傳M脫機外掛應用程式黃易神行
47939
30

[分享] nProtect的破解

w8743219 發表於 2009-7-22 12:38:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |
nProtect的破解先申明這文章是我在找搜尋關於nProtect時找到的,我相信現在遊戲很多都有裝上這個來檔外掛,所以覺得這文章在製作外掛上應該還蠻有幫助的,所以轉貼來這裡,希望對各位達人有幫助
此文章是在某網站的"流星"大大所寫
===========================================================================
nProtect GameGuard 是一款比較著名的防作弊軟體,在玩家使用外掛(無論任何遊戲的外掛,就算不是當前遊戲的外掛也不可以)的時候會提示"檢測到遊戲被破解修改"並強行關閉遊戲。

什麼是nProtect?

nProtect是設計用於保護個人電腦終端不被病毒和駭客程序感染的新概念的基於網路的反駭客和反病毒的工具。他幫助確保所有輸入個人電腦終端的信息在網路上不落入駭客手中。在最終用戶在執行電子貿易時,可以通過將nProtect配置在那些提供電子商務、進口貿易,電子貿易的金融機構的網站上,來提高安全等級。

nProtect怎樣工作?

nProtect是一種基於服務器端的解決方案並且當那些需要保護的任何網路應用被運行時而自動啟動。nProtect被載入記憶體,所以最終用戶不需要安裝任何應用程序,只要nProtect啟動,就開始拒絕駭客工具和病毒的入侵!

nProtect如何工作?

用戶登陸時nProtect自動啟動。
瀏覽器確認和自動安裝安全模塊到用戶的個人電腦。
掃瞄駭客工具和病毒
通知用戶目前的安全狀態
如果有駭客工具和病毒嘗試刪除
在被入侵時端駐留記憶體來鎖定駭客工具直到電腦或者nProtect關閉。

nProtect GameGuard 的主要功能介紹:

實時偵測並封鎖修改遊戲之駭客程序。
實時偵測並封鎖各類型系統病毒。
實時偵測並封鎖加速程序。
實時偵測並封鎖自動滑鼠(連點)程序。
封鎖不當外掛程序。
封鎖各種意圖遠程控制玩家個人電腦的動作。
限制意圖側錄鍵盤滑鼠動作的惡性程序。
限制可疑間諜程序,加強安全性。

使用此軟體的網路遊戲還有很多,比如:冒險島國際服,信長野望online,希望online等等

再來談談新版本的冒險島外掛問題:

目前在服務器上能屏蔽掉的一般都是高速戰鬥,即兩次戰鬥的資料傳輸時間間隔少於遊戲設定的最少時間(比如說最快的攻擊是用小刀砍一下,假設這個時間是2秒,而某ip長時間以1秒傳送一次攻擊指令(既含有攻擊指令的封包),可以強制讓此ip斷線,但並不能做為封號的證據)高速採集原理也差不多,還有瞬移等。

什麼是封包?客戶端和服務器之間往來的資料就是封包

有學過電腦的因該都知道電腦網路被OSI參考模型分為7層:

第1層:物理層;傳輸單位是比特流,既bit
第2層:資料鏈路層;傳輸單位是畫格,既frame
第3層:網路層;這一層傳輸的就是包了,既packet
第4層: 傳輸層;傳輸單位是段,既segment
第5層:會話層;建立連接並保持連接暢通
第6層:表示層;將信息"表示"為一種格式,可以理解為就是"格式轉換"
第7層:應用層。對軟體提供接口以使程序能使用網路服務

資料在網路中傳輸不是一整大段的傳輸的,而是分成小塊傳輸的,由於比較分散,所以封包。大家可以理解為"搬家的時候把東西打成包好搬運"。

目前的外掛都是內嵌於遊戲中,對遊戲所接收和發送的封包進行截取,修改,重構建等。

話說回來,nProtect GameGuard的確很厲害,從冒險島更新它又來到我的硬碟上以後,我的ZoneAlarm防火牆就開始報警了,說它要監視你的進程,並且欲訪問網路,唉,沒辦法,為了玩冒險,只好放行咯。

試圖訪問internet


監視冒險島進程

切出遊戲後,你會發現右下角多了個這東西,翻譯過來就是"nProtect 遊戲監視程序 版本624"


什麼是ZoneAlarm?ZoneAlarm是世界著名的防火牆之一,它的強大只有用過才知道
順便說一句,世界頂級防火牆是 Look n Stop ,可惜在中文系統上使用時問題比較多,我就跟它88了(廣告先止住,免得有人扔磚)


值此,我想大家覺得冒險島純淨時代再次來臨了吧?

不過很可惜,答案是否定的。

很多人說nProtect GameGuard很厲害,但是我要告訴大家:中國人更厲害!!

破解nProtect:

nProtect GameGuard在啟動後使用SetWindowsHookEx(Inject DLL)方式進入所有的進程,並且在
OpenProcess()
ReadProcessMemory()
WriteProcessMemory()
PostMessage()
。。。。。。。。。。等等函數的頭部加入JMP XXXXXX的代碼跳入監測程序進行監測,如發現對遊戲進行操作便攔截該操作,所以以上函數均無法正常工作。於是,就避免了外掛問題。

解決方案:

1.運行時將要使用的動態連接庫(如:user32.dll kernel32.dll等)複製後改名,使用LoadLibrary和GetProcAddress載入函數。

要使用LoadLibrary和GetProcAddress載入函數,你需要有Visual Studio .NET,或者其中的VisualBasic和Visual C++,當然,你還要會使用他們,而且你還要知道nProtectGameGuard運行時到底調用了哪些動態連接庫(這時候大家就八仙過海各顯神通吧,想盡一切辦法,如果你搞錯了的話。。。。。後果自己負責咯。。。。。。。。。)

2.恢復JMP XXXXXX處的代碼

需要很高的技術並有很大的危險性,而且不知道會不會再被改。。。。。。一但失敗,後果自己負責咯。。。。。。

3.如果nProtect GameGuard非正常關閉(看大家本事了),JMP XXXXXX處的代碼不會被恢復而監測程序代碼卻已經被卸載,這時候如果被Hook程序調用函數。。。。。。後果自己負責咯。。。。。。

反正失敗後後果都好不到哪裡去,除了電腦爆炸之外,大家就自己去想吧,所以,小心,小心,再小心!


跳過nProtect:

首先要清楚,nProtect通過連接其更新服務器獲得當前最新檔案內容,然後與本地檔案作比較,如發現服務器端的檔案與本地的不一致,則從更新服務器重新下載檔案更新本地的nProtect檔案。如果nProtect更新成功,而新版nProtect又攔截外掛,那麼理所當然地nProtect每更新一次外掛就失效一次了。

通過分析遊戲客戶端用於解析該遊戲各程序與其對應遠端連接的IP列表檔案,找出nProtect更新服務器的地址,並分析出nProtect官方更新服務器上的目錄檔案結構。
目錄檔案結構一般為: "更新服務器的名稱\\GameGuard"
先自己構建一台模擬nProtect更新服務器,服務器上目錄檔案結構與官方的相同,更新下載檔案內容使用舊版nProtect的內容(舊的客戶端先別忙著刪除。。。。。)
將真實nProtect更新服務器的地址,解析到你構建的模擬nProtect更新服務器的IP地址.
例: 127.0.0.1gg.muchina.com
寫入到 system32\\drivers\\etc 的 host 檔案中

這個 host 檔案為系統TCP/IP協議配置IP解析服務、沒有後綴名,可用記事本或UE32打開編輯。
通常一個網游的順利運行,是要連接服務器端多個IP的("nProtect服務","連接服務","資料服務","登陸服務","主服務"。。。。。。。)
而這一系列的服務都是由一個遊戲主程序的啟動運行來完成(如"命運"的"WYDLaucher.exe","奇跡"的"Main.exe","冒險島"的"MapleStory.exe")
由於host檔案已被修改過,其中nProtect更新的連接IP被解析為指向自己模擬的更新服務器,而模擬服務器上的"更新檔案"是舊版本的,所以nProtect不但不會被更新為新版,反而會版本倒退。並且往後都不會再更新。。。。。。。。

另一個方法,則是直接修改遊戲主程序代碼內容,就是暴力修改了。
由於nProtect的功能是附在遊戲主程序的開頭獨立執行的,所以,通過對遊戲主程序進行破解處理後,將遊戲主程序關於nProtect的執行部分的代碼打上無效化標記,就很自然地跳過了nProtect了。


補充一下,構建模擬nProtect更新服務器可用本地機器完成(nProtec●嚴禁張貼私服●7.0.0.1 有的安全軟體會屏蔽掉此個本地自連接IP);用VM虛擬機完成(VM虛擬的多系統可各自設置不同IP);或者。。。。。另外組一台機器來做也可。。。。。

還有,脫殼的方法比較不實際,因為一個當前網游的完整客戶端主程序的脫殼工作是很繁重的、須要多CPU服務器級的技能才能比較有效率的完成(據程序外殼加密方式而定、雙P4 1.8G/1GRAM的系統跑MU97d的main.exe脫殼,半天左右吧。。。。。。)、脫殼後也不是人人都有能力對程序作適當修改,高級C語言編程能力的要求是跑不掉的。這個還是太難了點。。。。。。。


ok,關於nProtect就先說到這裡,相信我們中國人的力量是強大的,外掛會與不久的將來再次與我們見面,其實這只是個時間問題而已。。。。。


聽沒聽說過"兩手抓,兩手都要硬?"這裡引用下,代理商無權直接處理外掛製作者,這個權利只有法律有,代理商也只能通過法律來進行打擊,而代理商屬於強勢群體,要履行"誰主張,誰舉證"的原則。問題就在這個證據上,在網路上,對某個人的某個程序的所有進行舉正是非常困難的,這個也是為什麼外掛木馬病毒漫天飛,國家卻打擊不了的原因。所以代理商只能通過整治遊戲的使用人群來達到清理外掛的目的。這就是目前冒險裡封號的原因!


既然要說到強勢群體,那玩家就是弱勢群體,代理商說你用了外掛,請問你能去反查麼?抵制外掛,從自己做起。有些人很不服,為什麼連變速齒輪都封?我的意見就是"要封就全都封"一個都不留,想想2004年的冒險,我們沒有變速齒輪不是一樣玩的很開心嗎?沒有變速,時間長了也就適應了。


這次盛大號稱的集成反外掛程序原來就是nProtect這個東西,它就像鎖一樣:防君子不防小人。再厲害的鎖,只要你想搞掉它,就一定有辦法。nProtect也一樣,其實還是時間問題。。。。。
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


skit006142 當前離線
UID
1301128
熱心
27 值
嘉獎
0 次
違規
0 次
在線時間
15 小時
經驗
11 點
積分
799
精華
0
最後登錄
2018-8-6
閱讀權限
30
註冊時間
2009-8-28
論壇幣
739 幣
聯合幣
6 枚
幸運鑽
0 顆
招待卷
100 點
查看詳細資料
Rank: 4Rank: 4
skit006142 2009-8-28 23:33:14
喔 原來是這樣
你這個文章 能該能幫很多作外掛的人
回覆

使用道具 舉報

vash 當前離線
UID
1304753
熱心
220 值
嘉獎
0 次
違規
0 次
在線時間
8 小時
經驗
220 點
積分
220
精華
0
最後登錄
2009-9-7
閱讀權限
25
註冊時間
2009-9-3
論壇幣
470 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
QQ 查看詳細資料
Rank: 3
vash 2009-9-3 22:08:08
就算知道這樣的原理   製作外掛還是很難啊  -_-!
蘿莉有三好:
清音
腰柔
易推倒
回覆

使用道具 舉報

xiamgfei 當前離線
UID
444343
熱心
22 值
嘉獎
0 次
違規
0 次
在線時間
5 小時
經驗
20 點
積分
20
精華
0
最後登錄
2013-9-21
閱讀權限
20
註冊時間
2007-7-16
論壇幣
170 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
xiamgfei 2009-9-7 05:31:13
真神人也~上了好大的一課~
開始對外掛這塊區域感興趣了~加油!!
回覆

使用道具 舉報

S-BB 當前離線
UID
538360
熱心
399 值
嘉獎
0 次
違規
0 次
在線時間
114 小時
經驗
389 點
積分
2956
精華
0
最後登錄
2013-9-6
閱讀權限
40
註冊時間
2007-9-8
論壇幣
2038 幣
聯合幣
1 枚
幸運鑽
0 顆
招待卷
6338 點
查看詳細資料
Rank: 5Rank: 5Rank: 5
5
S-BB 2009-9-17 22:42:40
現在更新了新的NP就麻煩得多了.....要用dllviewer去找variables來製作外掛 :)
回覆

使用道具 舉報

harpist 當前離線
UID
1317540
熱心
9 值
嘉獎
0 次
違規
0 次
在線時間
1 小時
經驗
7 點
積分
7
精華
0
最後登錄
2013-11-18
閱讀權限
5
註冊時間
2009-9-25
論壇幣
13 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
6
harpist 2009-9-25 05:03:27
太困難了...
但是怎麼外掛還是那麼多
回覆

使用道具 舉報

ooxx21036 當前離線
UID
1317756
熱心
20 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
20 點
積分
20
精華
0
最後登錄
2009-9-25
閱讀權限
20
註冊時間
2009-9-25
論壇幣
41 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
7
ooxx21036 2009-9-25 17:22:59
非常詳細啊...
雖然很複雜可是一定還是有人會去做的XD
回覆

使用道具 舉報

ul6cl429 當前離線
UID
73797
熱心
73 值
嘉獎
0 次
違規
0 次
在線時間
97 小時
經驗
60 點
積分
642
精華
0
最後登錄
2018-8-2
閱讀權限
30
註冊時間
2006-11-5
論壇幣
405 幣
聯合幣
6 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 4Rank: 4
8
ul6cl429 2009-11-22 22:09:33
你好~
我在看這篇文章時我問到了一些問題


nProtect GameGuard在啟動後使用SetWindowsHookEx(Inject DLL)方式進入所有的進程,並且在
OpenProcess()
ReadProcessMemory()
WriteProcessMemory()
PostMessage()
。。。。。。。。。。等等函數的頭部加入JMP XXXXXX的代碼跳入監測程序進行監測

Inject DLL 這是代表啥啥咪咚咚

能請大大解釋詳細一點嗎??
謝謝
回覆

使用道具 舉報

sinsfk 當前離線
UID
1291001
熱心
9 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
5 點
積分
30
精華
0
最後登錄
2018-8-7
閱讀權限
20
註冊時間
2009-8-13
論壇幣
10 幣
聯合幣
6 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
9
sinsfk 2009-12-3 19:11:16
唔。。总算是知道了一些NP的运行机制了。。。谢谢楼主了
回覆

使用道具 舉報

ming951010 當前離線
UID
1365751
熱心
18 值
嘉獎
0 次
違規
0 次
在線時間
3 小時
經驗
18 點
積分
18
精華
0
最後登錄
2010-2-8
閱讀權限
10
註冊時間
2009-12-5
論壇幣
26 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
10
ming951010 2009-12-5 15:03:53
谢谢楼主的分享~! 我现在知道什么是NP了。长见识了
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

1234下一頁

手機版 | Archiver | 外掛聯合國

GMT+8, 2024-5-3 01:03 , Processed in 0.073573 second(s), 18 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?