Instagram协议算法分析

1.前期准备

笔者准备的不多就一个 IDA frida环境 Burp就开干了,基本流程走一遍。
hhh IOSdump砸壳,得到IPA,让IDA冒烟的工作几个小时-趁这时间配置下Burp,记得配置下

图片描述


这里10808是我本地的端口,各位按自己环境配置即可

2.开工

IDA工作了大半天。总算加载完了,先抓了一下包,果然抓不到,直接IDA开搜


SSLPING嘛,根据经验关键词 **certificate verification | cert verify ** 一共搜到了这些地方,X看下引用吧


一共两个关键点,这里能清晰的看到 sub_543324(v23) != 1就是失败 直接上frida干掉他

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function hookbegin(){

    var cc   = Process.getModuleByName("FBSharedFramework")

    console.log(JSON.stringify(cc))

    Interceptor.attach(cc.base.add(0x54d648), {

        onLeave: function(retval) {

          retval.replace(0);

        }

      });

      Interceptor.attach(cc.base.add(0x543324), {

        onLeave: function(retval) {

          retval.replace(1);

        }

      });

}

setImmediate(hookbegin)

图片描述

OKKK sllping轻松过掉,现在能抓到我们想要的包了,但是问题又来了,登录接口的passwrod是加密的那我们就来分析一下吧!!!

3.苦逼分析

大家应该一眼就能看出来特征吧 BASE64呀 那就HOOK打印堆栈呗
 

图片描述


根据堆栈减去ASLR base的偏移我们得到了一个函数地址


这个函数的名字很符合要求啊

##因为根本没有强混淆,我相信这个算法对再看的各位都不是难点

图片描述

4.总结

APP就是太信任各位玩家了,一点变种算法都没,纯纯的openssl加密完事!!!
根据分析就是用了RSA的公钥加密了随机key,把传过去的时间跟password明文 aes对称加密一下!!! 然后服务端的私钥去解密出随机key,再去解密出真正的明文与时间。
用GPT的话来说就是: 你可以将公钥用于在安全通信中交换 AES 密钥。这是非常常见的做法,比如在 HTTPS 和许多其他加密协议中都会使用这样的方法。这种方法通常是这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值