美文网首页
iOS 破壳 & dylib 注入

iOS 破壳 & dylib 注入

作者: pipa | 来源:发表于2017-07-03 11:43 被阅读616次

下面本人自己试验成功的步骤。看到还有很多其他的步骤来达到相同的目的,根据自己喜好熟练度选择。

环境

  • theos 创建dylib

  • yololib 将动态库加入到Load Commands。
    用法:
    ./yololib mach-o(需要注入的二进制文件) custom.dylib
    查看:
    otool -L math-o

  • ipa打包
    压缩 以下文件。注意: 不能是直接压缩最外层的文件夹,需选中两个文件压缩。

├── Payload
└── iTunesArtwork
  • 重签
    sigh resign ***.ipa
    选中需要用的 证书 & mobileprovision

疑难

  • 找不到 /common.mk文件。
    执行 export THEOS=/opt/theos ,关闭终端后失效。
  • 在安装ipa时提示 dylib 版本号0.0.0 ,不符合最低 1.0.0 要求。
    在Makefile中添加
ARCHS = armv7 armv7s arm64
...
_THEOS_TARGET_LDFLAGS += -current_version 1.0
_THEOS_TARGET_LDFLAGS += -compatibility_version 1.0
  • 安装ipa后,打开崩溃。显示无法加载 自定义的dylib。
    非越狱手机依赖需要 libsubstrate.dylib
    步骤:

    • 去theos安装目录查找。 /opt/iOSOpenDev/lib/libsubstrate.dylib
    • 替换自定义dylib中依赖路径。
      install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib ioswechatselectall.dylib
    • 然后把 自定义dylib 和 libsubstrate.dylib 复制到需要注入的ipa bundle根目录中。
  • 修改完Load command 之后,执行 ldid进行签名。
    详情

     ldid -S Wechat
    

    第二种修改 load command的方法 (推荐)

    Install
    optool install -c load -p "@executable_path/RedEnvelop.dylib" -t WeChat
    Uninstall
    optool uninstall -p "@executable_path/RedEnvelop.dylib" -t WeChat

  • 库剥离&合并

    剥离:

    lipo -thin armv7 xxxx.dylib -output xxxx_v7.dylib
    lipo -thin arm64  xxxx.dylib -output xxxx_64.dylib
    

    合并:

    lipo -create ./xxxx_v7.dylib ./xxxx_64.dylib -output ./xxxx.dylib
    
  • 查看本地全部已安装证书

security find-identity -p codesigning -v
  • 查看App签名信息| bundle Name,mach0 path
    codesign -vv -d ZHSign.app

  • 最新破壳方法
    frida 一键破壳。方便到令人发指。。。

// 电脑链接手机,修改ssh端口为 2222.    
iproxy 2222 22
// 如果都没有问题,执行以下命令就可以在当前目录下看到破壳后的ipa
./dump.py  微信


由于简述无法上传附件。github也有大小限制。如果需要破壳ipa的童鞋,可以email给我。wally.h@qq.com

相关文章

  • iOS 破壳 & dylib 注入

    下面本人自己试验成功的步骤。看到还有很多其他的步骤来达到相同的目的,根据自己喜好熟练度选择。 环境 theos 创...

  • iOS App MachO注入 - Dylib注入

    iOS App MachO注入 - Dylib注入 dylib 注入 1. 新建TARGETS 2. 添加依赖关系...

  • 动态库 dylib 注入

    iOS动态库 dylib 注入 https://www.exchen.net/ios-hacker-动态库-dyl...

  • 2019-08-26

    目前 bfinject 的项目源码仅支持 Dylib 注入的系统为 iOS 11.0 - 11.1.2, 但是现在...

  • 代码注入

    Framework库中代码注入工程的步骤:(选择iOS下创建库) Dylib库中代码注入工程的步骤:(选择MacO...

  • 初涉iOS逆向工程:免越狱修改微信

    破壳 ​ 参考文章iOS逆向之博破壳 外观篇 ​ 参考文章初涉iOS逆向工程:免越狱修改微信(外观篇) 功...

  • Dylib 注入

    准备工作: 像往常一样,创建项目,创建脚本,引入固定的脚本。 动态库 配置 添加 动态库 (Dynamic) IO...

  • Dylib注入

    1. 创建Dylib注入项目,在.xcodeproj同级目录创建APP文件,放入微信ipa包,Build Phas...

  • 注入dylib

    开源选择 目前找到比较好的一个开源库是这个https://github.com/Tyilo/insert_dyli...

  • Framework注入&dylib注入

    一、framework注入 1、手动注入 1⃣️、创建framework 2⃣️、把yololib配置到/usr/...

网友评论

      本文标题:iOS 破壳 & dylib 注入

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