Decompile aplicativos do Mac

3

Quando eu baixo aplicativos para Mac, eles vêm em uma extensão .app. Quando clico com o botão direito do mouse e vejo as informações do pacote, vejo muitos arquivos nele. Quais são esses arquivos? Isso significa que os aplicativos são de código aberto? Além disso, como posso proceder para descompilar um aplicativo? No Windows, eu era capaz de usar o editor hexadecimal e descompilar o software para mexer com os internos, fazendo com que o aplicativo fizesse coisas novas. Como funciona no Mac?

    
por Chealion 06.12.2009 / 09:38

3 respostas

8

As pastas .app são chamadas de pacotes. Eles são uma apresentação simples para aplicativos e permitem fácil movimentação ou desinstalação. O Mac OS usa bundles em todos os lugares quando precisa mostrar uma entidade que contém vários arquivos (Frameworks, Painel Preferences, Plugins, etc.).

Veja link para saber mais sobre como eles estão estruturados.

    
por 06.12.2009 / 10:36
6

A maioria dos aplicativos no OS X é distribuída como pacotes , que parece como um arquivo, mas é realmente uma pasta contendo outros arquivos e pastas. Esses "outros" arquivos e pastas são recursos usados pelo aplicativo. No OS X, os recursos (imagens, arquivos de som, etc.) são distribuídos como arquivos separados, em vez de um grande arquivo contendo todos os recursos - portanto, você não precisa de um editor hexadecimal para visualizar esses arquivos de recursos.

O conteúdo de um pacote .app normalmente contém itens como este:

.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

Observe que o aplicativo every no OS X contém um layout como este, independentemente de serem aplicativos de código aberto ou não.

    
por 07.12.2009 / 20:06
1

Os "arquivos" .app são pastas que contêm vários arquivos . O que você está vendo são os arquivos distribuídos com o programa, não o código-fonte.

A melhor analogia que posso imaginar é se os programas do Windows foram distribuídos em arquivos .zip e você acabou de soltá-los em C: \ Arquivos de Programas para instalá-los em vez de extraí-los. (Então os arquivos que você está vendo são os arquivos que você veria na pasta "Program Files \ program name" do programa no Windows)

    
por 06.12.2009 / 10:29

Tags