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

2018-04-20  本文已影响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命令

步骤如下:

// 下面的/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(此文件夹名自己写一个不存在的 系统会给创建一个)

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

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

上一篇 下一篇

猜你喜欢

热点阅读