ipad - извлекать изображения из приложения? - PullRequest
7 голосов
/ 06 января 2011

Есть ли способ извлечь изображения из приложения, которое я скачал?

Я могу сделать это на Android, но на iPad?

Ответы [ 7 ]

15 голосов
/ 06 января 2011

Да.Найдите файл .ipa приложения в папке «Музыка / iTunes / Мобильные приложения».Сделайте копию где-нибудь и переименуйте ее в файл .zip.Распакуйте файл.В папке «Payload» щелкните правой кнопкой мыши файл .app и выберите «Показать содержимое пакета».Теперь вы можете получить доступ ко всем ресурсам приложения.

PNG-файлы будут кодироваться для iPhone и должны быть преобразованы для просмотра на вашем Mac / PC.Для этого есть несколько утилит.

Я использовал atPeek для автоматизации всего этого процесса, но это не бесплатное приложение (я думаю, что это 5 долларов): http://www.atpurpose.com/atPeek/

6 голосов
/ 17 декабря 2011

Начиная с iOS SDK 3.2 (и выше), вы можете использовать pngcrush для отмены оптимизации iOS PNG.

Используйте команду:

$ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -revert-iphone-optimizations "~/Path/To/The/Apps.app/Image.png" "~/Path/To/Place/The/Reverted/Image.png"

См. http://developer.apple.com/library/ios/#qa/qa1681/_index.html для полной информации.

iOS SDK доступен для бесплатной загрузки по адресу: http://developer.apple.com/devcenter/ios/index.action

Вы можете загрузить pngcrush без загрузки iOS SDK с: http://pmt.sourceforge.net/pngcrush/

3 голосов
/ 12 августа 2012

Что ж, есть отличный проект github, разработанный Седриком Лути:

https://github.com/0xced/UIKit-Artwork-Extractor

Он может просматривать и извлекать внутреннюю иллюстрацию iOS, а также обложку любого файла ipa.в iTunes.

2 голосов
/ 19 июня 2012

В последнем xcode путь:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush

... поэтому обязательно отредактируйте путь в pngcrush.

Кроме того (для noobs), если вы получите permission denied его, потому что файл еще не является исполняемым, выполните chmod +x [filename]

1 голос
/ 22 февраля 2013
  • Извлечение содержимого файла ipa (согласно ответу @ TomSwift)

  • Я написал этот сценарий PHP cmd line, который будет конвертировать / распаковывать все изображения в каталоге. Это скрипт строки cmd, он протестирован только на OSX.

Аргументы:

- indir (каталог, содержащий PNG)

- outdir (каталог, в который будут помещены преобразованные PNG)

- pngcrushpath [ необязательно ] (путь к pngcrush, если не указан, по умолчанию будет стандартным)

Пример использования:

php uncrush.php - indir /MyIPAs/MyApp.app/ - outdir / MyIPAs / перекодировано /

Источник сценария:

<?php

$args = getopt('', array(
    'indir:',
    'outdir:',
    'pngcrushpath::'
));


$inDir = @rtrim($args['indir'], '/');
$outDir = @rtrim($args['outdir'], '/');
$pngCrushPath = isset($args['pngcrushpath']) ? $args['pngcrushpath'] : '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush';

if(!is_dir($inDir)){
    error('INPUT DIR IS NOT VALID - DIRECTORY NOT FOUND ' . $inDir);
}

if(!is_dir($outDir) && !mkdir($outDir)){
    error('OUTPUT DIR IS NOT VALID - DIRECTORY WAS NOT FOUND AND COULD NOT BE CREATED ' . $outDir);
}

if(!is_file($pngCrushPath)){
    error('PNGCRUSH BINARY NOT FOUND');
}

$pngs = glob($inDir . '/*.png');

foreach($pngs as $png){
    msg('CONVERTING - ' . $png);
    convert($png, $outDir . '/' . basename($png));
}

msg('DONE');
exit;


function error($str){
    $f = fopen('php://stderr', 'w');
    fwrite($f, $str . "\n");
    fclose($f);
    exit;
}

function msg($str){
    $f = fopen('php://stdout', 'w');
    fwrite($f, $str . "\n");
    fclose($f);
}

function convert($inPng, $outPng){
    global $pngCrushPath;

    exec($pngCrushPath . ' -revert-iphone-optimizations -q ' . $inPng . ' ' . $outPng);
}

?>

Сегодня я написал этот скрипт для собственного использования, надеюсь, он пригодится кому-то еще. Не стесняйтесь изменять и размещать репосты в другом месте, но, пожалуйста, дайте ссылку на этот ответ на SO.

0 голосов
/ 28 сентября 2013

Лучший инструмент, который я нашел для извлечения изображений из приложений iPad / iPhone, которые обращаются к ним напрямую с устройства, - это iFunBox Get it at http://www.i -funbox.com /

0 голосов
/ 12 сентября 2012

Вот статья о том, как использовать pngcrush в сценарии оболочки, цикле и преобразовании всех изображений , найденных:

надеюсь, это поможет.

...