iOS逆向工程简介

第一章 iOS逆向工程简介

  1. 逆向工程的要求
  2. 恶意软件:Ikee
  3. iOS的root默认密码为alpine
  4. 几款著名的插件
    • xsellize 收费变免费
    • Audio Recorder 第一款通话录音软件
    • Activator 实现各种自定义功能
  5. 几款实用的逆向工具

1.1. iOS软件逆向工程要求

  • 对于工程师的要求:拿到一个 App 之后能够清晰地推断出这个 App 使用 的技术,包括引用了哪些 framework、哪些经典的第三方代码,以及整个 App 工程大致的文 件个数、大致的代码行数,另外,还要想象一下如果由自己来组织设计开发,需要投入的人 员、时间和精力等

  • 强烈的好奇心和锲而不舍的精神


1.2 iOS软件逆向工程的作用

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

  • 借鉴他人的程序功能来开发自己的软件,可以归类于与开发相关的逆向工程。 接下来就让我们将这些内容逐步展开;

1.2.1 与安全相关的iOS逆向工程

1.2.1.1 评定安全等级

因为 iOS 逆向工程的使用均来自一个前提:iOS 越狱。

1.2.1.2 逆向恶意软件

2009 年暴露的 Ikee 病毒 是 iOS 上公开的第一款**蠕虫病毒**

它会感染那些已经越狱并且安装了 SSH,但是又没有更改 其默认 root 密码alpine的 iOS 设备,并且将它们的锁屏背景图改成一个英国歌手的照片。

1.2.1.3 检查软件后门
1.2.1.4 去除软件使用限制

Cydia 上最知名的“共享”源 xsellize 能够在几乎所有收费软件发布后的 3 天内对其完成破解,让他们的用户免费享受到收费软件的功能。

1.2.2 与开发相关的iOS逆向工程

  1. 逆向系统的调用
  2. 借鉴别的软件
    号称iOS平台上第一款通话录音软件的Audio Recorder

1.3 iOS软件逆向工程的一般过程

所谓的 iOS 逆向工程初学者,其实至少也是 iOS App 开发的中高级程序员。
软件逆向工程可以看做 系统分析代码分析 两个阶段的有机结合

1.3.1 系统分析

以新浪微博 App 为例,当我们将微博的目录展开时,会看到如图 1-3 所示的结构。在微 博目录下有 Documents、Library 等子目录,这些目录中放着对应的数据库文件以及缓存的图 片文件等

1.3.2 代码分析

要想让自己的逆向工程水平达到艺术的高 度,需要对软件开发、CPU 工作原理和 iOS 有透彻的理解。
Activator 这样的系统级插件程序。


1.4 iOS软件逆向工程用到的工具

  1. 检测工具
    iOS 逆向常用的监测 工具有 RevealtcpdumplibNotifyWatchPonyDebugger
    Reveal : 可用来查看目标 App 的 UI 元素,并且可以轻松快捷的定位到我们想查看的UI元素。

  2. 开发工具
    用于开发越狱代码的工具:Theos。它能编译生成最具威力的 tweak 插件,直刺 App 心脏,完成我 们期望它完成的任务。

  3. 反编译器
    反编译器主要就是IDA。反编译是跟 CPU 架构相关的。可以输出函数列表及对应的汇编代码。

  4. 调试器
    需要在 iOS 设备上运行基于命令行的 GDB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值