逆向某平台分析过程指导

admin 2025年6月10日17:33:47评论16 views字数 1248阅读4分9秒阅读模式

逆向某平台分析过程指导

本文为看雪论坛优秀文章
看雪论坛作者ID:那年没下雪

抓包报文分析

1、charles抓包分析报文 

登录和注册发送验证码都带有⼀个sign字段。

逆向某平台分析过程指导

其他参数都为固定参数 ⽐如请求图中的:

逆向某平台分析过程指导

只有这个sign每次都是变化的,那我们就开始分析这个sign。

操作步骤

① 先查apk是否加固 查询发现没加固。 

② 直接上jdax打开apk,能正常反编译。

③ 发现网络框架使⽤的okhttp。

代码分析

因为使⽤的okhttp框架那么自然直接搜索OKhttpClient 在哪被初始化 jadx直接搜索到。

逆向某平台分析过程指导

看名字猜测应该是网络核心父类,接着按x找到相关引用类找到:

逆向某平台分析过程指导

看名字就猜到了http相关的⼯具类,接着继续找关键字sign,因为网络相关的类都在framework包下的 helper⼦⽬录中所有随便翻翻找到⼀个。

逆向某平台分析过程指导

打开⼀看找到app相关的native⽅法都在这类中定义按x找到相关引用的类中 有⼀个。

逆向某平台分析过程指导

看方法名就猜到了应该是计算sign的⽅法,打开看果然是:

逆向某平台分析过程指导

计算⽅法为: 

① 调用buildSignRequestParams(str,map)方法将请求参数赋值给hashMap,并将hashMap中的值按照 key进⾏排序,重新赋值给map。

② 遍历排序后的hashmap的取出value进⾏拼接传递给buildSignValue()⽅法,调⽤native⽅法⽤frida Hook这两个⽅法调⽤也证明了这两点:

逆向某平台分析过程指导

③ 接下来开始分析native方法 getServerApi() 找到使用的so 包为libNativeHelper.so。

逆向某平台分析过程指导

扔到ida看导出函数发现是jni动态注册没找到getServerApi()这个⽅法,接下来使⽤unidbg进行分析 call_jni_onload 后找到偏移地址0x12795。

逆向某平台分析过程指导

在ida中G 跳转到偏移地址。

逆向某平台分析过程指导

逆向某平台分析过程指导

查看sub_4DF0函数F5⽣成伪代码。

逆向某平台分析过程指导

阅读代码修改原有的字段名称。祭出大杀器unidbg Hookz。

逆向某平台分析过程指导

多次调用方法发现入参为⼀串固定字符串值,先暂定它为加密因子吧!hook伪代码中的strcat(参数1,参数2)。

参数1为之前调⽤java 层 native方法中请求参数排序后的value 字符串,参数2位固定的加密因子将两个字 符串拼接后⽣成新的待加密串。 

接着分析 sub_4538(&v20)函数。

逆向某平台分析过程指导

这个4个常量 在结合sign的⻓度为32 很明显的可以猜到使⽤的MD5加密,具体在往下看。 分析sub_4564()函数:

逆向某平台分析过程指导

hook函数sub45F4函数 得到的入参为 md5标识和待加密串,接着点进去查看这个函数具体实现:

逆向某平台分析过程指导

逆向某平台分析过程指导

最终hook这两个函数都没发现⽣成具体的sign值 加密串也没有最终被修改 于是随⼿拿之前得到的加密串去做个MD5发现直接就跟sign⼀样 所以⼤概得出这个sign算法就是标准的 MD5。

逆向某平台分析过程指导

逆向某平台分析过程指导

看雪ID:那年没下雪

https://bbs.pediy.com/user-home-884888.htm

*本文由看雪论坛 那年没下雪 原创,转载请注明来自看雪社区
逆向某平台分析过程指导

# 

原文始发于微信公众号(看雪学苑):逆向某平台分析过程指导

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月10日17:33:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   逆向某平台分析过程指导https://cn-sec.com/archives/838352.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息