Пълен декомпилацията Android приложения в Java код, бум

Понякога, когато не разбирате развитието на поведението за изпълнение на конкретна функция, което се разглежда в друго приложение, или просто да проучи молбата ловна дружинка, за това има декомпилира приложения.
В тази статия ще ви покажем как да се декомпилира приложения от Android * .apk файл в изходния код.

Пълен декомпилацията Android приложения в Java код, бум

И така, ние ще ви трябва:
dex2jar
Java Decompiler
ApkTool

Всички заявления са безплатни, мултиплатформени и отворени (с изключение на Java Decompiler, затвори източник).
Те могат да бъдат свалени от официалния сайт.

Инструкция ще се харчат за OS Windows.

  1. Изтеглянето на dex2jar-0.0.7.10-SNAPSHOT.zip (номерът на версията може да варира) и разархивирате файловете до желаната папка, например D: \ декомпилира.
  2. Изтеглянето на Java Decompiler. Аз бях на JD-GUI за лесно и екстракт в същата папка, където и dex2jar.
  3. Изтеглянето на apktool1.4.1.tar.bz2 и apktool инсталиране-прозорци-r04-brut1.tar.bz2 и екстракт вече в системната папка. По подразбиране C: \ Windows.
  4. Поеми надясно APK файл и да постави в папка с dex2jar и Java Decompiler. Примерите са дадени декомпилира калкулатор част от стандартния Android. (Необходимо е да се извлече от архива).
  5. Отворете Command Prompt (Windows команден процесор) в горната папка. (Например, отваряне на APK файла с C: \ Windows \ System32 \ cmd.exe).
  6. Въведете командата dex2jar Calculator.apk и ако всичко върви добре, в същата папка, файлът ще Calculator.apk.dex2jar.jar
  7. Изпълнете JD-GUI и отваряне на получения файл в предишната стъпка.
  8. Изберете елемент от менюто File-Спасете Всички източници и спаси.
  9. Разархивирайте в резултат на компресиран архив.
  10. Сложете получената папка в папка SRC (нужда предварително да се създаде) (За да получите такава структура е приблизително D: \ декомпилира \ калкулатор \ SRC \ ком \ Android).
  11. Отново, в командния ред, въведете командата apktool г Calculator.apk калкулатор. където пакет Calculator.apk-име, Калкулатор-папка за декомпилиране
  12. Ако всичко е наред, а след това в указаната папка ще бъде източниците в два формата (Java и smali), ресурси и AndroidManifest.xml файл, apktool.yml
  13. Всичко е готово, получени източниците. Вярно е, че след като код декомпилация е да се каже, грешки, съм забелязал, че досега само че вместо истина и лъжа са 1 и 0, съответно.

Послепис Ако искате да импортирате кода в IDE Eclipse (File-Import), а след това сложи soderzhimoeetogo архив в папка с проекта след преминаването към третия ред Име на проекта Име на проекта до желаното име, в моя пример «калкулатор» в .Представяне на проекта файл
P.P.S. Ако файлът APK липсва при съставянето през Obfuscator (ProGuard), а след това, че кодът е трудно да се чете.

цитат
10.Pomeschaem Получената SRC папка в папка (е необходимо предварително да се създаде) (да се получи такава структура е приблизително D: DecompileCalculatorsrccomandroid). 11.Opyat същото команди въведете командата apktool г Calculator.apk калкулатор, където име Calculator.apk пакет, Калкулатор -papka за dekompilyatsii12.Esli всичко е наред, а след това в указаната папка ще бъде източниците в два формата (Java и smali), ресурси и AndroidManifest.xml файл, apktool.yml

Сега сме създали в мен «Android» папка две папки, един «Calculator.apk.dex2jar.srs» с папки и файлове «.java» и един «калкулатор» с папки и файлове (.smali, AndroidManifest.xml, apktool .yml). Тогава аз свален и raspakaval архив «Eclipse.zip», променя в низ «Име на проекта» ИМЕ проект до желаното име.

Ти си написал, че е необходимо да се създаде един, както следва:
цитат
.С. Ако искате да импортирате кода в IDE Eclipse (File-Import), а след това сложи съдържанието на архива (Eclipse.zip) в папка на проекта,

Както аз го разбирам в папката на проекта в "Затъмнение»?
Как тогава да направите вноса в ECLIPSE и определете каква папка в Eclipse, защото в diriktorii «андроид» Аз имам две?
Ако е възможно, моля, пишете за повече подробности, ако можеш от снимките тук и в блога си. Аз ще бъда много благодарен, че това е много важна тема за начинаещи.

Сметката е проста, вкусни съдържание на двата папки в едно

Искате да кажете така:

Или се слеят съдържанието на две папки в същата папка (SRC)?

Папката дестинация трябва да бъде присъдено папка, SRC и AndroidManifest.xml файл
Ами все още може да smali папка (това е изходния код в различен формат, който може да бъде
коригиране и събират)

Благодаря ти, сега аз ще тества ...

BOOMik моля да ми кажете. Не мога да разбера, че знакът в компресирания архив, където някои трети ред. тези файлове не vosche otkryvayutsya. дъвче pliz наистина трябва ... и дори по този метод, можете да дадете име и версия на пакета и след това да промените пакет

Къде мога изважда за третия ред? Кои файлове не могат да бъдат отворени?
Pro версия и името на пакета не мога да отговоря, мисля, че по принцип е възможно.

и може да бъде от 4 до 6 точка най-подробно?
как да отворите .apk от командния ред? и къде да пиша dex2jar Calculator.apk? Моля, обяснете, както и факта, че нещо не излиза според вашите инструкции

В командния ред, за да се отвори достатъчно, за да се затегне папка Klavin Shift и в пространството щракнете с десния бутон и изберете "Open Command Window"
В отворения прозорец и тип команди от параграф 6

Защо се позове на командния ред, само да усложни пътя си? С * .apk кликнете с десния бутон> отворен с> dex2jar всички не са установени проблеми.