日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

揭密微信《跳一跳》小游戏那些外挂

發布時間:2024/8/26 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 揭密微信《跳一跳》小游戏那些外挂 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

張小龍:這個游戲發布以后,其實它的效果有點超出我們的預期,我們自己開玩笑說,這個游戲突然變成了有史以來可能用戶規模最大的一個游戲,因為它的DAU大概到了1點幾億,但同時出現了很多外掛,我沒有想到這么小的一款游戲也會有那么多外掛,我朋友圈的朋友也打出了特別高的分,但是我相信不是他自己打出來的。

1 月 15 日微信在廣州召開 2018 年的微信公開課 Pro,張小龍不僅當場玩了一把跳一跳游戲并取得了900多的高分,還特別提到了跳一跳小游戲的外掛:


在跳一跳這樣一個小的游戲里面,如果一個用戶看到里面有一堆外掛得了很高的分,對其他一些每天在練習,試圖把自己的水平提高,而打一個高分的人就很不公平,他可能就沒有動力繼續去練習,繼續超越自己個人的最高分數。所以這樣一個行為,外掛行為其實會破壞整個系統的規則,并且讓規則立即變得失效。

所以,我們這個小游戲發布以后,我們就開始花了很多很多時間來打擊外掛。

本著鉆研技術的學習態度,我對目前幾款比較火的外掛進行了源碼分析,總結出了它們的一些破解思路,其實這些作者都并非惡意,作為一個程序員,還有什么比用技術挑戰規則,突破極限要有成就感呢?

一、梳理

跳一跳的游戲可以細分為兩步驟:距離判斷 + 按壓模擬,這兩步都有下面這些解決方案:

1、距離判斷:
?

  • 簡單方案:像素點判斷
  • 進階方案:OpenCV 圖像分析


2、按壓模擬:
?

  • 簡單方案:adb/wda 指令
  • 進階方案:機械臂模擬手指點擊(原創)


下面逐一介紹這里的實現方法,非常有意思。

二、距離判斷

1. 像素點判斷

該方法采用自目前最火的跳一跳小游戲「輔助程序」:wechat_jump_game。
?


如上圖所示,我們先定義了「棋子」和「棋盤」,需要找到的兩個目標點用橙色點標注,首先針對棋子的目標點的判斷,可以這么做:
?


相關代碼:
?


而針對棋盤中心點的確認的思路則是這樣的:
?


當然還有一些其他方法來盡量縮小棋盤中心點的檢測區域,這里簡單介紹下:
?


當然,如果恰好跳到中心點,下一個棋盤中間會有白色點,則可以直接匹配中心點的色值,得到棋盤中心點,這種情況基本百發百中:
?


相關代碼:
?


但棋盤種類比較多,形狀也各異,而且棋盤表面并非純色,還有其他顏色,所以即使像素判斷的代碼里增加了很多特殊 case,依舊不能做到非常完美:
?


總結一下,目前這個方案基本沒有太大問題,但如果跳一跳游戲把背景改成了非線性漸變,或隨機飄落一些物體,或棋盤表面更加復雜,那這里的算法就基本不可用了。

2. OpenCV 圖像分析

基于像素點的判斷低效而且不夠健壯,而利用 OpenCV 計算機視覺庫則可以從圖像分析層面進一步簡化判斷邏輯提升效率,首先采用該方法的跳一跳小游戲「輔助程序」來自 wechat_jump_jump。它是這么得到棋子的位置的:
?


相關代碼:
?


接下來找棋盤的中心點,假如下一個棋盤存在白色的示意點,同樣采用上面的模板匹配方法進行匹配,若匹配不上(匹配值小于某閾值,也許下個棋盤本身就是白色,所以灰度圖分辨不出),則采用第二種方案:
?


這里是否準確的精髓就在于高斯濾波去除二手手機號拍賣平臺圖像噪音的臨界點以及 Canny 函數中閾值的設定,需要不斷調整參數到最優狀態。相關代碼:


三、按壓模擬

1. adb/wda 指令

這兩個分別是針對 Android 和 iOS 的命令行工具,可以將手機和電腦連接起來,并通過命令行發送指令,指令中就包含了屏幕的截圖和按壓模擬。不過 iOS 配置起來稍微麻煩一點,具體操作指引可以參考 這里。其核心的命令有:
?


當然,如果嫌配置麻煩,還可以通過 Android 的 AirDrop App 或 iOS 的 QuickTime 把手機屏幕投到電腦中,然后通過 Python 的 Pillow 庫來截取投屏的內容,再做進一步的圖像識別工作。還有一點值得一提,按壓時間這部分還是有優化的空間,前面提到了跳躍距離和按壓時間基本是線性關系,但越到后面可以越發現,距離并非和按壓時間絕對成線性比例,因為游戲本身不是一個純 2D 的平面場景(2.5D),所以我們測量到的直線距離在 2.5D 場景中是有變化的,雖然影響不大,但在游戲后期棋盤越來越小,距離越來越大時,容易凸現出問題來,所以關于距離的計算有幾種不同的解決:
?

擬合函數的細節可以參考

2. 機械臂模擬手指點擊

本著學術探究的態度,結合之前折騰開源硬件的經歷,所以也斗膽想給跳一跳小游戲增加一點動手環節,把觸摸模擬這一操作通過機械臂來物理完成,于是在萬能淘寶里淘了一個一百多快錢的機械臂和部分配件,自己編寫了控制代碼,把按壓時間傳輸作為機械臂按下的停留時間,想法確定后便開始購置物品:


?


到貨后折騰一兩個晚上,最后成功搭建好了,大家看看效果(電容筆偶爾還是會觸碰不良)。

通過對外掛程序源碼的研讀,學習到了非常多創新的思維,這也算是外掛留給代碼世界的果實。

總結

以上是生活随笔為你收集整理的揭密微信《跳一跳》小游戏那些外挂的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品理论在线观看 | 黄色电影在线视频 | 国产精品无码中文 | 美女扒开腿让人桶爽 | 婚后打屁股高h1v1调教 | 日韩亚洲第一页 | 日韩欧美在线精品 | 日本在线成人 | 日韩欧美国产一区二区三区 | 人妻与黑人一区二区三区 | 夜夜撸av| 成人一区二 | 青娱乐毛片 | 欧美日韩国产a | 最近中文字幕在线观看视频 | 久久666| 一区二区在线观看免费视频 | 精品www| 成人欧美在线观看 | 精品日本一区二区 | 欧美性猛交xxxx乱大交 | 国产日韩一区二区三区 | 欧美成人三级视频 | 91高潮大合集爽到抽搐 | 精品国产免费观看 | 欧美国产精品一区二区三区 | 男女污污网站 | av网址观看 | 很黄很色的视频 | 日韩亚洲精品视频 | 欧美精品动漫 | 成人无码一区二区三区 | 欧美永久视频 | 少妇高潮一区二区三区四区 | 国产一区二区三区小说 | 国产美女精品久久久 | 欧美片免费网站 | 岛国一区 | 国产美女自拍 | 91丨porny丨对白| 99成人在线视频 | 久久精品a亚洲国产v高清不卡 | 久久久久女 | sese在线视频 | 精品国产一区二区三区久久久久久 | 最新中文字幕 | 影音先锋成人资源网站 | 日本美女黄色一级片 | 国产一区二区视频网站 | 伊人成人在线观看 | 天天添天天射 | 91精品国产综合久久精品 | 一区二区三区精品 | 51精品国产 | 丝袜高跟av | 亚洲尤物在线 | 欧美国产成人精品一区二区三区 | xxx视频在线观看 | 夜夜爱夜夜操 | 泰坦尼克号3小时49分的观看方法 | 成人必看www. | 欧美一区免费看 | 免费黄色一区二区 | 免费网站看av | 5566毛片 | 天天草影院 | avtt在线| 黄色中文视频 | 久热超碰 | 欧美在线观看视频一区 | 久操精品在线 | 亚洲国产99 | 校园春色亚洲激情 | 天堂8在线天堂资源bt | 中文字幕亚洲乱码熟女一区二区 | 91亚洲专区 | 国产盗摄在线观看 | 国产成人无码av | 潘金莲黄色一级片 | 日本成人免费视频 | 好吊色一区二区三区 | 欧美做受高潮1 | 国产亚洲自拍一区 | 欧美日韩一区二区不卡 | 中文字幕超碰在线 | 欧美精品成人在线 | 就去吻综合 | 亚洲国产欧洲 | 玉丸(双性调教) | 中文字幕无人区二 | 毛片1000部免费看 | 欧美日韩视频免费观看 | 欧美激情黑白配 | 日本黄图 | 日韩一二三区 | 小说肉肉视频 | 少妇呻吟视频 | 久久久久久av无码免费网站下载 | 福利片av|