嘗試在電腦端使用調試模式修改手機遊戲的參數達到外掛效果

內容

介紹如何經過使用電腦端的chrome,修改手機端網頁遊戲的運行參數,達到開掛(或者讓程序自動)玩遊戲的效果。javascript

目錄

實現原理html

電腦端網頁如何導入本身寫的js文件java

嘗試在電腦端的修改參數實現開掛效果jquery

如何使用電腦端的chrome調試手機端網頁ajax

嘗試在電腦端修改參數實現手機端的開掛效果chrome

附件瀏覽器

實現原理

網頁遊戲不管是在手機端仍是電腦端,都是基於 HTML 和 Javascript 來實現交互效果的,遊戲里人物的屬性,或者頁面上的點擊效果等都是經過 js 代碼來實現的,只要想辦法在遊戲打開的狀態下修改其 js 代碼裏的某些參數,就能達到開掛的效果,甚至能夠編寫本身的 js 代碼來操做網頁元素,來達到讓程序自動玩遊戲的效果。
在 chrome 裏能夠按 F12 打開 javascript控制檯,在控制檯的 Console 窗口能夠執行本身編寫的 js 代碼來操做網頁元素。app

電腦端網頁如何導入本身寫的js文件

因爲須要本身編寫 js 代碼修改或者操做遊戲的參數或者頁面元素,因此須要讓網頁載入本身編寫的 js 代碼。
下面嘗試一下
在 D 盤建立 1.html 文件,內容以下tcp

<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秒。

一、先試一下修改遊戲時間

選擇控制檯的 Sources

選中 main.min.js

能看到右邊窗口的代碼裏標記着遊戲時間的變量 allTime

先刷新網頁,而後在控制檯的 Console 裏輸入 _config.color.allTime=600 而後回車

這時候再按 出發 -> 開始遊戲 就會發現遊戲時間變成了600秒


二、嘗試編寫自動玩遊戲的代碼

在下面的頁面右擊「味」字選擇「審查元素「

看 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

相關文章
相關標籤/搜索