NP就是:nProtect GameGuard
nProtect GameGuard 是一款比較著名的防作弊軟件,在玩家使用外掛(無論任何游戲的外掛,就算不是當(dāng)前游戲的外掛也不可以)的時(shí)候會(huì)提示"檢測到游戲被破解修改"并強(qiáng)行關(guān)閉游戲。
什么是nProtect?
nProtect是設(shè)計(jì)用于保護(hù)個(gè)人電腦終端不被病毒和黑客程序感染的新概念的基于網(wǎng)絡(luò)的反黑客和反病毒的工具。他幫助確保所有輸入個(gè)人電腦終端的信息在網(wǎng)絡(luò)上不落入黑客手中。在最終用戶在執(zhí)行電子貿(mào)易時(shí),可以通過將nProtect配置在那些提供電子商務(wù)、進(jìn)口貿(mào)易,電子貿(mào)易的金融機(jī)構(gòu)的網(wǎng)站上,來提高安全等級(jí)。
nProtect怎樣工作?
nProtect是一種基于服務(wù)器端的解決方案并且當(dāng)那些需要保護(hù)的任何網(wǎng)絡(luò)應(yīng)用被運(yùn)行時(shí)而自動(dòng)啟動(dòng)。nProtect被載入內(nèi)存,所以最終用戶不需要安裝任何應(yīng)用程序,只要nProtect啟動(dòng),就開始拒絕黑客工具和病毒的入侵!
目前網(wǎng)游的防御外掛程序基本只有4家! 有興趣的可以找他們的游戲來玩玩
NP、HackShield、X-play、Apex(唯一一家中國公司)由于是業(yè)內(nèi)人士不多加評(píng)論,僅談?wù)摷夹g(shù)問題
底層的實(shí)現(xiàn)和madz分析的差不多?? Apex占用的底層資源特別少,但是可憐的是技術(shù)勢(shì)力不夠,所以已經(jīng)瀕臨倒閉,目前還在苦苦支撐
游戲黑客程序員的工資少的有2000,多的有200萬,我碰到過許多類似的黑客程序,都是中國人
技術(shù)實(shí)力是真的很強(qiáng)! NP 在游戲業(yè)界已經(jīng)遭到鄙視,在圈子里有這樣一句話“誰用NP,誰游戲死”,雖然有點(diǎn)過激,客戶永遠(yuǎn)想象不到,要防止住所有的游戲黑客程序有多么的難! 可以說是完全不可能攔截住
底層的防外掛程序,也不希望能全部封鎖住所有的外掛,站在游戲運(yùn)營商的角度上,游戲沒外掛,那是一件可悲的事情,也是游戲即將倒閉的征兆。
為了運(yùn)營獲利,很多游戲公司都情愿放任一些不是特別BT的,對(duì)服務(wù)器的負(fù)荷沒有影響的外掛運(yùn)行,畢竟付錢的--錢多的=。=!! 也是這部分用外掛的外家! 衣食父母啊。。
(言歸正傳)底層的防外掛技術(shù),類似于給蛋黃加了一層雞蛋殼,雖然有時(shí)候這層殼會(huì)被打破,但是防外掛技術(shù)可以修復(fù)這個(gè)殼,從而防御掉黑客程序
打破殼----->修復(fù)殼----->打破殼---->修復(fù)殼。。。。。這樣永無止盡下去
當(dāng)然也有高手的黑客程序可以直接繞過防外掛技術(shù),具體用到的技術(shù),我不多說(要不我的事就多了)
嘿嘿! 今天就說到這里,雖然見解不高,但是希望能多感興趣的兄弟姐妹一點(diǎn)啟發(fā)
更多:http://bbs.pediy.com/showthread.php?t=75271
nProtect如何工作?
用戶登陸時(shí)nProtect自動(dòng)啟動(dòng)。
瀏覽器確認(rèn)和自動(dòng)安裝安全模塊到用戶的個(gè)人電腦。
掃描黑客工具和病毒
通知用戶目前的安全狀態(tài)
如果有黑客工具和病毒嘗試刪除
在被入侵時(shí)端駐留內(nèi)存來鎖定黑客工具直到電腦或者nProtect關(guān)閉。
nProtect GameGuard 的主要功能介紹:
實(shí)時(shí)偵測并封鎖修改游戲之黑客程序。
實(shí)時(shí)偵測并封鎖各類型系統(tǒng)病毒。
實(shí)時(shí)偵測并封鎖加速程序。
實(shí)時(shí)偵測并封鎖自動(dòng)鼠標(biāo)(連點(diǎn))程序。
封鎖不當(dāng)外掛程序。
封鎖各種意圖遠(yuǎn)程控制玩家個(gè)人計(jì)算機(jī)的動(dòng)作。
限制意圖側(cè)錄鍵盤鼠標(biāo)動(dòng)作的惡性程序。
限制可疑間諜程序,加強(qiáng)安全性。
使用此軟件的網(wǎng)絡(luò)游戲還有很多,比如:冒險(xiǎn)島國際服,信長野望online,希望online等等
再來談?wù)勑掳姹镜拿半U(xiǎn)島外掛問題:
目前在服務(wù)器上能屏蔽掉的一般都是高速戰(zhàn)斗,即兩次戰(zhàn)斗的數(shù)據(jù)傳輸時(shí)間間隔少于游戲設(shè)定的最少時(shí)間(比如說最快的攻擊是用小刀砍一下,假設(shè)這個(gè)時(shí)間是2秒,而某ip長時(shí)間以1秒傳送一次攻擊指令(既含有攻擊指令的封包),可以強(qiáng)制讓此ip斷線,但并不能做為封號(hào)的證據(jù))高速采集原理也差不多,還有瞬移等。
什么是封包?客戶端和服務(wù)器之間往來的數(shù)據(jù)就是封包
有學(xué)過計(jì)算機(jī)的因該都知道計(jì)算機(jī)網(wǎng)絡(luò)被OSI參考模型分為7層:
第1層:物理層;傳輸單位是比特流,既bit
第2層:數(shù)據(jù)鏈路層;傳輸單位是幀,既frame
第3層:網(wǎng)絡(luò)層;這一層傳輸?shù)木褪前耍萷acket
第4層: 傳輸層;傳輸單位是段,既segment
第5層:會(huì)話層;建立連接并保持連接暢通
第6層:表示層;將信息"表示"為一種格式,可以理解為就是"格式轉(zhuǎn)換"
第7層:應(yīng)用層。對(duì)軟件提供接口以使程序能使用網(wǎng)絡(luò)服務(wù)
數(shù)據(jù)在網(wǎng)絡(luò)中傳輸不是一整大段的傳輸?shù)模欠殖尚K傳輸?shù)模捎诒容^分散,所以封包。大家可以理解為"搬家的時(shí)候把東西打成包好搬運(yùn)"。
目前的外掛都是內(nèi)嵌于游戲中,對(duì)游戲所接收和發(fā)送的封包進(jìn)行截取,修改,重構(gòu)建等。
話說回來,nProtect GameGuard的確很厲害,從冒險(xiǎn)島更新它又來到我的硬盤上以后,我的ZoneAlarm防火墻就開始報(bào)警了,說它要監(jiān)視你的進(jìn)程,并且欲訪問網(wǎng)絡(luò),唉,沒辦法,為了玩冒險(xiǎn),只好放行咯。
試圖訪問internet
監(jiān)視冒險(xiǎn)島進(jìn)程
切出游戲后,你會(huì)發(fā)現(xiàn)右下角多了個(gè)這東西,翻譯過來就是"nProtect 游戲監(jiān)視程序 版本624"
什么是ZoneAlarm?ZoneAlarm是世界著名的防火墻之一,它的強(qiáng)大只有用過才知道
順便說一句,世界頂級(jí)防火墻是 Look n Stop ,可惜在中文系統(tǒng)上使用時(shí)問題比較多,我就跟它88了(廣告先止住,免得有人扔磚)
值此,我想大家覺得冒險(xiǎn)島純凈時(shí)代再次來臨了吧?
不過很可惜,答案是否定的。
很多人說nProtect GameGuard很厲害,但是我要告訴大家:中國人更厲害!!
破解nProtect:
nProtect GameGuard在啟動(dòng)后使用SetWindowsHookEx(Inject DLL)方式進(jìn)入所有的進(jìn)程,并且在
OpenProcess()
ReadProcessMemory()
WriteProcessMemory()
PostMessage()
。。。。。。。。。。等等函數(shù)的頭部加入JMP XXXXXX的代碼跳入監(jiān)測程序進(jìn)行監(jiān)測,如發(fā)現(xiàn)對(duì)游戲進(jìn)行操作便攔截該操作,所以以上函數(shù)均無法正常工作。于是,就避免了外掛問題。
解決方案:
1.運(yùn)行時(shí)將要使用的動(dòng)態(tài)連接庫(如:user32.dll kernel32.dll等)復(fù)制后改名,使用LoadLibrary和GetProcAddress載入函數(shù)。
要使用LoadLibrary和GetProcAddress載入函數(shù),你需要有Visual Studio .NET,或者其中的Visual Basic和Visual C++,當(dāng)然,你還要會(huì)使用他們,而且你還要知道nProtect GameGuard運(yùn)行時(shí)到底調(diào)用了哪些動(dòng)態(tài)連接庫(這時(shí)候大家就八仙過海各顯神通吧,想盡一切辦法,如果你搞錯(cuò)了的話。。。。。后果自己負(fù)責(zé)咯。。。。。。。。。)
2.恢復(fù)JMP XXXXXX處的代碼
需要很高的技術(shù)并有很大的危險(xiǎn)性,而且不知道會(huì)不會(huì)再被改。。。。。。一但失敗,后果自己負(fù)責(zé)咯。。。。。。
3.如果nProtect GameGuard非正常關(guān)閉(看大家本事了),JMP XXXXXX處的代碼不會(huì)被恢復(fù)而監(jiān)測程序代碼卻已經(jīng)被卸載,這時(shí)候如果被Hook程序調(diào)用函數(shù)。。。。。。后果自己負(fù)責(zé)咯。。。。。。
反正失敗后后果都好不到哪里去,除了電腦爆炸之外,大家就自己去想吧,所以,小心,小心,再小心!
跳過nProtect:
首先要清楚,nProtect通過連接其更新服務(wù)器獲得當(dāng)前最新文件內(nèi)容,然后與本地文件作比較,如發(fā)現(xiàn)服務(wù)器端的文件與本地的不一致,則從更新服務(wù)器重新下載文件更新本地的nProtect文件。如果nProtect更新成功,而新版nProtect又?jǐn)r截外掛,那么理所當(dāng)然地nProtect每更新一次外掛就失效一次了。
通過分析游戲客戶端用于解析該游戲各程序與其對(duì)應(yīng)遠(yuǎn)端連接的IP列表文件,找出nProtect更新服務(wù)器的地址,并分析出nProtect官方更新服務(wù)器上的目錄文件結(jié)構(gòu)。
目錄文件結(jié)構(gòu)一般為: "更新服務(wù)器的名稱\\GameGuard"
先自己構(gòu)建一臺(tái)模擬nProtect更新服務(wù)器,服務(wù)器上目錄文件結(jié)構(gòu)與官方的相同,更新下載文件內(nèi)容使用舊版nProtect的內(nèi)容(舊的客戶端先別忙著刪除。。。。。)
將真實(shí)nProtect更新服務(wù)器的地址,解析到你構(gòu)建的模擬nProtect更新服務(wù)器的IP地址.
例: 127.0.0.1gg.muchina.com
寫入到 system32\\drivers\\etc 的 host 文件中
這個(gè) host 文件為系統(tǒng)TCP/IP協(xié)議配置IP解析服務(wù), 沒有后綴名,可用記事本或UE32打開編輯。
通常一個(gè)網(wǎng)游的順利運(yùn)行,是要連接服務(wù)器端多個(gè)IP的("nProtect服務(wù)","連接服務(wù)","數(shù)據(jù)服務(wù)","登陸服務(wù)","主服務(wù)"。。。。。。。)
而這一系列的服務(wù)都是由一個(gè)游戲主程序的啟動(dòng)運(yùn)行來完成(如"命運(yùn)"的"WYDLaucher.exe","奇跡"的"Main.exe","冒險(xiǎn)島"的"MapleStory.exe")
由于host文件已被修改過,其中nProtect更新的連接IP被解析為指向自己模擬的更新服務(wù)器,而模擬服務(wù)器上的"更新文件"是舊版本的,所以nProtect不但不會(huì)被更新為新版,反而會(huì)版本倒退。并且往后都不會(huì)再更新。。。。。。。。
另一個(gè)方法,則是直接修改游戲主程序代碼內(nèi)容,就是暴力修改了。
由于nProtect的功能是附在游戲主程序的開頭獨(dú)立執(zhí)行的,所以,通過對(duì)游戲主程序進(jìn)行破解處理后,將游戲主程序關(guān)于nProtect的執(zhí)行部分的代碼打上無效化標(biāo)記,就很自然地跳過了nProtect了。
補(bǔ)充一下,構(gòu)建模擬nProtect更新服務(wù)器可用本地機(jī)器完成(nProtect更新IP:127.0.0.1 有的安全軟件會(huì)屏蔽掉此個(gè)本地自連接IP);用VM虛擬機(jī)完成(VM虛擬的多系統(tǒng)可各自設(shè)置不同IP);或者。。。。。另外組一臺(tái)機(jī)器來做也可。。。。。
還有,脫殼的方法比較不實(shí)際,因?yàn)橐粋€(gè)當(dāng)前網(wǎng)游的完整客戶端主程序的脫殼工作是很繁重的, 須要多CPU服務(wù)器級(jí)的技能才能比較有效率的完成(據(jù)程序外殼加密方式而定, 雙P4 1.8G/1G RAM的系統(tǒng)跑MU97d的main.exe脫殼,半天左右吧。。。。。。), 脫殼后也不是人人都有能力對(duì)程序作適當(dāng)修改,高級(jí)C語言編程能力的要求是跑不掉的。這個(gè)還是太難了點(diǎn)。。。。。。。
ok,關(guān)于nProtect就先說到這里,相信我們中國人的力量是強(qiáng)大的,外掛會(huì)與不久的將來再次與我們見面,其實(shí)這只是個(gè)時(shí)間問題而已。。。。。
聽沒聽說過"兩手抓,兩手都要硬?"這里引用下,代理商無權(quán)直接處理外掛制作者,這個(gè)權(quán)利只有法律有,代理商也只能通過法律來進(jìn)行打擊,而代理商屬于強(qiáng)勢(shì)群體,要履行"誰主張,誰舉證"的原則。問題就在這個(gè)證據(jù)上,在網(wǎng)絡(luò)上,對(duì)某個(gè)人的某個(gè)程序的所有進(jìn)行舉正是非常困難的,這個(gè)也是為什么外掛木馬病毒漫天飛,國家卻打擊不了的原因。所以代理商只能通過整治游戲的使用人群來達(dá)到清理外掛的目的。這就是目前冒險(xiǎn)里封號(hào)的原因!
既然要說到強(qiáng)勢(shì)群體,那玩家就是弱勢(shì)群體,代理商說你用了外掛,請(qǐng)問你能去反查么?抵制外掛,從自己做起。有些人很不服,為什么連變速齒輪都封?我的意見就是"要封就全都封"一個(gè)都不留,想想2004年的冒險(xiǎn),我們沒有變速齒輪不是一樣玩的很開心嗎?沒有變速,時(shí)間長了也就適應(yīng)了。
這次盛大號(hào)稱的集成反外掛程序原來就是nProtect這個(gè)東西,它就像鎖一樣:防君子不防小人。再厲害的鎖,只要你想搞掉它,就一定有辦法。nProtect也一樣,其實(shí)還是時(shí)間問題。。。。。