某资讯App signature签名分析 (一)

1、目标

这两年不多看新闻和资讯了,基本新瓜的来源都是公众号了,这是否是也算被信息茧房了?算法

今天就看看这个资讯App吧,目标就是它 signature安全

这个签名有点意思,不像md5之类的数字字母,也不像Base64微信

2、步骤

Jadx搜索 "signature"

结果很少,才26个,大不了一个一个看过去。函数

第一个点进去是它,再点进去看看学习

这个明显不对,它生成的是相似 32位md5的字符串。this

不想一个一个找了, 看看它的兄弟参数能不能缩小点范围?3d

Jadx搜索 "searchentry" 和 "eventid"

才8个结果,开心多了。点进去看看code

不开心,只有 searchentryeventid 赋值,没有找到 signature 的赋值。blog

这里介绍一个小技巧。在 mo63380j() 这一行上点右键, 查找用例 ,就能够把调用了 mo63380j 函数的全部函数给找出来。md5

再翻翻,头都晕了,仍是没有找到 signature 的相关痕迹。

继续找 "signature"

感受路走错了咋办?及时回头,及时止损。咱们回过头来继续搜索 signature 吧,不过26个嘛,一个一个翻。

这哥们嫌疑比较大,竟然最后还调用了Native函数,盘它。

挂上心爱的Frida

var SignUtilCls = Java.use("com.yxdxxx.news.util.sign.SignUtil");
SignUtilCls.signInternal.implementation = function(a,b){
        var rc = this.signInternal(a,b);
        console.log("inStr = " + b);
        console.log(">>> rc = " + rc);
        return rc;
}

来吧,跑一跑

[MI NOTE Pro::com.hxxx.yxdxxx]-> inStr = yxdxxx5.7.7.21k6lwwmig_1620885238340_91028401
>>> rc = AQ-exTbeIxgwJNiKPYQihZuzQOtyeV9v_93SvtH74beFqRgCvU9-O7onF3__WtnEwHHe84_nkFDDSIkh1a4VDE2xMj4l86XfDy09EO_hMbFHNbGAWRImIxNbGF9Ihlp-tSEs0N6c1rmNTjjxpKMowTsYfoPKuSJTtHNHy7xTrU4

太棒了,这就是咱们要的结果。

3、总结

不要嫌麻烦,总想找捷径,结果还不如一个一个翻,慢就是快。聪明人肯下笨功夫才厉害!

Native也是指路标之一,9021年了,有追求的算法都放到Native里了。

面对呼啸而至的时代车轮,咱们必须加速奔跑。有时会力不从心,有时会浮躁焦虑,但必须适应。它能够轻易地将每个落伍的个体远远抛下,碾做尘土,且不偿命。

TIP: 本文的目的只有一个就是学习更多的逆向技巧和思路,若是有人利用本文技术去进行非法商业获取利益带来的法律责任都是操做者本身承担,和本文以及做者不要紧,本文涉及到的代码项目能够去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一块儿学习探讨技术。有问题能够加我wx: fenfei331 讨论下。

关注微信公众号: 奋飞安全,最新技术干货实时推送

相关文章
相关标签/搜索