iOS逆向 开发工具

2019-05-27  本文已影响0人  yahibo

1、Class-dump

作用:利用OCruntime特性将存储在Mach-O文件中的@interface、@protocal信息提取出来并生产对应的.h文件,通过该文件可查看应用所有的类,及类的属性、成员变量、方法。
Mach-O:它是可执行文件、目标代码、动态库、内核转储的文件格式,具有很强的扩展性。
class-dump-z:使用方法同class-dump,是class-dump的改进版,速度很快。
https://code.google.com/archive/p/networkpx/wikis/class_dump_z.wiki

下载地址 :http://stevenygard.com/projects/class-dump
下载后将class-dump复制到/usr/bin下,在Terminal中执行 以下命令赋予可读可写可执行权限:

sudo chmod 777 /usr/bin/class-dump

运行class-dump查看参数:

class-dump 3.5 (64 bit) (Debug version compiled Sep 17 2017 16:24:48)
Usage: class-dump [options] <mach-o-file>

  where options are:
        -a             show instance variable offsets
        -A             show implementation addresses
        --arch <arch>  choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
        -C <regex>     only display classes matching regular expression
        -f <str>       find string in method name
        -H             generate header files in current directory, or directory specified with -o
        -I             sort classes, categories, and protocols by inheritance (overrides -s)
        -o <dir>       output directory used for -H
        -r             recursively expand frameworks and fixed VM shared libraries
        -s             sort classes and categories by name
        -S             sort methods by name
        -t             suppress header in output, for testing
        --list-arches  list the arches in the file, then exit
        --sdk-ios      specify iOS SDK version (will look for /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
                       or /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk)
        --sdk-mac      specify Mac OS X version (will look for /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX<version>.sdk
                       or /Developer/SDKs/MacOSX<version>.sdk)
        --sdk-root     specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)

使用方法:

class-dump -H WeChat -o wxh

作用对象必须为未加密的可执行文件,签名后的需要砸壳。

附带判断可执行文件是否加密命令:

otool -l WeChat|grep cry

2、Theos
安装 command line tools 在终端执行:

xcode-select  --install
sudo xcode-select -s
/Applications/X**codeName**/Contents/Developer  (指定XcodeName为默认的Xcode)

下载地址:https://github.com/theos/theos
theos-master改为theos放在/opt/文件下

3、配置ldid
Ldid是专门用来签名iOS可执行文件的工具,用以在越狱iOS中取代Xcode自带的codesign。下载ldid
http://joedj.net/ldid
把ldid放在/opt/theos/bin下 再执行以下命令赋予可读可写可执行权限:

Sudo chmod 777 /opt/theos/bin/ldid

4、配置CydiaSubstrate
执行以下命令运行Theos的自动化配置脚本:

sudo /opt/theos/bin/bootstrap.sh substrate

5、配置dpkg-deb
deb是越狱开发安装包的标准格式,dpkg-deb是一个用于操作deb文件的工具,有了这个工具,Theos才能正确地把工程打包成为deb文件。下载dm.pl
https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl
将其重命名为dpkg-deb后,放到/opt/theos/bin/目录下,执行下面命令赋予可执行权限:

sudo chmod 777 /opt/theos/bin/dpkg-deb

6、配置Theos NIC templates
内置5Theos工程类型的模板,方便创建多样的Theos工程。获取5种模板:
Https://github.com/DHowett/theos-nic-templates/archive/master.zip
解压后放到 /opt/theos/templates/iphone/ 下。

以上开发工具安装完成,可能只是一部分开发工具。

上一篇下一篇

猜你喜欢

热点阅读