app逆向--美图秀秀sig参数

声明

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!!


抓包分析 

今天我们要分析的app是美图秀秀。样本下载 2020美图秀秀v9.0.8.0老旧历史版本安装包官方免费下载_豌豆荚

第一步进行抓包分析。通过抓包发现sig是加密的,而这个sig是32位的应该经过了MD5加密。

 参数分析

直接搜sig,发现很多不好分析。我们搜sigTime,直接定位到这个函数,sig是a2[0]。

 我们跟进a函数

 然后继续跟进generatorSig函数。

 继续跟进nativeGeneratorSig函数,发现是so层的,so文件是librelease_sig.so。

 打开ida分析。是静态注册的函数直接在导出函数里搜索。

继续跟进这个函数。

 

 

 继续跟进MD5_Calculate函数。

跟进MD5_Init函数

 

 可以发现是很标准的四个初始化链接向量。应该是没有经过魔改的md5。我们就不继续跟进了。

hook动态分析

先hook java层函数。

function main() {
    Java.perform(function () {
        var SigEntity = Java.use("com.meitu.secret.SigEntity");
            if (SigEntity != null){
                SigEntity.generatorSig.overload('java.lang.String', '[Ljava.lang.String;', 'java.lang.String', 'java.lang.Object').implementation = function(arg1, arg2, arg3, arg4){
                    console.log("arg1-->", arg1);
                    console.log("arg2-->", arg2);
                    console.log("arg3-->", arg3);
                    console.log("arg4-->", arg4);
                    var result = this.generatorSig(arg1, arg2, arg3, arg4);
                    console.log('result-->', result.sig.value);
                    return result;
                }
            }
    })
}
setImmediate(main)

 这两个参数是固定的。

 hook so层函数

var soAddress = Module.findBaseAddress("librelease_sig.so");
console.log('soAddress: ', soAddress);
var sub_4A68 = soAddress.add(0x4A68 + 1);
console.log('sub_4A68: ', sub_4A68);
Interceptor.attach(sub_4A68, {
    onEnter: function (args) {
        console.log('\nmd5_update onEnter r0: ', hexdump(args[0], {length: 32, header: false}));
        console.log('\nmd5_update onEnter r1: ', hexdump(args[1], {length: args[2].toInt32(), header: false}));
        console.log('\nmd5_update onEnter r2: ', args[2].toInt32());
        console.log('\nmd5_update onEnter r3: ', args[3]);
    },
    onLeave: function (retval) {
    }
})

 

 这是我们抓包返回的sig

发现每两个字符的顺序是相反的。 emm,应该是改了某个数值。详细的我就不跟了。但我们可以取巧直接换顺序。

 各位大佬觉得本文写的不错的话,可以一键四连哦。

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值