29
votes
What are the tools use for reverse engineering android apk?
There are many tools, some are more low-level and some build on top of the low-level tools to make nicer and more complete tools.
Here are my favorites:
JADX - GUI (and Command line) to produce ...
16
votes
Debugging third party android APKs
To debug an APK without the source code, you need to perform the following:
Enable debug mode in the APK (use apktool to achieve this)
Sign the APK (use keytool and jarsigner)
Install the app and ...
9
votes
Bypassing certificate pinning in android
Use Xposed. Learn the API, is the way you should hook & manipulate Android apps.
Xposed + JustTrustMe
Xposed module (thx Fuzion24). The method calls you're looking for are in the below source ...
8
votes
Accepted
How Do I get proficient at Reverse engineering?
I spent the last 3 or 4 days
spending the majority of my day analysing Smali code making almost no
progress.
I know it feels like you've made "no progress", but I'd encourage you to not look at ...
7
votes
Android- hiding private keys in .so file
If your application can decrypt the files, then you should assume that anyone sufficiently interested can do so as well. End of story.
Obfuscation can slow people down, but it won't stop everyone, ...
7
votes
What are the tools use for reverse engineering android apk?
If you want to modify code, then the only real option I know of is bak/smali, which apktool provides a helpful wrapper for.
If you merely want to understand the code, there's lots of options. For ...
7
votes
Accepted
does android apk contain game mechanics?
Short answer
Single player games most frequently do contain all the information hard coded in the APK.
Multiplayer games usually require more work such as packet analysis and more black box work but ...
5
votes
Working with Android obfuscation
Here's how I would approach it. Which isn't necessarily the best approach.
The first step is to find out what kind of obfuscation the app is using by looking around with your favorite decompiler. ...
5
votes
Does Google encrypt APK when downloading it from Play Store?
Disclaimer: I took a different approach to find your solution. I don't use Fiddler, it has many adwares. You may use Fiddler and may find same result as I did.
Does anyone know how to unpack/...
5
votes
How to reverse engineering a proguarded .apk?
Without the proguard mapping, this is not possible. That information is simply no longer contained in the dex file.
The best you could do would be to manually rename the methods, etc. with your own ...
4
votes
Accepted
Opening non-standard PNG files extracted from Android app - missing signature and IHDR chunk
The first 16 bytes are unknown (likely some kind of private data). After that, a regular PNG file follows, but the first 128 bytes have been XORed with the value 234. The rest of the file is unchanged....
4
votes
Extract decrypted Assembly-CSharp.dll from APK via IDA
I think the solution is a very simple one, with one small tweak.
To decrypt the file,
XOR the encrypted data with the bytes 0xFCC6DC7FDCC7DFE0 and you will get the unencrypted file.
You can see this ...
4
votes
Accepted
Debugging third party apk without modifying apk
You can't debug an apk on a user build of Android, unless the app has the android:debuggable="true" attribute in the manifest
However, if you have a phone you can flash, you can flash a version of ...
4
votes
What are the tools use for reverse engineering android apk?
On desktop
You can try Antimony's answer.
Also check this comment(which states using dex2jar on .dex file and JD-GUI on jar file):
If you want to decompile an apk directly on your phone, show java can ...
3
votes
Accepted
Reverse engineering Android vendor system apps
Run apktool on the APK. I got a few XML files, including the
AndroidManifest, but no source. Apparently this is because there is no
classes.dex in the package.
That's because these are odexed ...
3
votes
Android- hiding private keys in .so file
We are using a C library in our application, however. We are using a .so file of this library compiled for the ARM architecture. We use the SWIG interface from our application's main Java code to ...
3
votes
Accepted
Android- hiding private keys in .so file
Hiding the keys anywhere in the apk (including .so files) is definitely not enough to keep the keys secret for the long time. The code that can be executed definitely can be reverse engineered, and ...
3
votes
Extract a secret from an Android apk or .so file
If the API key is a string then just running strings would reveal it w/o grep as you do in your example. There might be some other strings but longer ones seems to stand out so it should be clearly ...
3
votes
Accepted
How can I retrieve the encryption key in this code?
The encryption key is stored in the variable f4800b. It comes out to the following byte array.
43, 57, 97, -68, -63, -61, -40, 9, 50, 87, -104, 101, 63, 34, -78, 60
The cipher algorithm used is ...
3
votes
how to decompile or unite multipart dex class in an android apk file?
Dex files have a maximum amount of methods which they can contain, specifically 64k methods.
Jar files are just zip files containing class files.
Knowing both of these, all you need to do is dex2jar (...
3
votes
Can obfuscation be applied on certain parts?
Multiple .dex files are created mostly in cases when the number of methods exceed the maximum one for .dex files, which is 65536 functions per file.
Yes, ProGuard can be used to obfuscate only ...
3
votes
Debug 3rd-party apk with .so-files missing debug symbols
Generally, if the native libraries are distributed (in the apk) without debug symbols (which is quite common, and along with that, the apk was also made non-debuggable), you would not be able to find ...
3
votes
Extract resource images from a games APK
Your hex dump shows the plan-text word JFIF. These four letters are an indicator for an JPEG image, not a PNG image.
The magic bytes of a JPEG image are FF D8 FF which are also present in your hex ...
2
votes
Android (4.4+) SSL wireless sniffing without certificate changing
(Copy of an answer I gave on Stack Overflow)
You could try injecting code into the Android app to sniff and dump SSL traffic. Take a look at https://github.com/5alt/ssl_logger (5alt's fork works with ...
2
votes
Android (4.4+) SSL wireless sniffing without certificate changing
iSEC Partner's Android SSL TrustKiller utilizes hooks that Cydia substrate can provide in order to defeat certificate pinning.
2
votes
Repackaging APK file using baksmali and smali
After playing with smali/baksmali I got it working. I think you didn't use the recursive flag when zipping. This caused the res folder to be empty which caused the crash. Also I run zipalign after ...
2
votes
How to monitor APK files in Android System
I have used "File Monitor" from SteelWorks (I am not associated with this company in any way) on a non-routed Android device and it works fine.
2
votes
Accepted
reversing apk - getting native code in classes.dex
No, native code isn't in classes.dex. If an android apk file has native code, the apk itself, when unzipping, should have a lib subdirectory, which may have architecture-dependent subdirectories ...
2
votes
What's the most straightforward way to change a simple thing in Android APK java application?
Use apktool to disassemble it into smali, edit the smali, then reassemble with apktool. I've done it tons of times, and it's easy.
You could also manually edit the dex file in simple cases, but this ...
2
votes
Frida manipulating arguments - Android
If I understand your question correctly, you want to change the parameter, v, inside the inner function. Right?
If that's the case, you would already have access to the v argument inside your inner ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
apk × 112android × 90
decompilation × 21
java × 19
ida × 10
disassembly × 7
decryption × 7
dalvik × 6
debugging × 5
encryption × 5
malware × 4
unpacking × 4
deobfuscation × 4
patch-reversing × 4
https-protocol × 4
obfuscation × 3
api × 3
shared-object × 3
arm × 2
ghidra × 2
anti-debugging × 2
patching × 2
byte-code × 2
libraries × 2
jar × 2