2011-01-23 18 views
8

Próbuję uruchomić zrzut klasy aplikacji na iPada, aby poznać jego architekturę. Wyodrębniłem plik .ipa za pomocą Unarchiver i z folderu Payload uruchomiłem zrzut klasy w pliku .app. Jednak pojawia się ten błąd:Jak zrzucić na klasę aplikacje na iPada?

/* 
*  Generated by class-dump 3.3.3 (64 bit). 
* 
*  class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2010 by Steve Nygard. 
*/ 

#pragma mark - 

/* 
* File: /Users/jason/Desktop/foo/Foo.app/Foo 
* UUID: 1234567890 
* Arch: arm v7 (armv7) 
* 
*  Objective-C Garbage Collection: Unsupported 
*  This file is encrypted: 
*   cryptid: 0x00000001, cryptoff: 0x00001000, cryptsize: 0x00073000 
*/ 

Jakieś pomysły?

Dzięki.

+9

„Ten plik jest zaszyfrowany "powinien być podpowiedź ... –

+1

Czy istnieje sposób na obejście tego? – jasonbogd

+3

@jasonbogd: Jest zaszyfrowany z jakiegoś powodu ... – aqua

Odpowiedz

0

Możesz spróbować go zdemontować, na przykład z IDA Pro. Ma wsparcie dla ramienia.

+0

To nie pomoże ci go zdeszyfrować ... –

16

Problem polega na tym, że uzyskany plik binarny został podpisany i zaszyfrowany do użycia w sklepie App Store. W celu zrzutu klasy lub jego demontażu musisz uzyskać niezaszyfrowaną wersję binarną. Najprostszym sposobem uzyskania tego jest use GDB to dump the executable kiedy jest uruchomiony (iPhone odszyfrowuje plik binarny, aby go uruchomić).

Oczywiście będzie to wymagało urządzenia z jailbreakiem.

+1

+1 Ale z zastrzeżeniem, że nie powinieneś tego robić, chyba że: a) masz wyraźne pozwolenie od autora (ów) aplikacji w tym celu i b) nie byli w stanie po prostu uzyskać bezpośredniej kopii źródła do obejrzenia. I nawet wtedy jest trochę niepewnie. – darvids0n

+1

i _osobowo_ uważam, że tego rodzaju poufne informacje nie powinny być podawane na stronach takich jak SO. Po pierwsze, zawsze mam dodatkową pracę, aby upewnić się, że moja aplikacja nie zostanie wykorzystana w ten sposób, a po drugie, jest zgodna z etyką inżynierii oprogramowania. żadna wojna nie była zamierzona, tylko mówienie. – Viren

+2

@Viren Security nie polega na ukrywaniu metod lub niejasności i to nie działa w praktyce. – zaph