iOS逆向与安全2.2 :代码注入
2019-04-15 本文已影响0人
looha
准备工作:重签名App
framework注入
1 新建 Framework
project Targets 新建 Coco Touch Framework ,在新建的Framework 写注入代码![](https://img.haomeiwen.com/i1902357/f5bc4c7437d25a12.png)
此时,在framework中写入的代码并不会贝调用
2 修改ipa中可执行Macho文件,注入framework
利用yololib修改原砸壳ipa中可执行Macho文件,引入自建Framework。
yololib文件可放在usr/local/bin目录下,省去每次输入yololib文件路径的麻烦、
yololib Speedtest Frameworks/speed_looha.framework/speed_looha
![](https://img.haomeiwen.com/i1902357/dc26362c975b5a5d.png)
完成,然后打包ipa,重新签名。
ps:验证是否修改成功,把修改后的Macho在Macho文件中打开,查看load commands,在末尾可以看到自建framework路径,即成功。
![](https://img.haomeiwen.com/i1902357/a3ffb6c715264534.png)
3 重新run即可看到注入的代码
dylib注入
1 新建 dylib
project Targets 新建,选择macos ,Library ,在新建的Framework 写注入代码!
![](https://img.haomeiwen.com/i1902357/8e38cc6c70be712d.png)
2 修改 dylib 可以在ios环境下运行
->build setting->baseSDk - > 选择ios
![](https://img.haomeiwen.com/i1902357/24ea287afaddf7f3.png)
->build setting->sign identity - > 选择iosDev
![](https://img.haomeiwen.com/i1902357/6ba5beafa46f17f0.png)
3 生成dylib,并打包到framework文件中
选择自建dylib,build一次,dylib
![](https://img.haomeiwen.com/i1902357/79c92001cd5cffed.png)
打包到framework,Targets选择project,+ New copy fiels
![](https://img.haomeiwen.com/i1902357/14b499877cf8afaa.png)
Destination 选择framework,然后选择dylib添加;
3 修改脚本,修改Macho文件,添加执行目录
注入
yololib "$TARGET_APP_PATH/$APP_BINARY" "Frameworks/libspeed_looha.dylib"
ps :若无法签名dylib,可以手动将dylib打包到原ipa文件。