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

И така, ние ще ви трябва:
dex2jar
Java Decompiler
ApkTool
Всички заявления са безплатни, мултиплатформени и отворени (с изключение на Java Decompiler, затвори източник).
Те могат да бъдат свалени от официалния сайт.
Инструкция ще се харчат за OS Windows.
- Изтеглянето на dex2jar-0.0.7.10-SNAPSHOT.zip (номерът на версията може да варира) и разархивирате файловете до желаната папка, например D: \ декомпилира.
- Изтеглянето на Java Decompiler. Аз бях на JD-GUI за лесно и екстракт в същата папка, където и dex2jar.
- Изтеглянето на apktool1.4.1.tar.bz2 и apktool инсталиране-прозорци-r04-brut1.tar.bz2 и екстракт вече в системната папка. По подразбиране C: \ Windows.
- Поеми надясно APK файл и да постави в папка с dex2jar и Java Decompiler. Примерите са дадени декомпилира калкулатор част от стандартния Android. (Необходимо е да се извлече от архива).
- Отворете Command Prompt (Windows команден процесор) в горната папка. (Например, отваряне на APK файла с C: \ Windows \ System32 \ cmd.exe).
- Въведете командата dex2jar Calculator.apk и ако всичко върви добре, в същата папка, файлът ще Calculator.apk.dex2jar.jar
- Изпълнете JD-GUI и отваряне на получения файл в предишната стъпка.
- Изберете елемент от менюто File-Спасете Всички източници и спаси.
- Разархивирайте в резултат на компресиран архив.
- Сложете получената папка в папка SRC (нужда предварително да се създаде) (За да получите такава структура е приблизително D: \ декомпилира \ калкулатор \ SRC \ ком \ Android).
- Отново, в командния ред, въведете командата apktool г Calculator.apk калкулатор. където пакет Calculator.apk-име, Калкулатор-папка за декомпилиране
- Ако всичко е наред, а след това в указаната папка ще бъде източниците в два формата (Java и smali), ресурси и AndroidManifest.xml файл, apktool.yml
- Всичко е готово, получени източниците. Вярно е, че след като код декомпилация е да се каже, грешки, съм забелязал, че досега само че вместо истина и лъжа са 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 всички не са установени проблеми.