一、目标

一、目标

yp
1:yp

60后炒邮票,70后炒股,80后炒房,90后炒币,00后又有新玩法了,鞋也能炒。时代变了,看看鞋吧。

main
1:main

这个 newSign 才是我们的目标。

二、步骤

Jadx搜索 "newSign"

sig1
1:sig1

搜出来的结果虽然很多,但是第一条结果 host.addQueryParameter("newSign", RequestUtils.m38208c(hashMap2, currentTimeMillis)); 这个就很可疑。

Frida上

var RequestUtilsCls = Java.use('com.shxxhuang.xxapp.common.utils.RequestUtils');
RequestUtilsCls.c.implementation = function(a,b){
        var rc = this.c(a,b);
        console.log("a=" + a.entrySet().toArray());
        console.log("b=" + b);

        console.log("c >>> rc=" + rc);

        return rc ;
}

效果不错,入参和 newSign 值都出来了

a= v=4.68.6,loginToken=,uuid=76dade3ad5f174d2,platform=android,timestamp=1620702668425
b= 1620702668425
c >>> rc= 0237b9de491aee10ae238983144caa13

不过有个小小的问题,只打印出了,某些请求的 newSign,还有其他很多请求的签名值都没有打印出来。

再观察一下RequestUtils类

code1
1:code1

原来同样的函数还有a、b、c。找到问题就好办了,都搞上,打印输出的时候做下区分。

var RequestUtilsCls = Java.use('com.shxxhuang.xxapp.common.utils.RequestUtils');

RequestUtilsCls.a.overload('java.util.Map', 'long').implementation = function(a,b){
        var rc = this.a(a,b);
        console.log("a= " + a.entrySet().toArray());
        console.log("b= " + b);

        console.log("a >>> rc= " + rc);

        return rc ;
}

RequestUtilsCls.b.overload('java.util.Map', 'long').implementation = function(a,b){
        var rc = this.b(a,b);
        console.log("a= " + a.entrySet().toArray());
        console.log("b= " + b);

        console.log("b >>> rc= " + rc);

        return rc ;
}

RequestUtilsCls.c.implementation = function(a,b){
        var rc = this.c(a,b);
        console.log("a= " + a.entrySet().toArray());
        console.log("b= " + b);

        console.log("c >>> rc= " + rc);

        return rc ;
}

这下Ok了,基本上打印全了

a= lastId=,limit=50.0,loginToken=,platform=android,propertyValueId=0.0,spuId=37494.0,timestamp=1620703226570,uuid=76dade3ad5f174d2,v=4.68.6
b= 1620703226570
b >>> rc= d8a9cd2770194d04b65d670df33b054e

三、总结

时代在变,流行在变,技术也在变。不过不变的是套路和人性。

ffshow
1:ffshow

古往今来,一直有人生活在烟尘之外,有人甚至可以穿越烟云或在烟云中停留之后走出烟云,丝毫不受烟尘味道或煤炭粉尘的影响,保持原来的生活节奏,保持他们那不属于这个世界的样子。但重要的不是生活在烟尘之外,而是生活在烟尘之中,因为只有生活在烟尘之中,呼吸想今天早晨这种雾蒙蒙的空气,才能认识问题的实质,才有可能去解决问题。

100

关注微信公众号,最新技术干货实时推送

100