iOS逆向入门准备

作者: 大哥带你去玩耍 | 来源:发表于2016-08-19 00:04 被阅读1751次

接触了一个多星期的iOS逆向,决定花点时间写点东西来介绍一下入门的工具和记录一下学习过程中遇到的一些问题。

越狱

首先我们需要准备一个越狱的iPhone,iTouch或者iPad。我用的是iOS8.4的iPad。
越狱很简单,我们只需要下载一个比如PP助手,太极越狱等得第三方软件一键越狱就行了。我使用的是太极越狱

Mac和iOS工具

iFunBox

这是一个再Mac上能查看iPhone文件内部文件结构的软件,借助这个软件我们可以轻易地查看文件,使得Mac和iPhone文件之间文件进行复制。

Paste_Image.png

IDA

这是一个分析执行文件的工具很强大但也很贵,但是有32位的试用版只是不能保存数据而已。可是由于现在机器基本都是64位的,所以还是得买买买。我打算过几天去买个hopper毕竟ida还是比较贵😂

Paste_Image.png

OpenSSH

这个是在iOS上的工具,主要可以让外部和iPhone进行ssh通信,直接在cydia里面搜索安装就行。
连接的命令是

    ssh root@192.168.11.111(iPhone的IP地址)

默认密码是alpine。

class-dump

主要是用来砸壳,将.h头文导出

    class-dump -S -s -H XXX -o /path/headeres

这样就将头文件全部倒出来了。
但是因为appstore下载的app是进行过加密的,所以无法直接dump出来,需要用另外一个叫做dumpdecrypted的工具来进行砸壳才能dump。

dumpdecrypted

这个工具的话主要是用来对app进行砸壳,dumpdecrypted在github上开元的,必须编译后才能使用,这里就补详细介绍了,直接给一个编译后的链接
如何使用它呢,就是先通过ssh连接到iOS上:

    ssh root@192.168.11.111

然后通过命令打印出当前活动的app

    ps -e | pre /

再通过cycript找出其路径

    cycript -p XXXApp
    [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]

然后将dumpdecrypted.dylib复制到获取到得目录中

    scp /Users/.../dumppdecrypted.dylib root@192.168.11.111:/var/...

最后砸壳

先进入到APP的documents目录下,然后执行命令:

    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/Contains/.../XXX.app/XXX

这样就完成了砸壳,然后就砸壳后获取的XXX.decrypted文件复制回Mac就可以进行dump了。

cycript

这是一个脚本再iPhone上使用的脚本语言,在上面已经介绍过它能够获取到App路径,它还有实时改变UI的功能。比如书上介绍的通过cycript来弹出一个alertView

 cycript -p XXX
 alertView = [[UIAlertView alloc]initxxxx]    (这就跟iOS开发的一样但不需要引号
 [alertView show]

这样就会显示一个alertView出来。它还通过#地址来获取对象:

[#address nextResponder]  就能够获取下一个对象的地址

LLDB和debugserver

这两个工具比较复杂,可以仔细阅读下《iOS应用逆向工程》以及一些相关资料。不过需要跟IDA或者Hopper配合使用。

Theos

这里就不介绍用法,主要强调一下,别去装最新版的!好多bug!

iOSOpenDev

这里主要讲 一下安装的方法,先在iOSOpenDev官网下载一个安装包,安装后一般都会提示失败。
然后到链接下载这个批处理文件。然后执行:

   > sh sh 文件路径 base

这个应该是对iOSOpenDev修复,然后就可以看到Xcode里面装上了。

Paste_Image.png

大致的应用工具都简单介绍了一下,有什么错误的希望指出。

参考资料:
iOS逆向论坛
《iOS应用逆向工程》第二版

相关文章

  • iOS逆向工程的环境搭建

    参考文章:[iOS Reverse入门]微信注入iOS逆向入门实践 — 逆向微信,伪装定位(一) 一. 先在已经越...

  • iOS逆向入门准备

    接触了一个多星期的iOS逆向,决定花点时间写点东西来介绍一下入门的工具和记录一下学习过程中遇到的一些问题。 越狱 ...

  • ios 逆向文章

    iOS逆向入门实践 — 逆向微信,伪装定位(一) iOS 逆向开发小试-钉钉篇 粉丝福利,Pokemon Go 锁...

  • iOS 多开检测,反多开检测,反反多开检测

    前言 随着 iOS 逆向门槛越来越低,国内灰产也越来越多。自动抢红包则成为了 iOS 逆向入门级项目,GitHub...

  • 一 iOS 逆向工程概述

    1 什么是iOS逆向工程 2 iOS逆向的目的 3 iOS逆向过程以及方法 一 什么是iOS逆向工程 iOS逆向...

  • iOS逆向准备

    检查手机是否可以越狱:http://jailbreak.25pp.com/ios 手机上安装的软件: 1、Appl...

  • iOS逆向学习

    参考文章:iOS逆向开发记录:iOS逆向之手机越狱iOS逆向之介绍iOS逆向之文件系统结构iOS逆向之文件权限及类...

  • iOS 逆向指南:界面分析

    前言: 写几篇文章总结一下 iOS 逆向的整个流程,逆向初学者可以作为入门指南。内容包括逆向工具和环境配置、踩坑点...

  • iOS 逆向指南:界面分析

    写几篇文章总结一下 iOS 逆向的整个流程,逆向初学者可以作为入门指南。内容包括逆向工具和环境配置、踩坑点、界面分...

  • iOS逆向之反HOOK的基本防护

    iOS逆向之Method Swizzle iOS逆向之fishHook原理探究 iOS逆向之fishHook怎么通...

网友评论

  • 洛奇丶:ps -e 查看不了手机的进程啊
    -sh: ps: command not found
  • 国王or乞丐:手机不越狱可以么?不是说有破壳么
    大哥带你去玩耍:可以不越狱 但是需要进行一些重签 文件配置上面的 我没试过
  • I_m赵昊:使用iTools等工具都没办法将砸壳后的文件复制过来,请问大神要怎么处理
    大哥带你去玩耍:@I_m赵昊 用ifunbox复制或者直接命令行复制
  • 189380cb6f9a:同正在看小黄书,发现64位机子上实现太累,特意买了个iPhone5。。
    大哥带你去玩耍:@蛋蛋他哥 是呀 但是iPhone5我的系统版本太高了 没法越狱:joy:
    189380cb6f9a:@大哥带你去玩耍 iPhone5用ida的试用版足够了,网上也有ida64位的某破解,不过只能win下
    大哥带你去玩耍:@蛋蛋他哥 哈哈 我也有iPhone5 被我弄白苹果了 就直接恢复了 今天下午买了个hopper license还没发给我 估计外国还在睡觉。

本文标题:iOS逆向入门准备

本文链接:https://www.haomeiwen.com/subject/ihzvsttx.html