You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Convert an APK to an Android Studio Project using multiple open-source tools. Tools that are unavailable are mirrored using repositories on my own Github account (copyright remains with the original creators, those repositories only serve as a mirror).
3
3
4
-
For more information, refer to [this](https://maxkersten.nl/projects/androidprojectcreator/) page on my website. If you've got any questions, please contact me on Twitter [@LibraAnalysis](https://twitter.com/LibraAnalysis)!
4
+
For more information, refer to [this](https://maxkersten.nl/projects/androidprojectcreator/) page on my website. If you've got any questions, please contact me on Twitter [@Libranalysis](https://twitter.com/Libranalysis)!
version.append("[+]AndroidProjectCreator " + versionNumber + " [developed by Max 'Libra' Kersten <info@maxkersten.nl> or @LibraAnalysis on Twitter]\n");
178
+
version.append("[+]AndroidProjectCreator " + versionNumber + " [developed by Max 'Libra' Kersten <info@maxkersten.nl> or @Libranalysis on Twitter]\n");
//TODO before the combine functionality is added, add a temporary "copy all classes[n].dex files to the template project's assets folder" method
121
121
//TODO Combine classes[N].dex files into classes.dex to decompile every part of the binary, should be optional since it can exceed 64k functions. Use /Users/[name]/Library/Android/sdk/build-tools/28.0.2/lib/dx.jar com.android.dx.merge.DexMerger output.dex part1.dex part2.dex
122
122
//Source for code: https://stackoverflow.com/questions/11257378/is-there-a-way-to-merge-two-or-more-dex-files-into-one-dex-file-using-scala
123
-
//Convert the classes.dex to a JAR file for later use
124
123
/**
125
-
* Convert the classes.dex to a JAR (use the "sh" in front since the
126
-
* script is not executable by default)
127
-
*
128
-
* The '-n' is used to ignore exceptions that are thrown by dex2jar
129
-
*
130
-
* The '-f' is used to forcefully overwrite existing files on the
131
-
* destination location
132
-
*
133
-
* The '-o' is used to define the output location
124
+
* JADX can decompile an APK directly, therefore its more efficient to
125
+
* skip this step if the JADX decompiler has been selected.
134
126
*/
135
-
if (isWindows) {
136
-
command = "d2j-dex2jar.bat";
137
-
} else {
138
-
//Add extra shell here to avoid the need to chmod +x the shell script
139
-
command = "sh ./d2j-dex2jar.sh";
127
+
if (argumentPackage.getDecompilerType().equals(DecompilerType.JADX) == false) {
128
+
//Convert the classes.dex to a JAR file for later use
129
+
/**
130
+
* Convert the classes.dex to a JAR (use the "sh" in front since the
131
+
* script is not executable by default)
132
+
*
133
+
* The '-n' is used to ignore exceptions that are thrown by dex2jar
134
+
*
135
+
* The '-f' is used to forcefully overwrite existing files on the
136
+
* destination location
137
+
*
138
+
* The '-o' is used to define the output location
139
+
*/
140
+
if (isWindows) {
141
+
command = "d2j-dex2jar.bat";
142
+
} else {
143
+
//Add extra shell here to avoid the need to chmod +x the shell script
144
+
command = "sh ./d2j-dex2jar.sh";
145
+
}
146
+
//Append the flags and the file paths to the commands. These are the same on any platform due to the Java runtime
0 commit comments