Hot answers tagged

28 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 ...
  • 411
20 votes

Repackaging APK file using baksmali and smali

I use apktool for this purpose, and a short little pair of shell scripts for decompiling and recompiling APKs: decompile-apk #!/bin/bash -e if ! [ "$1" ]; then echo "usage: $0 <file.apk>" ...
  • 1,253
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 ...
  • 466
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, ...
  • 1,972
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 ...
  • 1,972
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. ...
  • 1,972
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/...
  • 1,489
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

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 ...
  • 501
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....
  • 2,294
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 ...
  • 1,674
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 ...
  • 7,945
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 ...
  • 5,890
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 ...
  • 686
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 ...
  • 645
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.
  • 51
2 votes
Accepted

How to monitor APK files in Android System

If you have root access in device you can use ps, also you can use /proc file system.
  • 161
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 ...
  • 411
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 ...
  • 141
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.
  • 21
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 ...
  • 1,972

Only top scored, non community-wiki answers of a minimum length are eligible