美文网首页
iOS 获取APP的ipa包并解析.car文件获取完整内资源文件

iOS 获取APP的ipa包并解析.car文件获取完整内资源文件

作者: 三也视界 | 来源:发表于2021-08-11 13:20 被阅读0次

    很多时候我们想要去模仿市场上的一些app,那就需要app里面的图片资源,如何获取呢?

    这里以iOS的app为例。

    首先mac电脑端下载一个软件,在App Store搜索apple configurator 2


    image.png

    点击下载,安装成功之后打开,usb连接上手机,如图表示连接成功

    image.png

    接下来是点击添加,然后选择app


    image.png

    这个时候由于未登陆,点击登陆


    image.png

    输入密码成功后,可以看到手机右上角有了红色的泡泡,证明登陆成功


    image.png

    双进手机泡泡查看详细信息,如下app处,查找到我们要下载的app,如图是手机已经安装的,这个安装和未安装都不影响。

    接下来进入正题,依旧是添加选择app,然后搜索需要的app,选中后,点击添加


    image.png

    未安装的先安装一次,然后再重复上面的添加


    image.png

    弹出已存在的警告的时候,不要进行任何操作,在本地去找ipa包文件,Finder-- 前往文件夹 – copy下面地址,路径如下
    ~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/

    或者文件夹直接前往~/Library/Group Containers/

    image.png

    改ipa文件后缀为.zip,然后解压文件,右键,显示包内容,即可获取到ipa包内文件资源


    image.png

    选择归档工具解压缩


    image.png

    最后我们就能得到一个文件夹,点击该文件夹,选择Payload文件,然后我们会看到如下的文件


    image.png

    右键显示包内容


    image.png image.png

    进入到资源文件文件夹中,另我大失所望的是居然没有我想要的所有图片资源,只要很少的一些,比如logo和引导页面的图片,但是我却发现了一个我们经常用的,那就是Assets.xcassets打包后生成的Assets.car文件,由于苹果公司不提供直接查看Assets.car的工具,所以查了下资料,很快就找到了cartool这么一个工具

    通过cartool工具,我们便能解析出图片资源
    下载方法:通过终端
    git clone https://github.com/steventroughtonsmith/cartool

    image.png

    xcode -》file -〉open。将下载下来的工程打开,大概就是这样


    image.png

    打开该工程后,就进入最重要的一步了,通过下面的步骤
    product–>scheme–>edit scheme

    image.png image.png image.png

    运行xcode发现路径存在空格,无法成功编译。

    image.png

    这个项目是五年前的,基本没人维护,而且是xcode8。自己修复也不懂。如有了解的希望不吝告知。

    那么只能换一个工具来解析car文件了,在cartool的issue发现有人提到了另一个工具:
    Swift5: https://github.com/iHTCboy/acextract

    同样是git clone https://github.com/iHTCboy/acextract
    然后xcode打开,首先同样的是指定要解析的car文件,以及输出的文件目录了

    image.png image.png

    运行,发现又出错了??


    image.png

    查看信息是说缺少文件,


    image.png
    点击左侧文件夹,正常情况下图中缺少的文件本来是红色的,或者没有对应的文件夹,图为我已经添加之后的情况。
    image.png

    如果缺少文件,那么进入文件夹,之后发现无法添加文件?
    用touch命令吧

    cd /Users/zby0520/myApp/acextract/CommandLine/CommandLine 
    touch Option.swift
    touch CommandLineTool.swift
    touch StringExtensions.swift
    touch Info.plist
    

    文件照搬https://github.com/iHTCboy/CommandLine/tree/b8209dc17ac1dd0f97ebfbd6a77a0633552626ca/CommandLine里面的即可

    再次build发现不报错了,解析成功。


    image.png

    打开输出目录,发现已成功输出


    image.png

    接下来终于可以愉快的敲代码了。

    以上教程不针对任何app,仅限用于学习,大家自觉遵守法律道德,不要干坏事哈。

    相关文章

      网友评论

          本文标题:iOS 获取APP的ipa包并解析.car文件获取完整内资源文件

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