I am looking for a way to make changes to my apk file - These changes should make the apk harder to reverse engineer.
I am already running Proguard to obfuscate the code.
From what I see there are Dexguard and Dexprotect that add encryption for your classes and resources. Is there a simple way to add encryption by your self to the resource folder?
I have also found from old answers HoseDex2Jar. This tool will protect your code from decompiling. The answers were 4 years old and now I could not find this tool. The website is still online but it seems that they have redesigned their software. Is there a new solution like this?
On Jelly Bean it seems that you can encrypt the apk. But it only works if you install the apk from adb - so it can not be used in production(where users download the app from google play)
https://nelenkov.blogspot.ro/2012/07/using-app-encryption-in-jelly-bean.html
Thanks
Related
My professor said to me that when you build apk the serial number of the computer or of the cpu that built the APK is written in the file
My question is if it’s true where it’s written?
Because I think it’s might be wrong
I tried to decompile the apk
And search inside the files
I tried using 7zip too
I have dealt with APK structure and building, and have never heard of something like that, to be honest. Has he mentioned, which file should be affected? The APK in a whole or a specific file within the APK? And in which step of APK building this happens?
The closest I can think of would be the mechanism to provide alternative resources to support specific device configurations. But that still hasn't to do anything with any kind of serial number for the computer the APK was built on.
I am currently working on an android app but my hard drive unfortunately crashed and I lost all the data on it... I am trying to recover my source code from the debug APK I had installed on my phone (using dex2jar and jd-gui) however, it seems like the classes are not present in the classes.dex and classes2.dex (both files are tiny and do not contain any of the classes in my code, see photo).
I used apk extractor to get the apk from my installed app and I cant seem to get anything close to my original classes... I am wondering if I am doing something wrong to get the APK from the installed app; any help would be greatly appreciated.
Thanks.
For de-compiling your APK to Java classes you can go to this site -
http://www.javadecompilers.com/apk
Just upload your apk and click on decompile. It should work for you !
So i have an android app (payqwiq) which has root detection. Using magisk i have managed to get my phone to pass safetynet and i can use android pay, however this payqwiq app still throws an error.
I was recommended in the magisk support thread to decompile the apk and check for dependencies and if it is checking for props and told to Google it.
So i used apktools to decompile the apk and poured over the smali files. I found a method in LaunchActivity.smali that looked promising but i cannot for the life of me figure out what it is actually checking for.
Please could i have some help with what to look for?
You can use jadx to decompile the classes.dex file within an APK file to Java.
I have developed an Android app in Android studio and have uploaded its apk in Google Play Store as well. But I had lost all the files(java+xml) of the app.
Now I only have the apk from play store and also the apk before uploading to Google Play Store (apk before performing encryption).
Now I want to get all the java files and xmls of the app for updating the app. I have tried all the steps mentioned by previous StackOverflow questions but I was not able to get the Java files properly. I was able to get the xmls properly. Java files I got was somewhat not understandable format (partially compiled/transformed)
So my question here is can I get all java files as normal java files without any compilation/transformation?
Please help guys. Thanks a ton in advance
Nope, you can't. Unless going through reverse engineering process, something like dex2jar...
The first step is to extract your APK archive and copy the file named classes.dex to some other directory. Next you need to convert your dex file into jar format.
For that you can use this library. Bear in mind that you have to build it first using gradle.
The final step is to decompile your java class files into proper java files. Use this tool.
Voila, you have your source code. That is if you haven't used Proguard to obfuscate your code.
So im making a C# application which I want to be like a small configuration GUI where the user can input his own parameters and select some features, and according to those a xml file will be made and put in a prebuilt ready-to-build android project (in the asset folder). Now i'm struggling with the part where the C# application should compile the project and make a final apk. I tried to use ant but fail hard at understanding how to use it. Any help would be appreciated, but please be detailed im new to this kind of stuff.
This is a rather old question, but I'm going to answer it with my final solution.
I created a builder in C# by including the free apktool (and required files) in my project, which could decompile and compile an apk.
So what I did was after making my app, decompile it with apk tool, and then include the decompiled project with my c# project. The user generated a config file using the C# application, and it was deployed in the /assets/ folder of my app since my app expected it to be there.
Then I builded it again with apktool and signed using a debug keystore. (debug keystore is default if the user has no idea what that is, another keystore can be selected)
Keep in mind that, for this to work, the end user has to have java SE installed, I listed these 2 as "required" in my application (PC restart after installation recommended):
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
Hope this helps anyone finding this, rather old, post!