宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[页游辅助图文教程] 易语言+HttpWatch分析并编写Discuz! X1.51论坛管理器第二课

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

    [LV.4]偶尔看看III

    潇潇 发表于 2012-3-3 17:18:42 | 显示全部楼层 |阅读模式
    我们先打开HttpWatch所保存的数据如下图所示:

    上次分析了第一条数据,现在我们把第二条数据复制出来(选中后右键选择 Copy Row):
    + 0.674                2.687        926        4794        GET        200        text/xml; charset=gbk        http://wgbcwsoft.web-108.com/1.5 ... =fwin_content_login


    从图中不难看出所截取的第二条数据用得是GET方法,根据网络数据交换方面的知识应该会想起这么一点:本机客户端所发送到服务器的数据中多少都有上次服务器返回来的数据的一部分,当然如果是第一次和服务器交互时的数据一定没有了(如果不理解的朋友,你只要记住这好了,接触多了慢慢得会知道是怎么回事了)。

    那现在我们就找找易语言+HttpWatch分析并编写Discuz! X1.51论坛管理器第一课中那些返回的数据和下面这段数据有关:
    http://wgbcwsoft.web-108.com/1.51/member.php?mod=logging&action=login&auth=55dem%2BRgn7mTn3h10XIfc9Q9xRiV8s8qwbRn2rdfIS0Uj4NxoqZr1k82ZrQ&referer=http%3A%2F%2Fwgbcwsoft.web-108.com%2F1.51%2Fforum.php&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login

    不难发现我们在第一课中发现下面三段相关数据:
    第一、在第一课中用所分析到的数据编写了一段易语言代码,测试中分析所返回的数据如下图所示:


    第二、第一课中的"Content"数据:
    <?xml version="1.0" encoding="gbk"?>
    <root><![CDATA[location_login<script type="text/javascript" reload="1">if(typeof errorhandle_ls=='function') {errorhandle_ls('location_login', {'type':'1'});}</script><script type="text/javascript">showWindow('login', 'member.php?mod=logging&action=login&auth=55dem%2BRgn7mTn3h10XIfc9Q9xRiV8s8qwbRn2rdfIS0Uj4NxoqZr1k82ZrQ&referer=http%3A%2F%2Fwgbcwsoft.web-108.com%2F1.51%2Fforum.php')</script>]]></root>

    或者第三、第一课中的"Stream"的第二部分数据:
    <?xml version="1.0" encoding="gbk"?>
    <root><![CDATA[location_login<script type="text/javascript" reload="1">if(typeof errorhandle_ls=='function') {errorhandle_ls('location_login', {'type':'1'});}</script><script type="text/javascript">showWindow('login', 'member.php?mod=logging&action=login&auth=55dem%2BRgn7mTn3h10XIfc9Q9xRiV8s8qwbRn2rdfIS0Uj4NxoqZr1k82ZrQ&referer=http%3A%2F%2Fwgbcwsoft.web-108.com%2F1.51%2Fforum.php')</script>]]></root>

    稍微有点JavaScript知识的朋友应该看出在上面三段代码中有"showWindow",这函数应该就是登陆时所弹出的验证码窗口数据。经比较后发现都有共同的部分:
    第二条GET方法的数据:
    member.php?mod=logging&action=login&auth=55dem%2BRgn7mTn3h10XIfc9Q9xRiV8s8qwbRn2rdfIS0Uj4NxoqZr1k82ZrQ&referer=http%3A%2F%2Fwgbcwsoft.web-108.com%2F1.51%2Fforum.php

    "Content"数据:
    member.php?mod=logging&action=login&auth=55dem%2BRgn7mTn3h10XIfc9Q9xRiV8s8qwbRn2rdfIS0Uj4NxoqZr1k82ZrQ&referer=http%3A%2F%2Fwgbcwsoft.web-108.com%2F1.51%2Fforum.php

    "Stream"数据:
    member.php?mod=logging&action=login&auth=55dem%2BRgn7mTn3h10XIfc9Q9xRiV8s8qwbRn2rdfIS0Uj4NxoqZr1k82ZrQ&referer=http%3A%2F%2Fwgbcwsoft.web-108.com%2F1.51%2Fforum.php

    易语言编程测试后返回的数据略,可参考上面的图。

    上面三条数据及上面示图所示的数据中不难发现除了"auth="之后及"&referer"之前的数据不一样外,其它都相同,经多次截取数据后发现这地方不同,有兴趣的朋友可以试下,毕竟在这写这么多不动手也是空谈。

    根据上面所分析表明:在HttpWatch中的第二条数据就是第一条数据返回数据中的一部分,那这样我们可用易语言工具接着写第二条数据所执行的GET方法了,首先要取得第一条数据中返回的数据,我们必须要用到系统核心库中的"文本操作"里的几个命令,另外在易语言工具默认的支持库中也只有"HTTP读文件"这个命令,我们就用它来编写代码好了,写代码中……稍后继续

    好了测试代码写好了,如下:
    1. .版本 2
    2. .支持库 internet

    3. .子程序 _按钮1_被单击
    4. .局部变量 返回的数据, 字节集, , , 第一课定义
    5. .局部变量 RequestLine, 文本型, , , 第一课定义
    6. .局部变量 PostData, 文本型, , , 第一课定义
    7. .局部变量 Host, 文本型, , , 第一课定义
    8. .局部变量 RequestLine2, 文本型, , , 第二课定义showWindow里的重要数据
    9. .局部变量 member位置, 整数型, , , 第二课定义member文本位置
    10. .局部变量 referer位置, 整数型
    11. .局部变量 referer, 文本型

    12. ' 第一课代码开始=====================
    13. Host = “http://wgbcwsoft.web-108.com”
    14. RequestLine = Host + “/1.51/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1”
    15. PostData = “username=” + 编辑框1.内容 + “&password=” + 编辑框2.内容 + “&quickforward=yes&handlekey=ls”
    16. 返回的数据 = HTTP读文件 (RequestLine + “&” + PostData)

    17. 调试窗口.编辑框1.加入文本 (到文本 (返回的数据))  ' 第二课改

    18. ' 第二课代码开始
    19. .如果 (到文本 (返回的数据) ≠ “”)
    20.     member位置 = 寻找文本 (到文本 (返回的数据), “member”, , 假)
    21.     referer位置 = 寻找文本 (到文本 (返回的数据), “referer”, , 假)
    22.     RequestLine2 = 取文本中间 (到文本 (返回的数据), member位置, referer位置 - member位置 - 1)
    23.     调试窗口.编辑框1.加入文本 (“第一条数据返回:===========” + RequestLine2 + “===========”)

    24.     .如果 (RequestLine2 ≠ “”)
    25.         referer = Host + “/1.51/”
    26.         返回的数据 = HTTP读文件 (referer + RequestLine2 + “&referer=” + referer + “forum.php&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login”)
    27.         调试窗口.编辑框1.加入文本 (到文本 (返回的数据))
    28.     .否则

    29.     .如果结束

    30. .否则
    31.     调试窗口.编辑框1.加入文本 (“服务器没返回数据,请检查……”)
    32. .如果结束
    复制代码
    经测试后返回如下数据:
    1. <?xml version="1.0" encoding="gbk"?>
    2. <root><![CDATA[
    3. <div id="main_messaqge_L5FK5" style="width: auto">
    4. <div id="layer_login_L5FK5">
    5. <h3 class="flb">
    6. <em id="returnmessage_L5FK5">
    7. 请补充下面的登录信息</em>
    8. <span><a href="javascript:;" class="flbc" onclick="hideWindow('login', 0, 1);" title="关闭">关闭</a></span>
    9. </h3>
    10. <form method="post" autocomplete="off" name="login" id="loginform_L5FK5" class="cl" onsubmit="pwdclear = 1;ajaxpost('loginform_L5FK5', 'returnmessage_L5FK5', 'returnmessage_L5FK5', 'onerror');return false;" action="member.php?mod=logging&amp;action=login&amp;loginsubmit=yes&amp;handlekey=login&amp;loginhash=L5FK5">
    11. <div class="c cl">
    12. <input type="hidden" name="formhash" value="639a1588" />
    13. <input type="hidden" name="referer" value="http://wgbcwsoft.web-108.com/1.51/forum.php" />
    14. <input type="hidden" name="auth" value="fa1fw0EkvNa/NZbsn53JK1BfnzdchK3tPMCdP+yHrM1ieLbsA3aqaJMk+dA" />

    15. <input name="sechash" type="hidden" value="SZAUF" />

    16. <div class="rfm"><table><tr><th>验证码: </th><td><input name="seccodeverify" id="seccodeverify_SZAUF" type="text" autocomplete="off" style="width:100px" class="txt px vm" onblur="checksec('code', 'SZAUF')" tabindex="1" />
    17. <a href="javascript:;" onclick="updateseccode('SZAUF');doane(event);" class="xi2">换一个</a>
    18. <span id="checkseccodeverify_SZAUF"><img src="static/image/common/none.gif" width="16" height="16" class="vm" /></span>

    19. <span id="seccode_SZAUF"></span>
    20. <script type="text/javascript" reload="1">updateseccode('SZAUF');</script>
    21. </td></tr></table></div>



    22. <div class="rfm  bw0">
    23. <table>
    24. <tr>
    25. <th></th>
    26. <td><label for="cookietime_L5FK5"><input type="checkbox" class="pc" name="cookietime" id="cookietime_L5FK5" tabindex="1" value="2592000"  />自动登录</label></td>
    27. </tr>
    28. </table>
    29. </div>

    30. <div class="rfm mbw bw0">
    31. <table width="100%">
    32. <tr>
    33. <th>&nbsp;</th>
    34. <td>
    35. <button class="pn pnc" type="submit" name="loginsubmit" value="true" tabindex="1"><strong>登录</strong></button>
    36. </td>
    37. <td>
    38. </td>
    39. </tr>
    40. </table>
    41. </div>

    42. </div>
    43. </form>
    44. </div>
    45. <div id="layer_lostpw_L5FK5" style="display: none;">
    46. <h3 class="flb">
    47. <em id="returnmessage3_L5FK5">找回密码</em>
    48. <span><a href="javascript:;" class="flbc" onclick="hideWindow('login')" title="关闭">关闭</a></span>
    49. </h3>
    50. <form method="post" autocomplete="off" id="lostpwform_L5FK5" class="cl" onsubmit="ajaxpost('lostpwform_L5FK5', 'returnmessage3_L5FK5', 'returnmessage3_L5FK5', 'onerror');return false;" action="member.php?mod=lostpasswd&amp;lostpwsubmit=yes&amp;infloat=yes">
    51. <div class="c cl">
    52. <input type="hidden" name="formhash" value="639a1588" />
    53. <input type="hidden" name="handlekey" value="lostpwform" />
    54. <div class="rfm">
    55. <table>
    56. <tr>
    57. <th><label for="lostpw_username">用户名:</label></th>
    58. <td><input type="text" name="username" id="lostpw_username" size="30" value=""  tabindex="1" class="px p_fre" /></td>
    59. </tr>
    60. </table>
    61. </div>
    62. <div class="rfm">
    63. <table>
    64. <tr>
    65. <th><label for="lostpw_email">Email:</label></th>
    66. <td><input type="text" name="email" id="lostpw_email" size="30" value=""  tabindex="1" class="px p_fre" /></td>
    67. </tr>
    68. </table>
    69. </div>

    70. <div class="rfm mbw bw0">
    71. <table>
    72. <tr>
    73. <th></th>
    74. <td><button class="pn pnc" type="submit" name="lostpwsubmit" value="true" tabindex="100"><span>提交</span></button></td>
    75. </tr>
    76. </table>
    77. </div>
    78. </div>
    79. </form>
    80. </div>
    81. </div>

    82. <div id="layer_message_L5FK5" style="display: none;">
    83. <h3 class="flb" id="layer_header_L5FK5">
    84. <em>用户登录</em>
    85. <span><a href="javascript:;" class="flbc" onclick="hideWindow('login')" title="关闭">关闭</a></span>
    86. </h3>
    87. <div class="c"><div class="alert_right">
    88. <div id="messageleft_L5FK5"></div>
    89. <p class="alert_btnleft" id="messageright_L5FK5"></p>
    90. </div>
    91. </div>

    92. <script src="static/js/md5.js?SJ9" type="text/javascript" reload="1"></script>
    93. <script type="text/javascript" reload="1">
    94. var pwdclear = 0;
    95. function initinput_login() {
    96. document.body.focus();
    97. }
    98. initinput_login();

    99. function clearpwd() {
    100. if(pwdclear) {
    101. $('password3_L5FK5').value = '';
    102. }
    103. pwdclear = 0;
    104. }
    105. </script>]]></root>
    复制代码
    好了这次课就到这里,下次课我们祥细讲讲
    referer + RequestLine2 + “&referer=” + referer + “forum.php&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login”)

    这段数据怎么分析出来的。

    本帖子中包含更多资源

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

    x

    该用户从未签到

    漏网之鱼 发表于 2012-4-17 10:21:59 | 显示全部楼层
    支持lz 谢谢分享 嘎嘎

    该用户从未签到

    南水无鱼 发表于 2012-5-4 10:56:22 | 显示全部楼层
    本帖最后由 南水无鱼 于 2012-5-4 10:57 编辑

    LZ你好。
    以上代码中这段:

    如果 (RequestLine2 ≠ “”)
            referer = Host + “/1.51/”
            返回的数据 = HTTP读文件 (referer + RequestLine2 + “&referer=” + referer + “forum.php&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login”)


    我加红的这段,我没弄明白从哪里来的,如果去掉就成了返回html代码了吧
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

     楼主| 潇潇 发表于 2012-5-4 15:48:55 | 显示全部楼层
    南水无鱼 发表于 2012-5-4 10:56
    LZ你好。
    以上代码中这段:

    请参考第三课……

    该用户从未签到

    djah110 发表于 2012-7-12 16:54:43 | 显示全部楼层
    下来看看源码,学习

    该用户从未签到

    x740073529 发表于 2013-12-11 23:15:14 | 显示全部楼层
    来学习下载了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

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

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

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-3-28 19:51 , File On Powered by Discuz! X3.49

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