c++调用url_短视频某手sig3算法调用

c986fb694ae5c3fc8c62cd8bcf47773a.png 本文为看雪论坛优秀文章 看雪论坛作者ID:沧桑的小白鼠

本人菜鸟,初入逆向,前段时间把sig算法通过ida阅读伪代码和arm汇编进行了还原,花了4天时间,殊不知已有大神已经发有分析帖子了 

(link:https://bbs.pediy.com/thread-254328.htm)

一、前言

目标APP的sig3算法前面已经做足了功夫,这里只陈述一下我是如何找到sig3算法的,并没有把算法还原,因为so层onload有大量ollvm,目前还处于学习阶段,还没有触及,日后学成在继续发帖分享下学习笔记。

二、定位入口

本次目标APP版本是7.2.4.13202,这里使用Charles抓包知道了sig3的全称:

d4de740c46048ad1f6b621d263471f6e.png

sig3全称是 _NS_sig3 ,这里将app拖入jadx-gui进行分析,使用字符串搜索大法进行初步查找:

89ec340af23feb027ea2e8e9b561ce9a.png

60d85e7ea15eac5356f69de8c5ba2620.png

通过框选区域发现,a3是来自a2.a方法,且str2通过上方代码得知是sig签名结果,b2是一个url,但是执行了b()可能进行了一些处理,这里暂时先不管b2数据是什么,先最终到最终a调用的地方。

三、算法最终定位

String a3 = a2.a(b2 + str2);  跟进a方法的声明:

110bb2d42888a7b10930ddb6587f5f0c.png

 通过查看a的方法声明,发现是一个interface,这里直接右键查看调用例:

8166b5c2a9d2e82073a69b0dcd39ce00.png

发现只有一处地方使用了implements,进去查看具体代码实现:

9d5e0f9a69b2cffb44f448a42e81be0c.png

继续跟进getSigWra

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值