iOS越狱工具

一、shell预习

shell预习代码:

vi 123.sh


i 进入编辑
mkdir shell
cd shell
touch 123.txt

:x 保存退出 :wq 也行


//执行 sh文件
bash 123.sh
zsh 123.sh
source 123.sh //会进入文件夹
./123.sh //会报错 没有权限
chmod +x 123.sh  //按权限 执行

二、Framwork注入

一般修改原始的程序,是利用代码注入的方式,注入代码就会选择利用FrameWork或者Dylib等三方库的方式注入。

Framwork注入

  • 通过Xcode新建Framwork,将库安装进入APP包

  • 通过yololib注入Framwork库路径。命令:$yololib(空格)MachO文件路径(空格)库路径

  • 所有的Framwork加载都是由DYLD加载进入内存被执行的

  • 注入成功的库路径会写入到MachO文件的LC_LOAD_DYLIB字段中

三、yololib工具

代码:

//! Project version number for Hook.


FOUNDATION_EXPORT double HookVersionNumber;

//! Project version string for Hook.

FOUNDATION_EXPORT const unsigned char HookVersionString[];



+(void)load
{
    NSLog(@"\n\n\n\n??????\n\n\n\n");
}


Dylib注入

  • 通过Xcode新建Dylib库(注意:Dylib属于MacOS所以需要修改属性)

  • 添加Target依赖,让Xcode将自定义Dylib文件打包进入APP包。

  • 利用yololib进行注入。

在/usr/local/bin 下配置yololib工具和环境

需要利用yololib工具进行调用注入 :

在shell脚本中加入:
yololib "$TARGET_APP_PATH/$APP_BINARY" "Frameworks/libHankHook.dylib"

把libHankHook.dylib 路径写入到MachO文件的LC_LOAD_DYLIB字段中,就完成代码注入。

四、dylib注入

image.png

class_addMethod方式

  • 利用AddMethod方式,让原始方法可以被调用,不至于因为找不到SEL而崩溃

class_replaceMethod方式

  • 利用class_replaceMethod,直接给原始的方法替换IMP

method_setImplementation方式

  • 利用method_setImplementation,直接重新赋值原始的新的IMP

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYuHrwbu' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片