您好,登錄后才能下訂單哦!
最近因為機緣巧合,入了網易新手游軒轅劍龍舞云山的坑,非常喜歡里面的畫風,大愛~~
因為是個散人玩家,也沒什么朋友一起玩,玩了幾天之后,發現幫派任務總是很難完成,因為需要和幫眾組隊強盜什么的,程序員的時間哪有和普通人能湊到一起的,于是乎,想到了個辦法,就是建小號^_^。
剛開始,一個電腦,一個手機玩著還行,但是總是占著手機,也影響做事,于是乎,我嘗試著直接在電腦上登陸兩個號,結果官方PC端提示不支持兩開個。
于是乎,我尋思著該不該下個安卓模擬器什么的,一般也支持多開,試了幾個平臺,發現占資源不過,操作流暢度遠不如官方的PC版(這一點不得不說一下網易良心了,給手游提供了相當不錯的電腦客戶端)。
最后一想,活人還能讓尿憋死,咱也是寫代碼的,不行就研究一下,看看能不能通過代碼方式解決。
常言道,心動不如行動,于是,我開始構思基于.Net開發一套命令行參數和環境變量模擬的多開器
目前主流網游大部分的多開限制基本以啟動器/客戶端相互協作,啟動器先于客戶端運行,預判斷客戶端是否已經運行,再決定是否啟動客戶端。
這個環節中為了防止客戶端被直接啟動,啟動器和客戶端之間都會存在一些簡單的交互協議,來讓客戶端判斷當前啟動行為是否來自啟動器。
兩者的交互協議的傳輸方式一般分為以下幾種形式
命令行參數
環境變量
啟動器和客戶端的傳輸方式中,因第一種和第二種的設計開發成本較低,被廣泛采用,很多網游都是采用其中一種或者兩種結合的形式來控制多開。
本工具,就是介入到啟動器和客戶端之間,client007工具負責偽裝成客戶端收集和記錄兩者的交互內容,opener工具則負責偽裝成啟動器向客戶端發送交互內容,以此來達到欺騙客戶端,實現多開的目的。
同樣困擾的游友們,可以從以下兩個渠道獲取源代碼:
代碼中包含client007和opener兩個獨立的工具,需要單獨編譯。
先打開軒轅劍,使用Windows自帶的任務管理器就可以完成這個事情:
這個時候把軒轅劍關閉,將客戶端程序改個名:
將client007工具編譯后的client007.exe和dpz3.dll兩個文件拷貝到客戶端目錄下,并將client007.exe重命名為客戶端的名稱。
正常運行軒轅劍,發現顯示的不是登錄界面,而是我們的client007工具的界面:
點擊【保存到配置文件】生成配置文件:
將config.ini文件拷貝到opener工具的編譯輸出目錄中:
還原客戶端文件:
執行opener工具(軒轅劍有自身重復運行驗證,所有需要把創建副本勾上):
點擊【啟動客戶端】,發現客戶端正常啟動了,點幾下開幾個,開心^_^
至此,大功告成。
這次算是一個有趣的開發體驗,開發的小工具后來測試可以直接應用到其他網游中,測試通過的還有陰陽師(不用勾副本直接可以多開,又是網易家的,希望網易不會因此盯上我~),也算是一個小驚喜,大家發現哪個可以用的,也可以告訴我,讓我多一些成就感^_^
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。