当我下载 Mac 应用程序时,它们以 .app 扩展名出现。当我右键单击并查看包信息时,我看到其中有很多文件。这些文件是什么?这是否意味着应用程序是开源的?另外我该如何去反编译一个应用程序?在 Windows 上,我能够使用 s 十六进制编辑器和反编译软件来干扰内部结构,使应用程序做新的事情。它在Mac上如何工作?
小智 8
.app 文件夹称为包。它们是应用程序的简单演示,允许轻松移动或卸载。当 Mac OS 需要显示一个包含多个文件(框架、首选项窗格、插件等)的实体时,它会在每个地方使用包。
请参阅http://developer.apple.com/mac/library/DOCUMENTATION/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW13以了解有关它们的结构的更多信息.
OS X 上的大多数应用程序都是以包的形式分发的,它看起来像一个文件,但实际上是一个包含其他文件和文件夹的文件夹。这些“其他”文件和文件夹是应用程序使用的资源。在 OS X 上,资源(图像、声音文件等)作为单独的文件分发,而不是包含所有资源的一个大文件——因此您不需要十六进制编辑器来查看这些资源文件。
.app捆绑包的内容通常包含以下项目:
.app/ <- The app bundle
Contents/
_CodeSignature/ <- Used to verify an application
Frameworks/ <- Frameworks used by and distributed with the application
Info.plist <- Application metadata
Library/ <- Files that enable various OS X functionality
QuickLook/ <- Custom QuickLook renderers
Spotlight/ <- Custom Spotlight importers
MacOS/ <- Contains the actual binary code executed when double-clicking on the application
PlugIns/ <- Application plugins
Resources/ <- Resource files, such as icons, UI layouts, sound files, image files
Run Code Online (Sandbox Code Playgroud)
请注意,OS X 上的每个应用程序都包含这样的布局,无论它们是否是开源应用程序。
.app“文件”是包含多个文件的文件夹。您看到的是随程序分发的文件,而不是源代码。
我能想到的最好的类比是,如果 Windows 程序以 .zip 文件形式分发,您只需将它们放入 C:\Program Files 中即可安装它们,而不是解压它们。(因此您看到的文件就是您在 Windows 上该程序的“Program Files\program name”文件夹中看到的文件)
| 归档时间: |
|
| 查看次数: |
13732 次 |
| 最近记录: |