iOS逆向之 代码注入

一 framework注入

  1. 新建工程001--Demo,根据我上一篇文章的重签名方式之三 脚本重签名的xcodeCodesign.sh文件,进行重签名后
  2. Xcode -> TARGETS -> +号 ->Cocoa Touch Framework新建meryinFramework
  3. 在meryinFramework文件下新建类,在类的+(void)load方法中,进行代码编写,如
+(void)load{
    NSLog(@"meryin--------------xx--");
}
复制代码
  1. 绑定meryinFramework:TARGETS ->001--Demo ->+New Copy File Phase, 在Copy File下把Ddestination改为Frameworks,然后把Copy File下的+号,加上新建的meryinFramework,然后build一下
  2. 把 **yololib**工具拷贝到/usr/local/bin文件夹中
  3. 工程001--Demo的Products,001--Demo.app显示包内容找到包内容中的WeChat可执行文件,拷贝到桌面上yololib WeChat Frameworks/meryinFramework.framework/meryinFramework那么就修改了macho文件的framework依赖关系 7.修改成功过后在工程文件夹的App文件夹中把微信ipa用归档方式打开,然后进行Payload,找到WeChat.app,显示包内容,找到包内容中的WeChat可执行文件,替换成第6步的WeChat可执行文件
  4. 然后把替换后的WeChat.app文件打包成WeChat.ipazip -ry WeChat.ipa Payload,替换原来的ipa
  5. 最后App文件夹中只剩下替换后的WeChat.ipa,进行运行,结果如下:
    用MachOView查看macho的framework依赖关系:

二 Dylib注入

  1. 接着上面的工程001--Demo , Xcode -> TARGETS -> +号 新建macOS->Library新建meryinDylib

2.改base sdk为iOS

3. 改code sign identity为iOS developer

  1. 绑定meryinDylib:选中meryinDylib真机build过后在Copy File下把Ddestination改为Frameworks,然后把Copy File下的+号,加上新建的meryinDylib
  2. 在xcodeCodesign.sh文件中下入代码:
# 7 注入dylib
echo "开始注入"
FRAMEWORK_PATH="Frameworks/libmeryinDylib.dylib"
yololib "$TARGET_APP_PATH/$APP_BINARY" "$FRAMEWORK_PATH"
echo "注入结束"
复制代码
  1. 在meryinDylib.m中写入测试代码,然后运行
+(void)load{
    NSLog(@"meryin=dylib------");
}
复制代码

结果如下

转载于:https://juejin.im/post/5afa3bde51882542ac7d61b0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值