How to hack an Android app?
Disclaimer

Why?
How to hack secure an Android app
Type of attacks
- Network
- System
- Bytecode modification
- Binary code modification
Work environment
Tools
- AAPT
- ADB
- jarsigner/zipalign/Uber Apk Signer
- APKTool
- JADX/d2j-dex2jar/jd-cli
- APK Studio
- java2smali
- charlesproxy
- IDA Pro
- Il2CppDumper
- https://hexed.it/
- https://armconverter.com/
- ...
CHARLES

APK Studio

IDA Pro

Network





How to protect your app
HTTPS ?
Yes but not only


- Https
- App Signature
- Rooted
- SSL Pinning
System attacks
Change time
Rooted devices
- access to the app private files
- fake stores (Lucky Patcher, Freedom, ...)
How to protect your app
- Don't trust device time for sensitive calculation
- Don't store sensitive data in the app private folders
- Asymmetric cryptography
- Check rooted devices
- Check purchase server side
Bytecode modification
Unpack the app



Modify ressources
Modify code
unlock
pro
premium
buy
if (BuildConfig.DEBUG)
purchase
What are we looking for ?

Modify code

Modify code
Modify code

java2smali to the rescue
How to protect your app
Proguard/R8 obfuscation
Be careful with string
Code as badly as you can
No single point of faillure
Use inline in kotlin
Verifying App Signature
Binary code modification
Unity APK
Il2CppDumper

IDA Pro


armconverter.com
IDA Pro

How to protect your app
Be careful with string
No single point of faillure
Conclusion
How to secure an Android app?
How to discourage hackers?
How to hack an app
By Florian Paillard
How to hack an app
- 201