QQ农场怎么开挂_qq农场矿山辅助(QQ官方下载)
很久沒更新博客了,今天就拿開發QQ開心農場外掛的一些問題來寫篇短日志充個數。
關于登陸
在web上,QQ登陸的時候是將密碼加密后再提交了,打開http://xiaoyou.qq.com,找到了密碼加密過程在http://imgcache.qq.com/campus/js/Mlogin.js文件中,通過解讀代碼可以了解到,QQ一共進行了4次的MD5運算,具體過程如下:
比如登陸填寫的密碼是aaaaaa,驗證碼abcd
首先將aaaaaa進行MD5運算,結果再進行兩次運算,得到XXXXXXXXXXXXXXXX(16位),然后把驗證碼轉換為大寫,與那16位組合成XXXXXXXXXXXXXXXXABCD(20位),再進行一次MD5運算,得到的結果就是加密后的密碼了。
關于FarmTime
這個是在農場中進行任何操作都需要提交的數據,如1255199347,明眼人一下就能看出這個是距離格林時間1970年1月1日的秒數,
可以通過如下代碼獲取系統當前距離70年的秒數:
time_t t=time(NULL);
可以通過如下代碼將秒數轉換為字符串:
strftime(szTime,MAX_STRING,”%m月%d日%H時%M分%S秒”,localtime(&t));
關于FarmKey
這個也是在農場中進行任何操作都需要提交的數據,它是對FarmTime進行某種運算后的結果。
這個運算過程的獲取應該是這個程序中的一個難點,運算過程可以通過反編譯農場主程序的幾個FLASH文件獲得。下面講講運算過程:
首先將FarmTime進行除10取余數,比如1255199347,取余為7,然后從字符串“sdoit78sdopig7w34057”
的第7+1個字符開始截取,得到sdopig7w34057,使用此字串與1255199347組合得到
1255199347sdopig7w34057,對其進行MD5運算,就得到了最終的FarmKey
關于名字
在農場數據中,所有的中文字符都被編碼過,比如:爆@活著 — /u7206@/u6d3b/u7740
要顯示它很簡單,代碼如下
WCHAR str[16];
char* p=(char*)str;
p[0]=0x06;
p[1]=0x72;
MessageBoxW(str); //就會顯示“爆”了。
而要轉換它用WideCharToMultiByte就能完成,編碼936
關于操作
農場操作都是苦力活啦,沒啥技巧的,拿個抓包工具抓抓包,然后模擬提交到服務器上即可。
比如要除草就向http://happyfarm.qzone.qq.com/api.php?mod=farmlandstatus&act=clearWeed這個鏈接POST數據farmTime=1255019524&place=1&ownerId=840110002&farmKey=166a0d2b7cd216661d5762e2f0f34785
其中ownerId代表被對方的ID,place代表某塊地,這樣就能除去那塊地的草咯。
由于反作弊的存在,還需要判斷服務器是否需要我們在某次操作中提交驗證碼。
關于反作弊
首先,要把數據包模擬的盡量一樣啦。
其次,要有運作邏輯,比如自動種菜功能,你不能向服務器提交讓服務器幫你種一個你根本沒有的種子,所以要先去判斷種子是否存在于背包中。
最后,把操作時間控制好,比如每3秒訪問1個人的地,或可以用隨機函數讓其操作時間隨機在一個范圍內,更加接近自然。
關于源碼
因為程序是有償為人代寫的,所以近期無法放出源碼。但如果你在編寫上需要什么幫助可以找我。
關于程序
請從下面地址下載:
http://down.qupan.com/down/luzjcn_4873891.html
本程序僅僅用于演示,正式版本會由購買者進行二次加工后發布。
總結
以上是生活随笔為你收集整理的QQ农场怎么开挂_qq农场矿山辅助(QQ官方下载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis 一般启动几个 哨兵_Redi
- 下一篇: 如何防止token被拦截_Spring