首页
社区
课程
招聘
[原创]某猫小说sign简单分析
发表于: 2020-11-22 19:40 7922

[原创]某猫小说sign简单分析

2020-11-22 19:40
7922

1、前言

  逆向萌新,闲来无事,找了个app练习一下,这次案例是某猫免费小说,特开一贴用来记录一下分析过程。(ps:本篇分析的APP版本为4.0.0)

2、APP抓包分析

用Fiddler对目标app进行抓包,抓包结果如下:

image.png

主要找sign的生成过程,打开jadx搜索代码"sign",把可能会生成sign的方法都给hook,再发送一次请求看生成sign的方法在哪。一些包名有huawei,meizu这些的可以直接过滤掉。

image.png

代码如下:

function main(){
    Java.perform(function(){
        /*
        var e = Java.use('anet.channel.strategy.dispatch.e');
        e.a.overload('java.util.Map').implementation = function(v1,v2){
            console.log('dispatch')
            return this.a(v1,v2);
        }
        
        var p = Java.use('com.bytedance.sdk.openadsdk.core.p');
        p.a.overload('java.lang.String', 'java.lang.String').implementation = function(v1,v2){
            console.log('openadsdk');
            return this.a(v1,v2);
        }
        
        var c = Java.use('com.km.repository.net.a.a.c');
        c.intercept.implementation = function(v1){
            console.log('repository');
            return this.intercept(v1);
        }
        var c = Java.use('com.kmxs.reader.download.a');
        c.c.overload('java.lang.String').implementation = function(v1){
            console.log('reader...');
            console.log('v1:', v1);
            var sig = this.c(v1);
            console.log('sig:', sig);
            return sig;
        }
        */
        // 生成sig方法
        var a = Java.use('com.km.core.b.a');
        a.a.overload('java.lang.String').implementation = function(v1){
            console.log('core.....');
            console.log('v1:', v1);
            var sig = this.a(v1);
            console.log('sig:', sig);
            return sig;
        }
        /*
        var a = Java.use('com.km.repository.net.b.a');a.d.overload().implementation = function(){
            console.log('repository.....');
            var sig = this.d();console.log('sig:', sig);
            return sig;
        }
        */
      }
    )
}

setImmediate(main)

运行脚本查看

image.png

多次请求对比可以看到,headers里面的sign是固定的,生成sign的参数都是头部信息里的。url的sign主要由page页数决定。知道这些就可以用frida rpc进行调用。

3、frida rpc进行调用并尝试请求


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-11-22 19:51 被wx_公过水蚊编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (5)
雪    币: 1649
活跃值: (2382)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
2
salt:d3dGiJc651gSQ8w1
2020-11-22 22:19
1
雪    币: 7
活跃值: (188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
chionyuna salt:d3dGiJc651gSQ8w1
哈哈 你是真的强
2020-11-23 16:27
0
雪    币: 1867
活跃值: (4113)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
chionyuna salt:d3dGiJc651gSQ8w1
哈哈哈哈
2020-11-24 08:50
0
雪    币: 144
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
chionyuna salt:d3dGiJc651gSQ8w1
哈哈 不讲武德
2020-11-24 14:29
0
雪    币: 5223
活跃值: (5300)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看半天没看出来
2020-11-24 22:07
0
游客
登录 | 注册 方可回帖
返回