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