美文网首页
iOS逆向 开发工具

iOS逆向 开发工具

作者: yahibo | 来源:发表于2019-05-27 20:48 被阅读0次

    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/ 下。

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

    相关文章

      网友评论

          本文标题:iOS逆向 开发工具

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