iOS程序破解与调试基础

    xiaoxiao2026-05-09  8

     、app破解

    由于苹果正常情况下的app主要通过app store下载,而在上传到app store时会被进行drm保护。被保护后的ipa无法直接分析,也无法进行相关的patch,因此,对ipa的破解,获取其真实的代码,资源数据就尤为重要,也因此是每一个app逆向分析的首要步骤。

     破解app的方法

    目前破解app已经有专门的工具,均需手机越狱,其中有guicrakulous.以及命令行的clutch

     clutch为例:

    在越狱后的机器上打开terminal:

    使用login进入根权限后。输入

    Clutch,将显示当前的app名及序号,再次输入

    Clutch (对应的app序号)则开始破解该app

    如上图,我们选取的是某游戏的app进行破解

    破解后的ipa被保存在/var/root/documents/cracked/

    利用如91助手的文件管理功能,将ipa下载到电脑中。

    再利用ida6.1及以上版本)打开ipa进行分析得到:

     调试

    Ios app的调试,主要利用openssh+gdb的方式。

    在进行调试之前,首先须确保手机越狱,而后通过cydia在手机中安装下列软件:

    Openssh(搭建ssh通道,实现远程登录用)

    Terminalios上的终端程序,可实现命令行控制,同时也可由putty远程利用openssh的通道登录)

    Adv-cmd(提供更复杂的命令行指令)

     

    安装以上三个软件后。利用无线进行手机与笔记本的连接:

    可利用无线网络,让手机与笔记本加入同一无线网络中

    可利用笔记本本身的无线功能,由笔记本本身创建临时无线网络,让手机加入该网络

     

    处于同一网络后,查看手机的网络地址:

    点击红框中的箭头,则看到ip地址:

    (手机安装openssh,terminal后)利用putty远程登录

    此时即可利用gdb调试了,在手机中打开我们想要调试的进程(某单机游戏为例)。于手机中打开该游戏后。在putty中输入ps -ax(需手机安装adv cmds):

    找到了对应的进程,此时如普通的linux控制台,使用gdb -p 10540则可挂上该进程进行调试:

    利用disas指令即可查看反汇编代码:

     

    这样,利用gdb的动态调试功能,结合ida的静态分析功能。则可实现对手机进行逆向分析调试的目的。

    最新回复(0)