最近懷舊服啟動了
玩(排)得我萎靡不堪
突然想起多年前寫過一個釣魚的按鍵精靈 趕緊搜出來助我一臂之力
奈何往年不知其珍貴 早不見了
千思萬想才在群空間的文件夾內翻出來一個exe版本
而源代碼已不知去向,如同我的青春一般。。。
不敢多想,趕緊上線試用一番,不禁感嘆當年花了2天寫的外掛,如此人性,
不僅可以調整視角進入掛機模式,還能自動上個魚餌,可問題也是不小。
新版本游戲里是可以坐着釣魚的,但現在只能站着 這樣視角產生嚴重偏差 再也不能愉快的上鈎了
從當年95%成功率掉到了現在的65% 還需要上下調整拿捏角度,
即便如此
一晚上也把釣魚從0沖到75
兩晚75-150
可如此低的成功率讓我十分不爽,
這要什么時候才能制霸wow的釣魚拍賣行呢?
所以 我要用python把精靈重構了!!
-------------------------------------------------------
開始寫實現過程,這里有個安全原則,
盡量使用前台來進行操作,我需要的不是改包或者改內存,這樣易被反掛插件發現,
所以不用hook去釣,連程序句柄都不抓,先寫准備工作
wow窗口化,
固定分辨率為1024×540,
釣魚放在1位,視角調為第一人稱視角,在可釣魚的情況下盡量使視角與水面平行並重合,所以能坐着釣魚很重要,可惜老版本並無此功能
alt+z進入電影模式
程序流程:
首先全屏抓圖,抓到窗口化wow的標題欄上面的wow圖標,確定程序位置,所以標題欄一定要有,鼠標定位在此。
開始按鍵盤1釣魚
鼠標下移,通過分辨率計算出大概魚鈎所在y軸,開始橫向運動,逐層掃描,掃到魚鈎時鼠標外觀會變化,以此為判定,停止移動
精靈流程:
鼠標通過外觀的變化做判斷,來移動至魚鈎的左上邊,在釣上魚的一瞬間,魚鈎下沉,鼠標會掉出魚鈎的判定范圍0.2秒左右,此時鼠標外觀會變化,由此判斷上鈎,右鍵提魚。
python流程:
通過抓包獲取魚上鈎數據,右鍵提魚。
---------------------------------------------------------
需要技術與類包
fiddler 分析接口
scapy 抓包
win32api GetCursor函數抓取鼠標外觀以及其他的鍵鼠移動等
aircv 圖像識別
首先截下整個電腦屏幕 然后用aircv做圖像識別wow圖標返回圖片坐標,為窗口坐標,
注意:截圖時由於win7標題欄是半透明的,顏色不定,最好用ps截取圖標芯內的圖像。。
-----------------------------------------------------
好吧 我傻了。。
fiddler只能分析http的包
看來還要靠的我的wireshark
簡單說下接口分析過程
打開游戲,關閉沒用的程序 包括戰網,老號排隊,建新號開打,
抓包瞅了眼,應用層使用的wow協議,內容都看不懂應該加密了,但使用技能打怪的時候,開頭的第一個十六位值是固定的,說明頭一個值是觸發的事件類型,后面的可能是傷害值或時間啥啥啥的,大概理解傳遞機制了,覺得有戲繼續
退號從上,再次抓包,確認事件代碼沒改,說明加密並非動態,簡簡單單。
這里有個竅門,以事件包的大小做查閱重點來進行記錄對比,很省心的
剩下的就是練到5級,開始釣魚,
(路上新手真多,跟我一通bb,抓的包不干凈,不易分析)
-----------------
下面上結果,可能分析的不對,僅供大家參考
但只要抓對上鈎事件包,其他無所謂了
不好意思 敏感信息比較多 畫的比較惡心
我們主要獲取的就是2e位置的編碼,這個是本機發往服務器的
每次執行釣魚時都會發一個含2e包給服務器,告訴服務器用戶開始釣魚了
以下為我獲知的編碼
本機 ->服務器
編碼,體積,解釋
2e,116,開始釣魚----2d 115
0a,80,保持在線活躍
4a,114
4a,114 三個一組 順序發送 代表跳
3e,132
服務器->本機
15,19,上鈎
35,123 ,附近玩家移動
----------------
接口分析完成
大概就是這個樣子 ,知識獲取的差不多了
運氣好 明天開始碼python
--------------------------------------------------