iOS非越狱逆向分析实战

本文详细介绍了在非越狱环境下,如何通过MonkeyDev进行iOS应用的逆向分析,包括砸壳、创建MonkeyApp项目、使用class-dump、反编译和代码注入等步骤,以解决GIF合成功能的优化问题。通过分析竞品,揭示了其使用系统API进行GIF合成,并通过代码注入验证了猜想。
摘要由CSDN通过智能技术生成

本次实战的根本目的,是为了分析竞品,优化自身产品的用户体验。在我们之前版本中,增加了GIF制作的功能,用户可以拍摄视频、照片或者从相册选择视频、照片等来合成GIF图,并可以给GIF添加贴纸、文字,以及修改GIF速度的功能。最初,我们通过ffmpeg进行GIF的合成,由于中间有一系列的操作,为了保证图片质量,我们不得不做一些耗时的操作,导致合成速度慢,用户体验非常差。与此同时,我们发现了市面上一款类似的app,其合成效率很高,用户体验很好,于是,我们就走上了逆向之路。

软件逆向工程,指的是通过分析一个程序或系统的功能、结构或行为,将它的技术实现或细节推导出来的过程。当我们对一个软件的功能很感兴趣,却又拿不到它的源代码时,往往可以通过逆向工程来对它进行分析。

逆向工程主要有两个作用:

  • 分析目标程序,拿到关键信息,可以归类于安全相关的逆向工程

    • 评定软件的安全级别
    • 逆向恶意软件
    • 检查软件后门
  • 借鉴他人的程序功能来开发自己的软件,可以归类于开发相关的逆向工程

    • 逆向系统API
    • 借鉴别的软件

最开始,iOS平台的逆向工程都是基于越狱环境的。目前非越狱环境下的软件逆向,也非常成熟了。有很多大神研究过,这方面的资料和文章也比较多。有的大神为了方便还做了一套框架,专门做非越狱逆向,现在用起来十分方便。本文不会话太多篇幅来讲概念的东西,主要以实战为主,那就开始吧。

获取砸壳后的app

从AppStore下载的App都是经过加密的,可执行文件被加上了一层“壳”,所以为了解密,我们就必须进行“砸壳”。

最早的砸壳工具是stefanesser写的dumpdecrypted,通过手动注入然后启动应用程序在内存进行dump解密后的内存实现砸壳,这种砸壳只能砸主App可执行文件。人都想偷懒,所以AloneMonkey大神就做了一条命令砸壳的工具frida-ios-dump

如果我们单纯的要获取一个砸壳后的app,我们可以是直接从各种xx助手里面下载,注意的是这里下载的是越狱应用(不是正版应用),这些应用都是脱壳的应用。

MonkeyDev

如果已安装过的,可以直接跳过该步骤。

如果您对越狱开发了解的话,那么您应该听说过iOSOpenDev。他可以直接通过Xcode新建Hook的工程模板,然后编译生成安装deb。通过它来进行越狱开发十分方便。但很遗憾,作者在13年就不更新了。Xcode7及之后的版本,该环境就有很多问题。

MonkeyDev可以认为是iOSOpenDev的升级版。MonKeyDev不仅仅可以进行越狱开发,也可以进行非越狱的Hook的开发。该非越狱逆向环境自动集成,只需要一个砸壳的应用即可,非常方便。

安装卸载,请查看

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值