iOS逆向实操笔记9-注入插件&重签名

当我们在越狱手机上hook了别的app后,自然也想装到自己未越狱的手机上用,那么这时候就需要注入插件以及重签名app了。

老规矩,以pp虾为例

  • 首先你需要准备一份有效的描述文件


    image.png
  • 拿到pp虾.app文件,(可执行文件需要脱壳处理),我这里用Clutch脱壳,得到ipa文件,后缀改为zip,解压即可。
    image.png

    image.png
  • hook的动态库依赖于Cydia的动态库 /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate,将CydiaSubstrate拖到.app
  • hook过的动态库(/Library/MobileSubstrate/DynamicLibraries)也放到.app
    image.png
  • 将描述文件也拖到.app
  • 为了让app能编译我们hook的动态库,需要借助https://github.com/Tyilo/insert_dylib,编译出可执行文件,放到Mac/usr/local/bin路径下
    image.png
  • 通过指令insert_dylib @executable_path/tweak_test.dylib xxx --all-yes --weak xxx 注入动态库 , @executable_path:可执行文件所在目录
  • install_name_tool -change 旧路径 新路径 要修改的动态库,修改动态库依赖路径
    QQ20201226.png
  • otool -L xx.dylib 可以查看动态库信息,看看路径是否替换成功
  • 给动态库重签名,security find-identity -v -p codesigning查看可用证书,codesign -fs 证书id xxx 签名
    image.png
  • .app重签名,我是用ai思助手签的,挺方便的。通过它的工具箱里的ipa签名,用证书进行签名的。手动自己签,app里可能还有动态库,AppExtension(PlugIns文件夹中),WatchApp(Watch文件夹),都需要签,比较麻烦。
  • 这时候装到未越狱的手机上看看,如下图,确实是hook后的app了,去掉了不想看到的广告banner,更多功能和即玩小游戏模块,以及增加了版本号cell,点击登录弹窗。
    image.png

    image.png

emmm.... 发现图片资源没有带进去,奇了怪。

end

本文章仅供学习交流,如有侵权,请联系删除,谢谢!

你可能感兴趣的:(iOS逆向实操笔记9-注入插件&重签名)