получить все строки, определенные в АПК
есть ли быстрый способ получить все строки, определенные в apk?
Я делаю что-то вроде этого:
aapt d --values resources app.apk
Я не уверен, что он дает мне все строки.
Если есть более простой способ разбора строки, пожалуйста, дайте мне знать.
4 ответов
вы можете изменить "ресурсы "на" строки", и у вас будет это. Использовать:
aapt d --values strings [APK_FILE]
это сбросит все строки на apk. Дамп включает в себя строковые ресурсы, которые вы ищете.
Это также включает строки, созданные системой, такие как путь к ресурсам (res/drawable-hdpi/icon.пример ПНГ путем).
Я нашел другой, возможно, более простой способ сделать это для конкретного xml-файла.
aapt d xmlstrings app.apk xmlfile
это распакует весь APK, включая превращение файлов обратно в иерархию каталогов, которую вы ожидаете от проекта Android.
http://code.google.com/p/android-apktool/ (deprecated)
http://ibotpeaches.github.io/Apktool/install/
тип
apktool d YourApp.apk
результаты будут отправлены в папку с именем YourApp
вы можете попробовать это в системе Linux:
$ strings yourfile.spk
это разберет все символы ASCII на определенную длину (по умолчанию 4 байта), но вы можете изменить эти длины с параметрами командной строки.
сканирование an .apk, как это даст вам много мусора, хотя, как он найдет любые печатные символы в строке и сбросить его на экран. Пробуя это на APK, я вижу ссылки на GIF-изображения, XML-изображения, в основном, все, что вы ссылка по имени файла в пути/ res / resource. Не упоминает имен функций и т. д., очевидно, так как все это компилируется до машинного языка.
Если вам нужны только ссылки на xml-файл и т. д., вы можете передать свой запрос через grep, например:
$ strings yourfile.spk | grep xml$