专栏名称: 吾爱破解论坛
吾爱破解论坛致力于软件安全与病毒分析的前沿,丰富的技术版块交相辉映,由无数热衷于软件加密解密及反病毒爱好者共同维护,留给世界一抹值得百年回眸的惊艳,沉淀百年来计算机应用之精华与优雅,任岁月流转,低调而奢华的技术交流与探索却
目录
相关文章推荐
计算机与网络安全  ·  40页PPT 金融AIGC安全攻防 ·  昨天  
保定晚报  ·  “超级地球”,被发现了! ·  昨天  
保定晚报  ·  “超级地球”,被发现了! ·  昨天  
财联社AI daily  ·  “本源悟空”刷新纪录! ·  2 天前  
财联社AI daily  ·  “本源悟空”刷新纪录! ·  2 天前  
51好读  ›  专栏  ›  吾爱破解论坛

【Android 原创】用PHP帮你刷关---记一次分析游戏并写出挂机软件的过程

吾爱破解论坛  · 公众号  · 互联网安全  · 2017-02-12 13:48

正文

请到「今天看啥」查看全文



121.199.54.144:81/Service.aspx?d=MsgId%3d4%26Sid%3d%26Uid%3d114364%26St%3d%26actionId%3d1001%26GameID%3d1%26Pid%3dpuluter%26sign%3d80f97b67d3a4c0d15456baf3f03092e3


分析↑这个包,我们会发现,其实这个包信息部分是“d=”后面的那一块,一眼看出这是Urlencode,我们解码来看一下。
解码后的结构如下:



MsgId=4

&Sid=

&Uid=114364

&St=

&actionId=1001

&GameID=1

&Pid=puluter

&sign=80f97b67d3a4c0d15456baf3f03092e3


MsgId我在一开始还以为要严格保证递增= =实际上MsgId是多少无所谓。
Uid是上面获取到的UserId。
然后比较麻烦的就是这个sign了。
可以发现这个sign是一个MD5,经过一些尝试发现这个MD5和前面的请求有关,那它到底是怎么加密的呢?
这个时候我突然想起来还有个dll没有分析呢,发包加密方式肯定在那个dll里。
先搜索一下MD5,然后再analyze一下这个函数被怎么调用,发现如下代码:

关键部分是:

s_strPostData = s_strUserData + "&sign=" + getMd5String(s_strUserData + s_md5Key);


sign的值是md5(前面的那些请求+s_md5Key).
这个s_md5key是什么东西?
再搜一搜,最后在netwriter类里找到了它。

所以我们现在得出,sign=md5(request+"123");
有了sign,接下来的事情就很简单了。

在得出sign之后,我们还需要Sid这个东西。它来自于与服务器的第一次交互:

/default.ashx?d=MsgId%3d27%26Sid%3d%26Uid%3d114364%26St%3d%26actionId%3d1007%26MobileType%3d1%26Token%3d461bd5efee****52914e5b73ebcfd504%26DeviceID%3dandroid-bd19f5ede3358bdff8ff0eadc425d524%26RetailID%3d0000%26sign%3d069d0b7c6af822fd903f5773713d867c







请到「今天看啥」查看全文