-
-
iOS Instgram 算法分析小记
-
发表于:
2023-5-31 00:48
18495
-
IOS逆向冲冲冲
0.前言
最近在学习各大厂商的反抓包思路,这不就学到了Instgram。经过查阅各种资料发现Instgram用上了TLS1.3 + ssl-pinning 那就开干呗
1.前期准备
笔者准备的不多就一个 IDA frida环境 Burp就开干了,基本流程走一遍。
hhh IOSdump砸壳,得到IPA,让IDA冒烟的工作几个小时-趁这时间配置下Burp,因为人在国内 想分析国外的APP只能用上佛跳墙所以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的偏移我们得到了一个函数地址
这个函数的名字很符合要求啊,hhhh
##因为根本没有强混淆,我相信这个算法对再看的各位都不是难点
4.总结
国外的APP就是太信任各位玩家了,一点变种算法都没,纯纯的openssl加密完事!!!
根据分析就是用了RSA的公钥加密了随机key,把传过去的时间跟password明文 aes对称加密一下!!! 然后服务端的私钥去解密出随机key,再去解密出真正的明文与时间。
用GPT的话来说就是: 你可以将公钥用于在安全通信中交换 AES 密钥。这是非常常见的做法,比如在 HTTPS 和许多其他加密协议中都会使用这样的方法。这种方法通常是这样
5.后记
最近在学习IOS逆向,希望能跟各位前辈多多学习 技术不分正邪
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2024-3-24 18:02
被至尊小仙侠编辑
,原因: