蝉某某sign参数逆向分析

目录

一:抓包

二:脱壳

三:jadx分析

四:hook代码


一:抓包

        app名字: 6J2J5aaI5aaIdjEuNy4w

        利用fiddler抓包,可以看出加密参数有sign,还有一个明显的时间戳

二:脱壳

        利用jadx打开,发现里面的东西很少,很有可能已经被加固,再利用查壳工具查看

 

        然后我们利用Xposed里面的FDex2进行脱壳,根据提示找到dex文件,导入到 /sdcard/ 下面,再导出到电脑上;

        

三:jadx分析

        打开jadx里面的 add files,这个可以把多个dex合并打开

         点击搜索,稍等加载,搜索sign,点击进入

         由图可定位到sign的生成逻辑:i0.m("YqH3DGpu" + valueOf);

        sign 生成方法里面的参数是有一个固定字符串加一个时间戳

 再点击m 方法,里面调用的是d(str,""),再次点击进入

         由下图可以看出一些md5的影子,而sign的长度同样是32位,可以hook证明是否调用的是纯粹的md5算法

四:hook代码

import frida, sys


def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)


test = '''
Java.perform(function (){
    console.log("hook start ")
    var r = Java.use('h.h.a.r');
    var i0 = Java.use('w.a.r.i0');
    i0.d.overload('java.lang.String', 'java.lang.String').implementation = function (str1,str2){
        console.log("str1: "+str1);
        console.log("str2: "+str2);
        var ret = this.d(str1,str2);
        console.log("ret: "+ret);
        return ret;
    }

})
'''

process = frida.get_usb_device(-1).attach('xxx.com')
script = process.create_script(test)
script.on('message', on_message)
script.load()
sys.stdin.read()

        同理,可以拿 YqH3DGpu + 时间戳 到md5加密网站上做对比,发现与sign一致,所以可以直接用python md5直接还原

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙猫不打伞

感谢打赏,天道酬勤!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值