1.注入动态库
应用场景:我们在分析竞品的时候,希望自己写的代码也能在程序中运行,这个时候,把咱的代码打包成动态库,然后注入在竞品中。
1.1.注入动态库有三种方式:
1.将制作好的动态库上传到Dynamic Libraries目录;
2.使用DYLD_INSERT_LIBRARIES环境变量;
3.为Mach-O文件插入Load Command(加载命令),加载动态库;
1.2.上传自己的动态库到Dynamic Libraries目录
/Library/MobileSubstrate/DynamicLibraries
1.3.使用DYLD_INSERT_LIBRARIES环境变量
DYLD_INSERT_LIBRARIES=test.dylib var/mobile/Container/Bundle/Application/143GH588-7829NDH-DJJA64993/WeChat.app/WeChat
注:dumpdecrypted是一款脱壳工具。他的工作原理就是使用DYLD_INSERT_LIBRARIES环境变量将动态库注入进程中,然后把文件从内存中dump下来,dump下来的是解密文件。