內容
介紹如何通過使用電腦端的chrome,修改手機端網頁游戲的運行參數,達到開掛(或者讓程序自動)玩游戲的效果。
目錄
實現原理
網頁游戲無論是在手機端還是電腦端,都是基於 HTML 和 Javascript 來實現交互效果的,游戲里人物的屬性,或者頁面上的點擊效果等都是通過 js 代碼來實現的,只要想辦法在游戲打開的狀態下修改其 js 代碼里的某些參數,就能達到開掛的效果,甚至可以編寫自己的 js 代碼來操作網頁元素,來達到讓程序自動玩游戲的效果。
在 chrome 里可以按 F12 打開 javascript控制台,在控制台的 Console 窗口可以執行自己編寫的 js 代碼來操作網頁元素。
電腦端網頁如何導入自己寫的js文件
由於需要自己編寫 js 代碼修改或者操作游戲的參數或者頁面元素,所以需要讓網頁載入自己編寫的 js 代碼。
下面嘗試一下
在 D 盤創建 1.html 文件,內容如下<html> <head> <meta charset="UTF-8"> <title>嘗試使用外部js代碼來修改網頁內容</title> </head> <body> <p>Text 1</p> <p>Text 2</p> <p>Text 3</p> </body> </html>在 chrome 中打開,並打開 javascript控制台
在 D 盤創建 1.js 文件,內容如下
function ale(str){ alert(str); }因為有些網頁游戲不是用 jquery 來實現的,下面嘗試載入 jquery 和自己編寫的 js 文件
在 Console 里粘貼下面全部代碼
var h=document.getElementsByTagName("head")[0]; var s=document.createElement("script"); s.src="jquery-1.8.0.js"; h.appendChild(s); var s=document.createElement("script"); s.src="1.js"; h.appendChild(s);若沒有下載 jquery-1.8.0,那上面的第三行可以修改為
s.src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"推薦下載到電腦里
在 Console 里輸入 $("p") 測試一下 jquery 是否成功載入(輸出三個 p 元素說明成功)
輸入 ale("成功載入1.js") 測試是否成功載入 1.js (有彈框說明成功)注:后面的教程里都是直接在控制台輸入 js 代碼來達到目的的,當游戲並不那么容易修改的的時候我們可能需要編寫大量的 js 代碼,那最好還是放在一個 js 文件里來載入到網頁會更好
嘗試在電腦端修改參數實現開掛效果
為了看到效果,我對“妹里尋味”這個游戲下手了,游戲畫面如下,附件里有離線版的游戲文件,在瀏覽器可以直接運行看到效果
先在 chrome 里打開 xunwei.html,按 F12 打開 javascript控制台,點擊 出發 -> 開始游戲,可以看到倒計時是60秒。
1、先試一下修改游戲時間
選擇控制台的 Sources
選中 main.min.js
能看到右邊窗口的代碼里標記着游戲時間的變量 allTime
先刷新網頁,然后在控制台的 Console 里輸入 _config.color.allTime=600 然后回車
這時候再按 出發 -> 開始游戲 就會發現游戲時間變成了600秒
2、嘗試編寫自動玩游戲的代碼在下面的頁面右擊“味”字選擇“審查元素“
看 HTML 結構
初步猜想是包含着”味“字的 span 被點擊后就會跳到下一關,在 Console 里編寫下面的代碼(默認 jquery 是已經被載入的,若沒載入,參考上面的載入方法)
這時候發現跳到下一關了
然后編寫下面的代碼實現自動玩游戲
setInterval(function(){$("#box span:contains('味'):last").click();}, 1000)
運行發現游戲已經能自動玩了,每一秒鍾玩一關
如何使用電腦端的chrome調試手機端網頁
准備工具:
- UC瀏覽器開發版,安裝到手機
- adb_tool.zip,里面包含 adb.ext 和 AdbWinApi.dll 文件,把它們都放到 C:/Windows/System32 和 C:/Windows/SysWOW64 文件夾里,如果你電腦之前有安裝過 Android SDK 的話,應該是已經有這兩個文件的了,就不需要下載
操作步驟:
- 在 cmd 里運行 adb version,如果有版本信息說明安裝成功,如 Android Debug Bridge version 1.0.26
- 開啟手機的 USB調試,手機用 USB 連上電腦
- 在 cmd 輸入 adb forward tcp:9998 tcp:9998,如果提示 adb server is out of date. killing... * daemon started successfully * 說明操作成功,如果不成功試多幾次
- 手機開啟 允許USB調試
- UC瀏覽器打開想調試的網頁,也就是 xunwei.html
- 在手機的 設置 -> 關於手機 -> 找到手機的IP地址,如 192.10.10.10,然后在電腦的 chrome 地址欄輸入 192.10.10.10:9998
- UC瀏覽器會提示是否允許調試,點擊允許,這時候 chrome 會顯示手機打開的所有頁面,選擇需要調試的頁面就可以在電腦端調試了,鼠標在頁面選中某元素,UC里會有選中的反應
嘗試在電腦端修改參數實現手機端的開掛效果
先用 UC 打開 xunwei.html,然后手機連電腦,在 chrome 里輸入 ***.***.***.***:9998,在 UC 里選擇 允許調試
然后在選擇游戲頁面
在 chrome 的 Console 里輸入
_config.color.allTime=600然后再開始游戲,發現UC里游戲時間能修改成功
在 chrome 輸入
$("#box span:contains('味'):last").click()發現 UC 里的游戲沒反應
分析想到手機端的點擊事件和電腦端的點擊事件應該是不一樣的,我們要觸發的事件應該是手機的點擊事件
拿電腦端網頁的游戲的 js 文件來分析,最終在 main.min.js 里發現了游戲源代碼里識別點擊事件的代碼
所以需要觸發的是 touchend 事件
在 chrome 的 Console 輸入
$("#box span:contains('味'):last").trigger("touchend")運行發現 UC 里的游戲跳到了下一關,下面來是實現自動玩游戲
Console 輸入
setInterval(function(){$("#box span:contains('味'):last").trigger("touchend")}, 1000)
運行就能實現自動玩游戲
附件
《妹里尋味》的網頁小游戲離線版 http://files.cnblogs.com/files/oushihua/xunwei_project.rar