宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[页游辅助图文教程] 易语言+HttpWatch分析并获取DZX1.51论坛开心农场farmKey和farmTime

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

    [LV.4]偶尔看看III

    潇潇 发表于 2014-10-20 10:44:28 | 显示全部楼层 |阅读模式
            在上一课中 易语言+HttpWatch分析并编写DZX1.51论坛管理器第九课——首次进入开心农场篇(三)  重点说了要获取 farmKey 那就应该看关键的链接“http://kxnc.manyou.yeswan.com/images/v3_3”  因新截取的 HttpWatch 通信数据较以前又有所变化,此链接需更正为“ http://happyfarm.manyou.yeswan.com/images/v3_3” 先把这数据上传给大家以便参考:


    顺便发个截图,这样更容易看数据:



    我们要获取开心农场的数据关键链接就是:
    http://happyfarm.manyou.yeswan.com/api.php?mod=user&act=run&farmKey=56f91388226b614138030c6bcd0de45a&farmTime=1413683645&inuId=

    而在上面的链接中 farmKey 和 farmTime 在前面所截取的 HttpWatch 通信数据中没搜索到,那就应该分析 js 或 Flash(或swf) 文件,而出现过的 my_iframe.js 中没有找到和他们相关的数据,于是就重点分析 swf 文件 。从
    http://happyfarm.manyou.yeswan.com/images/v3_3_1/happyfarm.swf?v=hf50

    开始所出现过的Flash文件名分别为:happyfarm.swf、loading.swf、newSign.swf、commonualUI.swf、maininterface.swf、matterandcursor.swf、newUI2.swf、defaultbg.swf、Main.swf 和 Farm.swf。如果您是新手的话建议全部下载到本地进行分析,如果您稍有点经验的话通常可直接下载 happyfarm.swf、Main.swf 和 Farm.swf 来分析我们要的数据。下载到本地后用 闪客精灵 或其它Flash分析工具来分析,运行 闪客精灵   后把其中一个Flash文件加载进来,如果在“导出”窗口中出现“动作”那说明内部有相关 AS 代码可参考,否则就不用看了,断定为资源文件(图片或动画或声音)。如图所示:


    接着在“搜索”框中输入我们要搜索的内容 farmKey 并单击“搜索所有AS文件”,如图


    如果能搜索到那么在“标签信息”会出现搜索结果,如果不能搜索到那就不用再分析当前Flash文件了  


    上面几步是给新手看的,大鸟就略过了……
    在上面的搜索结果中不难发现Flash文件中的重要代码:

    游客,如果您要查看本帖隐藏内容请回复


    不难看出上面的关键几句代码:
    [Actionscript3] 纯文本查看 复制代码
     private function request(param1:String, param2:Object, param3:Function, param4:int = 60000, param5:Boolean = false, param6:String = "text") : void
    {
    var url:* = param1;
    var value:* = param2;
    var handlerFun:* = param3;
    var timeout:* = param4;
    var reload:* = param5;
    var dataFormat:* = param6;
    var _timeValue:* = MData.getInstance().mainData.serverTime;
    var farmKey:* = MD5.hash(_timeValue + SecurityKey.encodeKey);
    var farmTime:* = String(_timeValue);
    url = url + ("&farmKey=" + farmKey + "&farmTime=" + farmTime + "&inuId=" + SessionKey.value);
    lastTime = getTimer();
    removeEventListener(Event.ENTER_FRAME, timing);
    addEventListener(Event.ENTER_FRAME, timing);
    HTTPRequest.getInstance().postRequest(url, value, function (param1:Object) : void
    {
    var _data:Object;
    var loadStr:String;
    var data:* = param1;
    try
    {
    loadStr = dataToString(data);
    if (/^[\{\[].*""^[\{\[].*/.test(loadStr) == false)
    {
    loadStr = "{\"errorType\":\"PHPError\",\"errorContent\":\"" + loadStr + "\"}";
    }
    _data = JSON.decode(loadStr);
    }
    catch (e:Error)
    {
    trace("FRequest: " + e);
    }
    if (_data.hasOwnProperty("errorType") && _data["errorType"] == "session")
    {
    MData.getInstance().mainData.sessionTimeout = _data["errorContent"];
    }
    else if (_data.hasOwnProperty("errorType") && _data["errorType"] == "antilose")
    {
    MData.getInstance().mainData.recoverMoment = _data["recoverMoment"];
    WControl.open(new Obsession3hrWindow());
    }
    handlerFun(_data);
    return;
    }// end function
    , timeout, reload, dataFormat);
    return;
    }// end function


    farmKey 是_timeValue + SecurityKey.encodeKey 通过 MD5.hash 加密所得
    farmTime 是_timeValue 通过 MData.getInstance().mainData.serverTime 所得,这里是获取服务器时间,这里就不难了

    重点看下farmKey 如何计算的:

                var _timeValue:* = MData.getInstance().mainData.serverTime;
                var farmKey:* = MD5.hash(_timeValue + SecurityKey.encodeKey);
    第一、先取得服务器当前时间;
    第二、时间值再加上 SecurityKey.encodeKey (注:在当前Flash文件中没搜索到相关数据,初步估计是调用Flash文件时所传递的参数值);
    第三、调用MD5中的hash加密。

    同样在 闪客精灵 中搜索hash,找到 hash 的相关代码如下:

    游客,如果您要查看本帖隐藏内容请回复


    现在我们已经知道 farmKey 和 farmTime 的计算,那就用编程实现就可以,另外上面是在 Farm.swf 里分析出来的,也可以在Main.swf里分析得到同样的计算。

    本次课另外还引用了Flash技术实现了开心农场展示,主要是以便以后在自动操作时可以看到农场的动作情况,如图所示:


    本课就到这,接下来就是编写代码了……

    本帖子中包含更多资源

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

    x

    该用户从未签到

    风动鸣 发表于 2014-10-20 10:48:04 | 显示全部楼层
    不错 学习
  • TA的每日心情
    开心
    2012-7-29 00:25
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    花心胡萝卜 发表于 2014-10-20 11:03:06 | 显示全部楼层
    很详细,赞一个!

    该用户从未签到

    风动鸣 发表于 2014-10-20 11:45:37 | 显示全部楼层
    没有下载点。。。
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

     楼主| 潇潇 发表于 2014-10-20 20:26:03 | 显示全部楼层
    风动鸣 发表于 2014-10-20 11:45
    没有下载点。。。

    可以参考那数据图就可以了……
  • TA的每日心情
    开心
    2013-6-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    12121 发表于 2014-10-25 16:31:38 | 显示全部楼层
    在哪下载闪客啊
  • TA的每日心情
    开心
    2024-12-9 18:45
  • 签到天数: 124 天

    [LV.7]常住居民III

    admin 发表于 2014-10-25 20:39:38 | 显示全部楼层
    12121 发表于 2014-10-25 16:31
    在哪下载闪客啊

    硕思闪客精灵企业版6.0
    http://www.wgbcw.com/thread-3747-1-1.html

    该用户从未签到

    xwjhy888 发表于 2015-6-16 10:19:22 | 显示全部楼层
    dssssssssss

    该用户从未签到

    king38492378 发表于 2015-6-25 23:32:57 | 显示全部楼层
    好东西。。学习下!!!!!!!!!!
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

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

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

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

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