火狐瀏覽器下有著名的httpfox,而HttpWatch則是IE下強(qiáng)大的網(wǎng)頁(yè)數(shù)據(jù)分析工具。這個(gè)工具到底有哪些具體功能呢?這個(gè)我就不再贅述了,百度百科上列的很全面,但也比較抽象。我只想說(shuō)我曾經(jīng)用這個(gè)工具去分析QQ農(nóng)場(chǎng)的數(shù)據(jù)包,根據(jù)數(shù)據(jù)包制作輔助工作(當(dāng)然只是純技術(shù)研究,未對(duì)游戲商造成任何不好影響),教程最后會(huì)提供一下擴(kuò)展閱讀,對(duì)網(wǎng)頁(yè)游戲輔助工具制作感興趣的朋友可以感受下。
HttpWatchPro-v6.014
工具貓魔盒
httpwatch抓包工具的使用方法——方法/步驟httpwatch抓包工具的使用方法 1、
第一步當(dāng)然是先下載本教程的主角:HttpWatchPro-v6.014。
下載安裝。。。
httpwatch抓包工具的使用方法 2、
打開(kāi)HttpWatch
話說(shuō)這個(gè)HttpWatch,只支持IE,我不怎么使用IE,但是為了抓包,只好忍...
打開(kāi)IE,可以按下圖的操作,打開(kāi)HttpWatch,圖中分別截取的是IE8、IE9下的工具位置,不同版本的瀏覽器,這個(gè)工具的具體位置可能不同,各位仔細(xì)找找。
httpwatch抓包工具的使用方法 3、
正式開(kāi)始抓包!
我們來(lái)抓什么呢?就從最簡(jiǎn)單的開(kāi)始,我們來(lái)抓一個(gè),農(nóng)場(chǎng)挖地的包
先用IE登陸qzone.qq.com(這個(gè)...人人皆知)
輸入帳號(hào)密碼登陸,進(jìn)入農(nóng)場(chǎng)
先按下HttpWatch的 這個(gè)Record按鈕,開(kāi)始截取!當(dāng)然,抓其他包也一樣,順序是
抓包=>Record->執(zhí)行動(dòng)作->Stop->包就抓好了(見(jiàn)本步驟第一張圖)
至于那個(gè)Stop,后面會(huì)講到,主要為了防止抓去多余的數(shù)據(jù)包影響分析數(shù)據(jù)
我們來(lái)鏟掉任意一塊地(不是我狠心,如果你想做輔助工具,就按我的去做吧,之后還會(huì)介紹制作的方法)
(見(jiàn)本步驟第二張圖)
鏟掉以后,馬上點(diǎn)擊 Stop 這個(gè)按鈕
停止抓包,你是不是會(huì)驚奇地發(fā)現(xiàn)- -!數(shù)據(jù)出來(lái)了!
(見(jiàn)本步驟第三張圖)
沒(méi)錯(cuò),這就是大家夢(mèng)寐以求的數(shù)據(jù)!下一步,來(lái)分析這些數(shù)據(jù)!
httpwatch抓包工具的使用方法_抓包工具
httpwatch抓包工具的使用方法 4、
分析數(shù)據(jù)!
既然是分析,就每一項(xiàng)都要看到
先看"Overview"這一項(xiàng)
(見(jiàn)本步驟第一張圖)
最重要的數(shù)據(jù),就是我用紅框框起來(lái)的,這個(gè)是要post到的地址!所謂post,也就是請(qǐng)求,就是向騰訊的服務(wù)器發(fā)送一個(gè)請(qǐng)求,他會(huì)給你相對(duì)的回應(yīng),達(dá)到模擬操作農(nóng)場(chǎng)的目的
這可是最最重要,如果沒(méi)這個(gè)地址,就算你有再?gòu)?qiáng)的東西,也發(fā)不出去!
"Time Chart"無(wú)視- -!
接下來(lái),看"Headers",這個(gè)叫做"標(biāo)頭",里面是一些重要的數(shù)據(jù)
可是,好像在js里面,這些數(shù)據(jù)都被封裝了!
但是,我寫(xiě)C#的時(shí)候
Content-TypeCookieReferer這些東西都是要手動(dòng)去添加的
方便就是方便,繼續(xù)向下看
"Cookies"不必我多說(shuō),這是詳細(xì)分析cookie數(shù)據(jù)的
(見(jiàn)本步驟第二張圖)
筆直看到"postData",這個(gè)可是一大要點(diǎn)啊!
這是要Post的數(shù)據(jù),讓我們來(lái)分析一下下!
如果抓到的包是post類(lèi)型,就都會(huì)有這些數(shù)據(jù),還有一種類(lèi)型是get,這里不做介紹.
(見(jiàn)本步驟第三張圖)
我把數(shù)據(jù)列舉出來(lái)
cropStatus 0
farmKey fbbae8559ebc4f62f3d2b597141464b8 //這個(gè)是根據(jù)farmTime計(jì)算出來(lái)的
farmTime 1279757891 //這個(gè)是操作的時(shí)間,好像精確到了毫秒
ownerId 361410091 //這是ID
place 17 //這個(gè)是第幾塊地 是從0開(kāi)始數(shù)的 17其實(shí)是17+1=第18快地!
uIdx 361410091 //同樣是ID
uinY 361429651 //這個(gè)是你的QQ
再看到content,這個(gè)是返回?cái)?shù)據(jù)!
(見(jiàn)本步驟第四張圖)
我們把數(shù)據(jù)拿來(lái)分析,稍微懂一點(diǎn)英語(yǔ),就能看懂!
{"code":1,"direction":"","exp":0,"farmlandIndex":17,"levelUp":false}
code代表操作類(lèi)型,1就肯定是鏟除了
direction這個(gè),我也不知道代表什么,反正是空的!
exp代表增加的經(jīng)驗(yàn),因?yàn)槲业淖魑镞€沒(méi)有成熟,所以得到的經(jīng)驗(yàn)是0!
farmlandIndex也就是代表多少塊地,farm:農(nóng)場(chǎng)land:陸地Index:索引
levelUp也就代表是否升級(jí),false代表沒(méi)有,true代表有
httpwatch抓包工具的使用方法_抓包工具
httpwatch抓包工具的使用方法_抓包工具
httpwatch抓包工具的使用方法 5、
制作輔助!
這里要用到工具貓魔盒了!
我們先寫(xiě)界面代碼
創(chuàng)建main.htm,用記事本打開(kāi)即可
代碼為:
<html>
<head>
<script type="text/javascript" src="./lib/gnbox.js" title="魔盒核心庫(kù)"></script>
<script type="text/javascript" src="./lib/cn.js" title="魔盒中文化庫(kù)"></script>
<script type="text/javascript" src="./lib/md5.js" title="MD5加密函數(shù)"></script>
<script type="text/javascript" src="./lib/qqapp.js" title="QQ常用函數(shù)庫(kù)"></script>
</head>
<body>
<div id="qqlogin">當(dāng)前登錄QQ:<span id="cqq"></span></div>
<input type="button" value="鏟除" onclick="action((tt1).value)"></input>
//點(diǎn)擊這個(gè)按鈕,就執(zhí)行action這個(gè)函數(shù),他的參數(shù)為tt1的內(nèi)容,也就是,下面的輸入框,代表鏟除多少塊地
<input id="tt1" type="text" value="18"></input>
<script type="text/javascript">
installXMLHTTP();
/*讓用戶(hù)安裝xmlhttp 5.0*/
var qq=getqq();
/*獲取QQ號(hào)碼*/
$("cqq").innerHTML=qq;
/*設(shè)置 id="cqq" 的東西的內(nèi)容 等于 qq*/
</script>
<!--程序界面代碼開(kāi)始-->
<div>
塊地
</div>
<!--程序界面代碼結(jié)束-->
<script type="text/javascript" src="./main.js" title="程序主要JS"></script>
</body>
</html>
核心代碼,打開(kāi)main.js編輯
寫(xiě)入 action函數(shù),
function action(place)
{
var uId ;
//用戶(hù)id
var time = new Date().getTime();
time = Math.floor(time/1000);
//這兩句是算farmTime的,具體算法我也不清楚,gn說(shuō)一個(gè)十位數(shù),然后把算法給我了!
var key = getkey2(parseInt(time));
//這是qqapp.js里的一個(gè)函數(shù),取farmKey,注意,getkey1是第一版農(nóng)場(chǎng),2才是最新版本
var index = parseInt(place) - 1;
//這是代表鏟除的地,我給大家說(shuō)過(guò),post的時(shí)候,這個(gè)是從0開(kāi)始計(jì)數(shù)的!所以,我們要減去1
var qq = getqq();
//這個(gè)不多說(shuō),取到用戶(hù)的qq
if(place == "")
{
alert("請(qǐng)輸入第幾塊地!");
return null;
}
//這幾句是異常處理,如果輸入的是一個(gè)空東西,就會(huì)彈出提示,然后返回空.如果不加,會(huì)報(bào)錯(cuò)的!
Net.post("http://nc.qzone.qq.com/cgi-bin/cgi_farm_index",{
"mod" : "user",
"act" : "run",
"farmKey" : "85f004b176ec8fdb332a27422b145a02",
"farmTime" : "1258167411"
},function(rs){
var $rs=eval("("+rs+")");
uId=$rs.user.uId;
}
)
//這個(gè)是取用戶(hù)的數(shù)據(jù),大家post就知道,返回的是一大堆的東西,用alert只能彈出一部分,我推薦大家用write寫(xiě)出,
我們只需要uId= xxxx,因?yàn)樵诎l(fā)送的時(shí)候,需要uId,var $rs=eval("("+rs+")");這一句是說(shuō),把返回的內(nèi)容轉(zhuǎn)換為json數(shù)據(jù)
uId=$rs.user.uId;這個(gè)不要多說(shuō)了吧,為uId這個(gè)變量賦值,為返回?cái)?shù)據(jù)user這一部分的uId
Net.post("http://nc.qzone.qq.com/cgi-bin/cgi_farm_plant?mod=farmlandstatus&act=scarify",{
"cropStatus" : 0,
"farmKey" : key,
"farmTime" : time,
"ownerId" : uId,
"place" : index.toString(),
"uIdx" : uId,
"uinY" : qq
},function(返回){
alert(返回);
})
//這就是發(fā)送鏟地的數(shù)據(jù)了
}
以上代碼僅作參考。看看效果圖
本教程僅用作技術(shù)交流,請(qǐng)勿用于做壞事!
第五步的輔助制作代碼是很早以前的,現(xiàn)在應(yīng)該已經(jīng)失效,貼出來(lái)只是拋磚引玉,并不能直接拿來(lái)使用!
愛(ài)華網(wǎng)本文地址 » http://www.klfzs.com/a/25101010/10552.html
愛(ài)華網(wǎng)



