返回

探秘iOS逆向:使用frida与ida揭秘APP网络请求signature验签算法

IOS

1. 越狱手机安装Frida

首先,我们需要在越狱手机上安装Frida。Frida是一款功能强大的动态代码注入框架,可以帮助我们对正在运行的APP进行动态分析。在Cydia中添加源(https://build.frida.re/),接着在源中找到Frida并安装。安装完成后,你可以在手机上找到Frida的图标。

2. 使用Frida抓取网络请求

安装好Frida后,我们需要使用它来抓取APP的网络请求。我们可以通过以下步骤来实现:

  1. 打开Frida,点击“+”号按钮,选择“Attach to Process”选项。
  2. 在弹出的窗口中,选择要分析的APP,然后点击“Attach”按钮。
  3. Frida会自动加载APP的符号表,并显示一个控制台。
  4. 在控制台中,输入以下命令:
ObjC.classes.NSURLConnection.+-[sendSynchronousRequest:returningResponse:error:].implementation = function () {
    var req = ObjC.Object(this.arguments[0]);
    console.log(req.URL());
    var resp = ObjC.Object(this.arguments[1]);
    console.log(resp.allHeaderFields());
};

这段脚本会拦截所有通过NSURLConnection发送的网络请求,并把请求的URL和响应头打印到控制台。

3. 分析网络请求数据

运行完脚本后,你可以在Frida的控制台中看到抓取到的网络请求数据。这些数据包括请求的URL、请求头和响应头。我们可以通过这些数据来分析APP的网络请求行为,并找到signature的生成算法。

4. 使用ida进行静态分析

除了使用Frida抓取网络请求数据外,我们还可以使用ida对APP进行静态分析。ida是一款功能强大的逆向工程工具,可以帮助我们分析APP的代码和数据结构。在ida中,我们可以找到signature的生成函数,并通过反汇编来了解其具体实现。

5. 总结

通过使用Frida和ida,我们成功地找到了APP的signature生成算法。本教程详细介绍了iOS逆向的基础知识和常用技巧,为进一步深入探索iOS逆向打下了坚实的基础。