NProtect 研究了一段時間也算是小有成果了
下面簡單說說NP的流程:
NP在遊戲exe裡面採用全局初始化時進行初始化 初始化首先建立各個通信event 然後啟動GameGuard檢查np自身檔案更新 然後讀取ini配置初始化NPGameLib 備份系統dll 然後啟動GameMon 在GameMon中根據ini的配置完成驅動加載隱藏進程 Hook所有進程以保護系統api調用當在其它進程調用這些保護的api時將比較對象是否為遊戲進程和api入口是否與備份的dll相同並再GameMon中啟動通信線程負責與遊戲進行通信以完成伺服器回包計算 CRC效驗等操作
NP基本就是這個流程
去NP關鍵也就是斷開GameMon與遊戲exe之間的通信 而對於伺服器效驗包則自己計算如需帶NP營運就去掉它的CRC效驗.
就做這麼多介紹吧
用冒險的np eg.
我也是摸索出來的,參考MPC上的方法,還要感謝dubious的幫助
先講講跳過nProtect的思路
1. 首先你機器是一個WEB伺服器。
2. 你的WEB連接埠為8086
3. 在你的WEB伺服器的根目錄裡建立目錄︰\maplestory\nProtect\GameGuard\RealServer\在目錄中放入已經被你修改的不在防外掛的nProtect。
4. 修改hosts檔案︰ 127.0.0.1 nprotect1.mxd.sdo.com
127.0.0.1 nprotect2.mxd.sdo.com
127.0.0.1 update.nProtect.com
127.0.0.1 update.nProtect.net
其實也不複雜的,仔細點就行了。用到的工具是Apache,因為要架設自己的NP伺服器。
安裝好Apache後,C:\WINDOWS\system32\drivers\etc 裡的host檔案裡加入上面的IP。
找到\Apache Group\Apache\conf裡的httpd.conf檔案,用記事本打開,找到part 80 改成part 8086。
然後到控制面板/管理工具/服務 找到Apache並選中,然後禁用它,再啟動。
這樣,你的伺服器就架設好了。
把NP的伺服器檔案到/ApacheGroup/Apache/htdocs/[maplestory/nProtect/GameGuard/RealServer] 裡。 打括號的檔案夾要自己建。
OK 成功bypass了
只要是上一次吸怪沒封時期的檔案就可以,因為bypass之後,NP不會去盛大的伺服器更新,而是直接在你電腦上更新,因為你電腦上的是老的不防怪的,所以NP就被退回到封吸怪以前的版本了,接下去怎麼做大家應該知道吧。。。
旁路NP的意義或者說好處︰舉個例子,如果架設的伺服器中的NP檔案是在V39剛出來的時候的,那麼上次被封的吸怪可以繼續使用
-----------------------------------------------------------------------------------------------------------------
跳過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更新伺服器可用本地機器完成(nProtect更新IP:127.0.0.1 有的安全軟體會屏蔽掉此個本地自連接IP);用VM虛擬機完成(VM虛擬的多系統可各自設定不同IP);或者。。。。。另外組一台機器來做也可。。。。。
--------------------------------------------------------------------------------------------------