宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 5675|回复: 2

[页游辅助图文教程] 易语言+HttpWatch分析并编写Discuz! X1.51论坛管理器第九课——首次进入开心农场篇(一)

[复制链接]
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    潇潇 发表于 2012-4-5 23:30:06 | 显示全部楼层 |阅读模式
    本课的重点:1、首次进入“开心农场”的数据获取及易语言代码编写;
                         2、获取农场相关数据及易语言代码编写。

    一、首次进入“开心农场”的数据获取及易语言代码编写;
    我们正常登陆论坛后进入论坛界面也就是演示站中的“广场”版面,把HttpWatch工具打开后并按下Record按钮,单击“家园”,然后再点“开心农场”,如下图所示:




    这样操作,我们得到两个过程的数据,一是进入家园数据;二是进入开心农场数据。查看数据后,进入家园的数据对我们相对来说不是重点,如果进入开发农场用到些数据或链接我们再返回去看。现在我们来看下“进入开心农场”的数据,共60条数据,大家所截取的数据有可能只有59条。先分析第一、二条数据:
    1. + 0.000        0.672    1025    373    GET    302    Redirect to userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D    [url]http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978[/url]
    2. + 0.673        1.372    1046    14993    GET    200    text/html; charset=gbk    [url]http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D[/url]
    复制代码
    上现两条数据Http通信方式为GET,下面分析看下上面两条数据的各相关信息,
    第一条数据:
    Headers(协议头):
    1. (Request-Line)    GET /dzx151gbk/userapp.php?mod=app&id=1021978 HTTP/1.1
    2. Accept    image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
    3. Accept-Encoding    gzip, deflate
    4. Accept-Language    zh-cn
    5. Connection    Keep-Alive
    6. Cookie    6Qvx_2132_lastvisit=1333628254; 6Qvx_2132_sid=quCU75; 6Qvx_2132_lastact=1333631953%09home.php%09misc; _D_SID=E39D2ACE; 6Qvx_2132_seccodeS9cI0=457brC3zuwd%2FimVQH2aE0m8lq3w3z9B42IfCcAMA6W3EDpGAMbDaGbXRKqgsnZslrJHQfn65CcIWl6w; 6Qvx_2132_auth=d55bnSYpRtE1w070lufuDHAzejLUin7P9nJnVwMr3PSr%2BAMnpWKlz47nA6ZbOymg%2FWf5jj5oimBGylHU88DQ; 6Qvx_2132_ulastactivity=8c87f7uNaUt3b8EDmQNiE%2BDup5U%2F3rZ8yvMtWyDJBbmtH%2Fd61DTZ; 6Qvx_2132_home_readfeed=1333631944
    7. Host    demo.wgbcw.com
    8. Referer    [url]http://demo.wgbcw.com/dzx151gbk/home.php[/url]
    9. User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
    复制代码
    Query String(查询字串):
    1. id    1021978
    2. mod    app
    复制代码
    POST Data:无;  Content:
    Stream:1、
    1. GET /dzx151gbk/userapp.php?mod=app&id=1021978 HTTP/1.1
    2. Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
    3. Referer: [url]http://demo.wgbcw.com/dzx151gbk/home.php[/url]
    4. Accept-Language: zh-cn
    5. Accept-Encoding: gzip, deflate
    6. User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
    7. Host: demo.wgbcw.com
    8. Connection: Keep-Alive
    9. Cookie: 6Qvx_2132_lastvisit=1333628254; 6Qvx_2132_sid=quCU75; 6Qvx_2132_lastact=1333631953%09home.php%09misc; _D_SID=E39D2ACE; 6Qvx_2132_seccodeS9cI0=457brC3zuwd%2FimVQH2aE0m8lq3w3z9B42IfCcAMA6W3EDpGAMbDaGbXRKqgsnZslrJHQfn65CcIWl6w; 6Qvx_2132_auth=d55bnSYpRtE1w070lufuDHAzejLUin7P9nJnVwMr3PSr%2BAMnpWKlz47nA6ZbOymg%2FWf5jj5oimBGylHU88DQ; 6Qvx_2132_ulastactivity=8c87f7uNaUt3b8EDmQNiE%2BDup5U%2F3rZ8yvMtWyDJBbmtH%2Fd61DTZ; 6Qvx_2132_home_readfeed=1333631944
    复制代码
    2、
    1. HTTP/1.1 302 Moved Temporarily
    2. Connection: close
    3. Date: Thu, 05 Apr 2012 13:30:41 GMT
    4. Server: Microsoft-IIS/6.0
    5. X-Powered-By: ASP.NET
    6. X-Powered-By: PHP/5.2.8
    7. Content-Type: text/html; charset=gbk
    8. Set-Cookie: 6Qvx_2132_lastact=1333632641%09userapp.php%09app; expires=Fri, 06-Apr-2012 13:30:41 GMT; path=/
    9. Location: userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D
    复制代码
    第二条数据:
    Headers(协议头):
    1. (Request-Line)    GET /dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D HTTP/1.1
    2. Accept    image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
    3. Accept-Encoding    gzip, deflate
    4. Accept-Language    zh-cn
    5. Connection    Keep-Alive
    6. Cookie    6Qvx_2132_lastvisit=1333628254; 6Qvx_2132_sid=quCU75; 6Qvx_2132_lastact=1333632641%09userapp.php%09app; _D_SID=E39D2ACE; 6Qvx_2132_seccodeS9cI0=457brC3zuwd%2FimVQH2aE0m8lq3w3z9B42IfCcAMA6W3EDpGAMbDaGbXRKqgsnZslrJHQfn65CcIWl6w; 6Qvx_2132_auth=d55bnSYpRtE1w070lufuDHAzejLUin7P9nJnVwMr3PSr%2BAMnpWKlz47nA6ZbOymg%2FWf5jj5oimBGylHU88DQ; 6Qvx_2132_ulastactivity=8c87f7uNaUt3b8EDmQNiE%2BDup5U%2F3rZ8yvMtWyDJBbmtH%2Fd61DTZ; 6Qvx_2132_home_readfeed=1333631944
    7. Host    demo.wgbcw.com
    8. Referer    [url]http://demo.wgbcw.com/dzx151gbk/home.php[/url]
    9. User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
    复制代码
    Query String(查询字串):
    1. id    1021978
    2. mod    app
    3. my_suffix    Lw==
    复制代码
    POST Data:无; Content(返回内容):略。
    Stream(数据流):1、(Stream 2 请参考HttpWatch数据)
    1. GET /dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D HTTP/1.1
    2. Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
    3. Referer: [url]http://demo.wgbcw.com/dzx151gbk/home.php[/url]
    4. Accept-Language: zh-cn
    5. Accept-Encoding: gzip, deflate
    6. User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
    7. Host: demo.wgbcw.com
    8. Connection: Keep-Alive
    9. Cookie: 6Qvx_2132_lastvisit=1333628254; 6Qvx_2132_sid=quCU75; 6Qvx_2132_lastact=1333632641%09userapp.php%09app; _D_SID=E39D2ACE; 6Qvx_2132_seccodeS9cI0=457brC3zuwd%2FimVQH2aE0m8lq3w3z9B42IfCcAMA6W3EDpGAMbDaGbXRKqgsnZslrJHQfn65CcIWl6w; 6Qvx_2132_auth=d55bnSYpRtE1w070lufuDHAzejLUin7P9nJnVwMr3PSr%2BAMnpWKlz47nA6ZbOymg%2FWf5jj5oimBGylHU88DQ; 6Qvx_2132_ulastactivity=8c87f7uNaUt3b8EDmQNiE%2BDup5U%2F3rZ8yvMtWyDJBbmtH%2Fd61DTZ; 6Qvx_2132_home_readfeed=1333631944
    复制代码
    现在我们根据上面两条数据来编写代码,先看第一条数据中的协议头,和我们第八课的协议头多数一样,只有Referer有所关化,因为定义的是全局数据类型,我们重新附值就可以。我们参考Query String(查询字串)及“(Request-Line)    GET /dzx151gbk/userapp.php?mod=app&id=1021978 HTTP/1.1”(注:id为1021978是“开心农场”在网页上的编号,我们可以从进入家园的HttpWatch数据中看到。),编写下面的代码:
    1. .版本 2

    2. ' 首次进入开心农场第一条数据
    3. ' http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978
    4. ' 协议头的Referer有所变化
    5. Request.Referer = “http://demo.wgbcw.com/dzx151gbk/home.php”

    6. URL = “/dzx151gbk/userapp.php?mod=app&id=1021978”
    7. GET (URL, 返回内容)  ' 根据HttpWatch数据可知返回数据为空
    8. 输出调试文本 (“首次进入开心农场第一条数据=======” + 返回内容)
    9. 取Cookie并设置 (“http://” + Request.Host + URL)
    复制代码
    同理我们把第二条数据的易语言代码如下:
    1. .版本 2

    2. ' 首次进入开发农场第二条数据
    3. ' http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D
    4. URL = “/dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw==”
    5. GET (URL, 返回内容)  
    6. 输出调试文本 (“首次进入开心农场第二条数据=======” + 返回内容)
    7. 取Cookie并设置 (“http://” + Request.Host + URL)
    复制代码
    测试代码中……先把HttpWatch数据先上传上来吧:


    测试代码无误,正确返回数据。下面我们接着分析HttpWatch中的数据,经观察,第三、四、五、六条数据是关于网页样式及调用JavaScript脚本的数据,和农场数据无关则省略。而第七条数据,我们目前不知道有啥用,那还是按照它操作好了。易语言代码如下:
    1. .版本 2

    2. Request.Accept = “*/*”
    3. Request.Referer = “http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw==”

    4. ' http://demo.wgbcw.com/dzx151gbk/uc_server/avatar.php?uid=2&size=small
    5. URL = “/dzx151gbk/uc_server/avatar.php?uid=2&size=small”
    6. GET (URL, 返回内容)  ' 根据HttpWatch数据可知返回数据为空
    7. '输出调试文本 (“首次进入开心农场第七条数据=======” + 返回内容)
    8. 取Cookie并设置 (“http://” + Request.Host + URL)
    复制代码
    第八条数据,看到“my_iframe.js”,应该会想到frame就是农场的意思,这js脚本一定和农场有关,我们现在还不确定这文件到底有何用,我们在这先不用管它,还是按照协议操作下(注:无Cookies)。
    1. .版本 2

    2. ' 首次进入农场第八条数据
    3. ' 协议头有所变化
    4. ' (Request-Line) GET /scripts/my_iframe.js HTTP/1.1
    5. ' Host static.manyou.com
    6. ' Referer http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D
    7. Request.Host = “static.manyou.com”
    8. ' http://static.manyou.com/scripts/my_iframe.js
    9. 返回内容 = “”
    10. URL = “/scripts/my_iframe.js”
    11. GET (URL, 返回内容)  ' 根据HttpWatch数据可知返回数据为空
    12. 输出调试文本 (“首次进入开心农场第八条数据=======” + 返回内容)
    复制代码
    第九条数据是取账号头像的,略。
    现在我们来分析第十条数据URL
    1. + 2.486        0.444    888    4377    GET    200    text/html    http://apps.manyou.com/1021978/?my_uchId=2&my_sId=9022208&my_prefix=http%3A%2F%2Fdemo.wgbcw.com%2Fdzx151gbk%2F&my_suffix=%2F&my_current=http%3A%2F%2Fdemo.wgbcw.com%2Fdzx151gbk%2Fuserapp.php%3Fmod%3Dapp%26id%3D1021978%26my_suffix%3DLw%253D%253D&my_extra=&my_ts=1333632641&my_appVersion=0&my_fullscreen=0&my_sig=8d1d28e93c0092d3199c6207b19d1c8b
    复制代码
    Headers(协议头):
    1. (Request-Line)    GET /1021978/?my_uchId=2&my_sId=9022208&my_prefix=http%3A%2F%2Fdemo.wgbcw.com%2Fdzx151gbk%2F&my_suffix=%2F&my_current=http%3A%2F%2Fdemo.wgbcw.com%2Fdzx151gbk%2Fuserapp.php%3Fmod%3Dapp%26id%3D1021978%26my_suffix%3DLw%253D%253D&my_extra=&my_ts=1333632641&my_appVersion=0&my_fullscreen=0&my_sig=8d1d28e93c0092d3199c6207b19d1c8b HTTP/1.1
    2. Accept    image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
    3. ……
    4. Host    apps.manyou.com
    5. ……
    复制代码
    Query String(查询字串):
    1. my_appVersion    0
    2. my_current    http://demo.wgbcw.com/dzx151gbk/userapp.php?mod=app&id=1021978&my_suffix=Lw%3D%3D
    3. my_extra   
    4. my_fullscreen    0
    5. my_prefix    http://demo.wgbcw.com/dzx151gbk/
    6. my_sId    9022208
    7. my_sig    8d1d28e93c0092d3199c6207b19d1c8b
    8. my_suffix    /
    9. my_ts    1333632641
    10. my_uchId    2
    复制代码
    POST Data:无。ContentStream查看Http Watch数据。
    下面说说易语言编写代码时注意的几个要点:
    1、根据上面第十条数据的协议头内容可知Accept 和 Host和上一次GET通信相比有所变化,我们得重新赋值。
    2、看到GET的URL太长及查询字串数据太多,呵呵是不是被吓住了,我们以前提过“当前数据的POST或GET中的URL的内容多少都会利用前面通信的返回数据”,于是我们就在HttpWatch中搜索文本比如“9022208”,经搜索我们在第二条数据的返回内容里就可以找到它,取之。第二条数据中要取的地方:
    1. <iframe id="ifm0" frameborder="0" width="810" scrolling="no" height="810" style="position: absolute; top: -5000px; left: -5000px;" src="http://apps.manyou.com/1021978/?my_uchId=2&my_sId=9022208&my_prefix=http%3A%2F%2Fdemo.wgbcw.com%2Fdzx151gbk%2F&my_suffix=%2F&my_current=http%3A%2F%2Fdemo.wgbcw.com%2Fdzx151gbk%2Fuserapp.php%3Fmod%3Dapp%26id%3D1021978%26my_suffix%3DLw%253D%253D&my_extra=&my_ts=1333632641&my_appVersion=0&my_fullscreen=0&my_sig=8d1d28e93c0092d3199c6207b19d1c8b"></iframe>
    复制代码
    如果不想把它分成像查询字串那样,我们就直接取一长串字符就行,当然为了防止以后的代码中用到同一数值的话,最好还是像查询字串那样一个一个取出来。另因正则相对比较难些,我们这就用文本操作来取。

    增加内容(2013年3月16日)

    由于协议头有所变化,所以我又重新写了个GET1函数来实现接收数据,那么第十条数据执行的代码如下:
    .版本 2
    .支持库 iext2

    Request.Accept = “image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*”
    Request.Host = “apps.manyou.com”
    协议头 = “Accept:” + Request.Accept + #换行符 + “Accept-Encoding:” + Request.AcceptEncoding + #换行符 + “Accept-Language:” + Request.AcceptLanguage + #换行符 + “Connection:” + Request.Connection + #换行符 + “Host:” + Request.Host + #换行符 + “Referer:” + Request.Referer + #换行符 + “User-Agent:” + Request.UserAgent  ' + #换行符 + “x-requested-with:XMLHttpRequest”
    已创建连接 = 假
    my_值.my_uchId = 账号信息.uid
    URL = “”
    URL = “/1021978/?my_uchId=” + my_值.my_uchId + “&my_sId=” + my_值.my_sId + “&my_prefix=” + my_值.my_prefix + “&my_suffix=” + my_值.my_suffix + “&my_current=” + my_值.my_current + “&my_extra=” + my_值.my_extra + “&my_ts=” + my_值.my_ts + “&my_appVersion=” + my_值.my_appVersion + “&my_fullscreen=” + my_值.my_fullscreen + “&my_sig=” + my_值.my_sig
    输出调试文本 (“URL===============” + “/1021978/?my_uchId=” + my_值.my_uchId + “&my_sId=” + my_值.my_sId + “&my_prefix=” + my_值.my_prefix + “&my_suffix=” + my_值.my_suffix + “&my_current=” + my_值.my_current + “&my_extra=” + my_值.my_extra + “&my_ts=” + my_值.my_ts + “&my_appVersion=” + my_值.my_appVersion + “&my_fullscreen=” + my_值.my_fullscreen + “&my_sig=” + my_值.my_sig)
    临时字节集 = 取空白字节集 (20480)

    临时字节集 = GET_1 (URL, 协议头, 返回内容)
    输出调试文本 (“首次进入开心农场第十条数据=======” + 返回内容)
    主窗口.超级编辑框1.内容 = 到文本 (返回内容)



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    x
  • TA的每日心情
    奋斗
    2020-4-4 11:47
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    cake 发表于 2012-4-6 15:40:22 | 显示全部楼层
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

     楼主| 潇潇 发表于 2013-3-17 16:29:09 | 显示全部楼层
    呵呵,开始更新教程了……
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2025-5-7 21:52 , File On Powered by Discuz! X3.49

    快速回复 返回顶部 返回列表