美文网首页
动态库注入

动态库注入

作者: 政在coding | 来源:发表于2018-06-20 11:18 被阅读0次

    Framework注入

    原理

    通过XCode将我们创建的framework扔进app包里面。然后通过工具修改程序的MachO文件,然它可以去加载我们的动态库。

    步骤

    使用之前自动化重签的XCode工程,在工程里面新增加了一个target,选择framework。然后选择回重签的target,在Build Phases里面添加一个copy files。然后选择为framework,添加刚刚我们创建的framework target。

    动态库注入1.png

    继续在编译的脚本最后上加入代码

    echo "开始注入"
    # 需要注入的动态库的路径  
    INJECT_FRAMEWORK_RELATIVE_PATH="Frameworks/EKHook.framework/EKHook" # 这个脚本的当前路径是app包根目录,Frameworks目录下加上我们要注入的framework
    ​
    ## 通过工具实现注入
    yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_FRAMEWORK_RELATIVE_PATH"
    echo "注入完成"
    

    yololib这个工具可以在GitHub上找到 https://github.com/KJCracks/yololib,编译好放到usr/local/bin里面就好了。

    然后可以在我们的framework的工程里面写入我们自己的代码。

    dylib注入

    新建一个target,选择macOS的library。因为创建的是macOS架构的,而我们是要按照在iOS上的,所以先要改架构。按照下图,把base SDK改为iOS的。然后再搜索code sign identity,将证书改为iOS Developer的。

    动态库注入2.png

    接下来和注入framework一样,在主target里面添加上刚刚的dylib。然后加上下面的注入脚本

    # 需要注入的动态库的路径 
    INJECT_DYLIB_RELATIVE_PATH="Frameworks/libEKDylibTest.dylib"
    ## 通过工具实现注入
    yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_DYLIB_RELATIVE_PATH"</pre>
    

    运行,成功。

    相关文章

      网友评论

          本文标题:动态库注入

          本文链接:https://www.haomeiwen.com/subject/ozityftx.html