美文网首页
OSX 将app格式转换为pkg并解压查看

OSX 将app格式转换为pkg并解压查看

作者: 空空小僧 | 来源:发表于2018-04-20 15:55 被阅读0次

    在做MAC OSX的 MDM的功能的时候,看到官方文档分发app,使用的是pkg格式的文件,且对软件的加密也是以pkg文件为例的,所以看了下pkg和app的文件的区别

    dmg文件

    dmg是MAC苹果机上的压缩镜像文件,相当于在Windows上常见的iso文件。我现在安装的非苹果商店的软件,基本上下载下来都是dmg格式的,然后里面携带着.app软件及一个MyApplications(mac电脑应用程序的快捷方式),安装时,直接将.app文件拖到此文件夹目录上即可完成安装

    pkg文件

    pkg文件也就是安装包配置文件,pkg中包含安装路径等信息,

    app文件转成pkg文件

    方法1: 使用productBuild命令

    步骤如下:

    • 将dmg中的app文件拖拽到一个单独文件夹(也可以不拖拽,大家知道路径就行,)
    • 将app右键show in finder 点击contents 找到info.plist文件也放到刚刚的文件夹
    • 然后开始打开终端,使用命令: productbuild**
    // 下面的/Applications 是app文件的安装目录
      productbuild --product [Plist文件路径]  --component [app文件路径]  /Applications  [导出文件路径]
    
    
    image.png

    上面的命令如下:

    productbuild --product /Users/Apple/Desktop/QDSkyD/Info.plist   --component /Users/Apple/Desktop/QDSkyD/QDSkyDrive.app  /Applications  /Users/Apple/Desktop/QDSkyD/QDSkyDrive.pkg
    
    

    方法2: 使用pkgbuild命令

    pkgbuild --component [app文件路径]   --install-locatopn   [App安装路径] --sign [使用的签名证书]
    [pkg文件的导出路径]
    

    上面的命令也可以将app文件转成pkg文件,但是此方法转换为的pkg文件和productbuild文件转化为的pkg文件解压之后内容不同,

    解压使用不同命名转换的pkg文件

    //解压方式1:
    xar -xf Setup.pkg
    cat qdskyDrive.pkg/Payload | cpio -i
    
    //解压方式2  2选1
    pkgutil --expand qdskyDrive.pkg ~/Desktop/12(此文件夹名自己写一个不存在的 系统会给创建一个)
    
    
    • 使用pkgbuild命令解压结果:


      image.png

    三个文件,分别是
    1.Bom文件
    2.PackageInfo文件
    3.Payload文件
    具体作用还没分分析

    • 使用productBuild命令解压如下:


      image.png

    具体区别再分析一下,尝试对立面的pkg再次解压,解压失败(Could not open package for expansion:///***.pkg)

    相关文章

      网友评论

          本文标题:OSX 将app格式转换为pkg并解压查看

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