就這樣跳啊跳...
擠地鐵跳,蹲馬桶跳,乘電梯跳,
靜默的每 1 秒都不能浪費
在辦公室,還要時刻警覺後面...
說好的工作呢...我控制不住我自己啊!
可是很多人費盡心思跳了一下午
也沒超過 100 分
但排行榜裡四分之三的人都超過三位數了……
真是扎心了……
今天小編來告訴你,如何才能獲取高分,如何才能佔據朋友圈榜首?
普通版本的高分秘籍是這樣的:
如果你每次都能挑到各自的正中間的話,可以 + 2 分,如果連著跳到中間會 + 4、+6、+8、+10……
跳到汙水井蓋上面,停留 2 秒,等到下水道聲音響起直接 + 5 分
跳到魔方上面,停留 2 秒,等到魔方轉正會直接 + 10 分
跳到音樂盒上面,停留 2 秒,等到音樂響起會直接 + 30 分
跳到便利店,停留 2 秒,等到便利店開門會直接 + 15 分
以上是針對普通用戶,但對咱們程序猿來說用這套太 Low 了,接下來要說的是如何從技術層面去實現高分:
在 Github 上面已經有人用 Python 來玩跳一跳這個遊戲了,想多少分就有多少分。
GitHub 地址:https://github.com/wangshub/wechat_jump_game
步驟:
安卓手機打開 USB 調試,設置》開發者選項》USB 調試。
電腦與手機 USB 線連接,確保執行 adb devices 可以找到設備 id。
界面轉至微信跳一跳遊戲,點擊開始遊戲。
運行 python wechat_junp_auto.py,如果手機界面顯示 USB 授權,請點擊確認。
很有趣!簡單點說就是:用電腦幫你玩微信跳一跳,全自動,不用手動。效果:
這裡梳理一份稍微完整一點的操作步驟,以 Mac 的為例,Win 的思路是一樣的。
另外,這裡用的是安卓手機,iOS 也差不多,不過要下載一個 5.5GB 的 Xcode。
1、下載程序,打開下面的連結,點右側 clone or download,再點 download zip。
2、解壓 zip 文檔,再把文件夾挪到桌面,打開文件夾,你會看到很多東東:
3、打開 mac 系統自帶的「終端」,這是一個命令行應用,win 用 cmd 就可以了吧。
4、通過終端進入文件夾,命令行如下:
~/Decktop/wechat_jump_game-master
5、安裝 pip,在終端輸入 sudo easy_install pip 再回車,可能要輸入密碼。
6、安裝各種依賴程序,在終端輸入 pip install -r requirements.txt 再回車,系統會自動安裝。
requirements.txt 就是文件夾裡的一個 txt 文檔,裡面寫著會自動安裝哪些程序。
pip 就是第 5 步安裝的程序,如果沒安裝,pip install -r requirements.txt 將無法執行。
7、安裝 adb,打開下面的連結查看,有 3 種方法,建議用第二種,是英文,如果你不懂英文可以百度中文教程。
https://stackoverflow.com/questions/31374085/installing-adb-on-mac-os-x
8、打開安卓手機的設置 - 開發者選項 - USB 調試(如果沒有開發者選項,可百度打開開發者選項的方法),用 USB 線連接手機和電腦,手機可能會彈出對話框,點同意。
如果出現運行腳本後小人不跳的情況,請檢查是否有打開「USB 調試(安全模式)」,記得順便打開 USB 模擬點擊。
9、在終端輸入 adb devices,如果看到下面這種信息,說明 adb 已正確安裝,也說明電腦成功檢測到手機。
如果你系統是 Win10 或 Win8 可能需要先設置一下「禁用強制驅動程序籤名」。
不然會出現下面的「文件的哈希值不在指定目錄中」安裝不上 adb 驅動的問題,網上有教程請自行學習。
10、打開微信跳一跳點開始,在終端輸入 python wechat_jump_auto.py 點回車,遊戲就會自動開始~ 請根據手機解析度運行相應的 *.py 文件。
注意:
我跳了很多次,最後都會掉下盒子,暫時最多只能跳到 1800+ 分,不能一直跳下去。
解析度不同,配置文件也不一樣,具體看 config 這個文件夾。
別刷太高分,有人刷到 4000,結果分數被微信清零。
只要有耐心,你就是王者
下面分析一下代碼,Main 部分有一個 While 循環,只要你不終止,它會一直重複操作。
Main部分代碼裡面主要調用的自定義函數有三個,還有一個 time.sleep 是為了延遲一下:
pull_screenshot()
這個函數主要是利用 adb 來獲取圖像,這裡順便說一下「adb」,adb 是連接 Android 手機與 PC 端的橋梁,可以讓用戶在電腦上對手機進行全面的操作。
藉助 adb 工具,我們可以管理設備,還可以進行如安裝軟體、系統升級、運行 Shell 命令等等操作。如「pull」就是獲取設備中的文件,想更多了解 ADB 請自行學習~
find_piece_and_board()
根據圖像獲取當前小人位置和落點的坐標系(piece_x, piece_y, board_x, board_y),這個是這個腳本中的核心部分。
jump
根據設定的「長按的時間係數」計算需要的按壓時間,這個係數是根據手機解析度推出來的,按壓時間設定不小於 200ms,核心命令是 adb 的「input swipe」。
「input swipe」模擬的是手指在屏幕上的滑動事件,如果兩個點坐標不變化就成了長按了。
代碼中四個變量的設置是:「swipe_x1,swipe_y1,swipe_x2,swipe_y2 = 320,410,320,410」,所以是模擬的長按,其實滑動也是可以的。
除了可以用 Python 實現高分,還有網友爆料還可以直接偽造 POST 請求刷分,直接改分數。
昨日,V2EX 網站上一篇題為《微信跳一跳 可以直接更改分數, POST 請求沒有校驗… 》的文章獲得大量曝光,帖中指出微信小程序存在漏洞,跳一跳小遊戲可以直接改分數。
用戶朱鵬飛根據帖子的指引,發現甚至連微信小程序、小遊戲的原始碼都可以直接下載,只需要知道 appid 和版本號,就可以直接構造 URL 下載後綴為 wxapkg 的源碼包,不需要任何驗證。
據微信公眾號「小專欄平臺」消息,截自 1 月 1 日 23:50,微信官方已經修復了這個漏洞。不過,據說一些老版本的微信還是可以抓包獲取包地址。
最後一個,微信已經修復 Bug(部分版本沒有修復),但只要利用好前面兩個攻略,再配合對節奏的把握,登上朋友圈前幾完全不在話下。
話不多說,趕緊去玩吧!!!
大家好,我是一名程式設計師,這就是2017年的我……
資深DBA萬字箴言:如何消除油膩的技術焦慮?
2018,程式設計師如何提高身價?一定要看12月的這十篇熱門文章!