ios+app抓包及frida绕过(学习笔记)

一、burp设置代理抓包

1、同网段下配置好burp的监听IP和port

2、手机访问代理下载证书,然后在手机设置里描述文件安装证书,装好证书后注意在:设置→通用→关于本机→证书信任设置,开启证书信任

二、shadowrockt配置VPN抓包

有的app可能会设置无视系统代理,此时可以使用VPN的方式让app强制通过burp。

1、该软件可在商店直接下载,如下配置即可

2、在设置中延迟测试选择TCP,最后通过延迟测试查看是否配置成功。

三、frida绕过代理检测

思路:部分app打开会提示类似“请先关闭代理或VPN”的关键字,那么将移动程序的软件包IPA文件中的可执行程序(如果需要砸壳,可使用工具frida-ios-dump和CrackerXI)放到IDA中,全局搜索程序提示的关键字,定位到该关键字所在的函数,使用frida注入js修改函数的返回值(检测结果),从而实现绕过。

1、将砸壳后的可执行文件放到IDA中打开,shift+fn+f12打开可执行文件中的所有字符串,再CTRL+C搜索字符串,选择后按X查看该字符串(请关闭代理)的引用。注:一般来说,程序实现某一功能是定义一个函数,然后用到时去调用这个函数,所有‘请关闭代理’这个字符串会出现多次,只需找到实现检测代理功能的函数地址即可,忽略调用检测代理函数的函数。

2、利用frida-trace快速生成js修改后如下,执行 frida -U -l xx.js -f 包名进行注入

var module_addr = Module.findBaseAddress("xxx"); //获取可执行程序的基址
Interceptor.attach(module_addr.add(0x108540), {  //添加实现检测代理功能函数的偏移地址
    onEnter: function (args) {

    }, onLeave: function (retval) {   //离开该函数时替换函数原本的返回值
        console.log("retval", retval);
        retval.replace(0);
    }
})

3、另一个思路可以记下常见检测代理的系统函数,通过frida-trace -U -i 函数名 -p PID(-i代表c语言  -m代表oc语言)来确认程序是否使用该函数以及针对性去调试获取 内存地址、返回值等信息辅助编写绕过脚本。

如下是网上关于CFNetworkCopySystemProxySettings函数检测代理时的绕过通杀脚本

var _imports = Process.findModuleByName("XXX").enumerateImports(); 
//获取可执行文件所有的导入函数
var _CFNetworkCopySystemProxySettings = null;
//遍历导入函数,当包含CFNetworkCopySystemProxySettings时,获取其地址
for (var i = 0; i < _imports.length; i++) {   
    //查找CFNetworkCopySystemProxySettings系统代理函数
    if (_imports[i].name.indexOf("CFNetworkCopySystemProxySettings") !== -1) {
        console.log(_imports[i].name, _imports[i].address);
        _CFNetworkCopySystemProxySettings = _imports[i].address;
    }
}


//修改CFNetworkCopySystemProxySettings函数的返回值
if (_CFNetworkCopySystemProxySettings) {
    Interceptor.attach(_CFNetworkCopySystemProxySettings, {
        onEnter: function (agrgs) {

        }, onLeave: function (retval) {
            console.log("retval: ", ObjC.Object(retval));
            //将返回值全部nop
            retval.replace(0);
        }
    })
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Frida逆向与抓包实战是一本关于移动端应用逆向和抓包技术的实践指南。本书主要介绍了Frida这一强大的逆向工具的使用方法,并结合实际案例进行讲解。 首先,Frida是一款强大的动态分析工具,可以在运行中的应用程序中注入自定义的JavaScript代码,从而实现应用程序的行为监控与控制。本书以Frida为基础,详细介绍了如何使用Frida进行Android和iOS应用程序的逆向分析。读者可以学习到如何使用Frida的API来动态修改应用程序的行为,如动态调试、函数替换、Hook等。 其次,本书还介绍了抓包技术在移动应用逆向中的应用。通过抓包技术,读者可以捕获应用程序与服务器之间的通信数据,分析应用程序的网络请求和响应,了解应用程序的数据传输方式和协议。本书讲解了常用的抓包工具和技术,如使用Fiddler、Charles等工具进行HTTPS抓包,分析加密通信数据等。 本书还通过实例演示了如何使用Frida抓包技术进行实际的应用分析。例如,通过使用Frida获取应用程序的敏感数据并进行修改,探测应用程序中的漏洞,发现应用程序的安全问题等。通过抓包技术,读者可以分析应用程序的通信过程,了解应用程序与服务器之间的交互,发现潜在的数据泄漏风险等。 综上所述,Frida逆向与抓包实战是一本介绍了Frida工具的基本原理和实际应用的实践指南。通过学习本书,读者可以了解到Frida的使用方法以及如何利用抓包技术进行移动应用逆向分析,并能够应用这些技术进行实际的应用分析与调试。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值