美文网首页
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