iOS越狱开发相关知识点

  1. 工具class-dump可以去官网下载
    class-dump.下载地址
    下载完成之后,将dmg文件中的class-dump复制到/usr/bin目录,并在终端执行如下执行进行赋权:
sudo chmod 777 /usr/bin/class-dump

然后运行class-dump指令,即可看到很多输出,

class-dump
class-dump 3.5 (64 bit)
Usage: class-dump [options] 

  where options are:
        -a             show instance variable offsets
        -A             show implementation addresses
        --arch   choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
        -C      only display classes matching regular expression
        -f        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        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 in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
        --sdk-mac      specify Mac OS X version (will look in /Developer/SDKs/MacOSX.sdk
        --sdk-root     specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)

如果有以上是输出说明安装class-dump成功了

2.使用class-dump

class-dump -H 小程序支付测试.app -o /Users/chiyz/Desktop/测试项目/ceshiyueyu

headerfil.jpg

更多功能参考:iOS逆向之class-dump

二.查看可执行文件使用了哪些动态库?

可以使用终端查看:

otool -L testmacho
machotest.jpg

三.在已经发布的.ipa包中注入代码

1.首先需要创建一个动态库,将动态库导入到app包中
2.需要在app包中的可执行文件添加动态库路径(相对路径)
下载yololib ->yololib binary (可执行文件) dylib file(动态库路径,相对于可执行文件的路径)-> 对app包进行签名压缩成xxxx.ipa->安装测试
执行命令的前提是要解锁yololib的权限,然后拷贝到/usr/local/lib目录下

yololib binary dylibfile

在使用yololib命令处理之后可以使用

otool -L binary

查看是否导入成功


optooldilb.jpg

在以上的操作中可能会遇到打开闪退的情况,这个时候可以使用另一个工具
下载地址:optool
将下载的optool拷贝到

/usr/local/lib

接着执行命令

optool install -c load -p "@executable_path/xxx.framework" -t  binary  //executable_path为固定字符,不能更改

最后对app包进行签名压缩重命名。

3. 注入dylib动态库

1.创建dylib:⚠️注意dylib是Macos动态库所以创建的时候需要选择


dylibcreat.jpg
dylibbase.jpg
dylibtarget.jpg
dylibcodesign.jpg

至于在动态库中要实现什么功能自由发挥,可以在类的+load方法中测试打印、定时任务、网络请求、弹窗……。

相关参考链接:

  1. IOS 非越狱代码注入(Framework)
  2. iOS非越狱逆向--代码注入
  3. 注入动态库闪退
  4. 免越狱iOS插件注入
  5. iOS代码注入+HOOK微信登录详细描述了如何创建Dylib

你可能感兴趣的:(iOS越狱开发相关知识点)