iOS逆向与安全2.2 :代码注入

准备工作:重签名App

framework注入

1 新建 Framework

project Targets 新建 Coco Touch Framework ,在新建的Framework 写注入代码
iOS逆向与安全2.2 :代码注入_第1张图片
image.png

此时,在framework中写入的代码并不会贝调用

2 修改ipa中可执行Macho文件,注入framework

利用yololib修改原砸壳ipa中可执行Macho文件,引入自建Framework。
yololib文件可放在usr/local/bin目录下,省去每次输入yololib文件路径的麻烦、

yololib Speedtest Frameworks/speed_looha.framework/speed_looha
iOS逆向与安全2.2 :代码注入_第2张图片
image.png

完成,然后打包ipa,重新签名。
ps:验证是否修改成功,把修改后的Macho在Macho文件中打开,查看load commands,在末尾可以看到自建framework路径,即成功。

iOS逆向与安全2.2 :代码注入_第3张图片
image.png

3 重新run即可看到注入的代码

dylib注入

1 新建 dylib

project Targets 新建,选择macos ,Library ,在新建的Framework 写注入代码!


iOS逆向与安全2.2 :代码注入_第4张图片
image.png

2 修改 dylib 可以在ios环境下运行

->build setting->baseSDk - > 选择ios


iOS逆向与安全2.2 :代码注入_第5张图片
image.png

->build setting->sign identity - > 选择iosDev

iOS逆向与安全2.2 :代码注入_第6张图片
image.png

3 生成dylib,并打包到framework文件中

选择自建dylib,build一次,dylib


iOS逆向与安全2.2 :代码注入_第7张图片
image.png

打包到framework,Targets选择project,+ New copy fiels


iOS逆向与安全2.2 :代码注入_第8张图片
image.png

Destination 选择framework,然后选择dylib添加;

3 修改脚本,修改Macho文件,添加执行目录

注入

yololib "$TARGET_APP_PATH/$APP_BINARY" "Frameworks/libspeed_looha.dylib"

ps :若无法签名dylib,可以手动将dylib打包到原ipa文件。

你可能感兴趣的:(iOS逆向与安全2.2 :代码注入)