temp

作者: Andyzhao | 来源:发表于2019-05-09 17:49 被阅读0次

由deb文件得到dylib库后,将dylib库注入到二进制文件中,重新打包完成动态库附带的功能。

1. 获得dylib文件

使用theos建立tweak工程后,hook住要改写的函数,之后编译、打包(make、make package)生成xxxx.deb文件,deb文件是可以直接在越狱手机安装的。
将该deb文件后缀改为.zip文件,使用Keka(自带的没测过)解压,解压几次后,会出现文件夹Library/MobileSubstrate/DynamicLibraries,里面有xxx.dylib文件。

2. 查看dylib文件的依赖项

使用MAC自带otool工具查看,笔者的依赖路径如下,命令为:

otool -L /xx/xx/xxx.dylib

image

从图中可以看出除了CydiaSubstrate库,其他的都是系统自带的库。CydiaSubstrate为越狱手机中的库文件,其在越狱手机中的路径为/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate,或直接通过SSH连接到手机搜索,命令为

find  / -iname "CydiaSubstrate"  //搜索CydiaSubstrate

把CydiaSubstrate拷贝到电脑上,重命名为libsubstrate.dylib

3. 移动libsubstrate.dylib、xxxx.dylib文件到xxx.app中

将要破解的ipa文件改为zip文件解压后,把libsubstrate.dylib、xxxx.dylib移动到xxx.app中

4. 修改xxxx.dylib文件依赖

//loader_path固定字符串,不能更改
install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib xxxx.dylib

5. 再次查看xxx.app目录下的xxx.dylib文件依赖项

image

从图中可以看出依赖项路径已被修改

6. 将dylib注入到二进制文件中

optool工具地址:https://github.com/alexzielenski/optool
直接下载是编译不过的,还要下载ArgumentParser,地址为:https://github.com/mysteriouspants/ArgumentParser
把ArgumentParser文件导入到optool工程中,编译后生成optool工具,之后使用optool工具将dylib文件注入到二进制文件中(可直接下载我的工程,https://github.com/hzpqt/optool-

./optool install -c load -p "@executable_path/xxx.dylib" -t /xxx.app/xxx   //executable_path为固定字符,不能更改

如果顺利的话,终端应该会输出:

image

7. 重新签名打包

笔者使用的工具是iOS App Signer,选择好证书、授权文件后,开始打包

image

8. 安装xxx.ipa文件

image

如果安装成功后,点击打开出现闪退,估计就是以上路径配置有问题,可以导出崩溃日志看看。

作者:百省
链接:https://www.jianshu.com/p/8236249edd35
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

  • java自增与自减

    int a = 0; a++; 内部执行 int temp = a; temp = temp + 1; retur...

  • JS中的类型转换

    一、Number( temp ) -> 把temp转化为数字 1. temp为数字时: 把temp原样输出2. t...

  • temp

    https://www.bilibili.com/video/av24727309/ https://ke.qq....

  • temp

    简介: 开盘的是A小区、B小区和C小区。A、B是同一开发商,C是一个开发商。我想买的是A、B小区的100平方的户型...

  • Temp

    http://pan.baidu.com/s/1dDjQSUH http://youtu.be/oedWcKjG_b0

  • temp

  • temp

    http://www.ruankao.org.cn/jsjnew/cms/workPlan/detail/news...

  • temp

    咨询 netservice表格 list create delete update select 案例 work详...

  • temp

    http://steamtom.tunnel.mobi:8080/steam_weixin/wx.do $row ...

  • TEMP

    Blockchain References BlockChain: A Survey on Enabling Te...

网友评论

      本文标题:temp

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