UnCrackable App for Android Level 1
This app holds a secret inside. Can you find it?
- Objective: A secret string is hidden somewhere in this app. Find a way to extract it.
- Author: Bernhard Mueller
- Maintained by the OWASP MSTG leaders Jeroen Willemsen & Sven Schleier
adb -d install UnCrackable-Level1.apk |
装好之后先大致看一下逻辑,一打开就有个 Root detected!
弹窗,点 OK 就强制退出了。
jadx 启动
public void onCreate(Bundle bundle) { |
跟进可以发现,这一部分是判断是否有 root 的逻辑。
public class C0002c { |
退出的逻辑:
private void m5a(String str) { |
干掉退出
为了不退出,先尝试 hook 住 System.exit(0)
。
setImmediate(function () { |
hook 成功,下一步就是获取到 secret string。
干掉验证
public void verify(View view) { |
按照这里的逻辑,先使用简单粗暴的方法,直接 hook 住 m6a
的返回值就可以了。
setImmediate(function () { |
换种思路
在运行时拿到 secret string。
a.a(b("8d127684cbc37c17616d806cf50473cc"), Base64.decode("5UJiFctbmgbDoLXmpL12mkno8HT4Lv8dlat8FxR2GOc=", 0)); |
Java.use("sg.vantagepoint.a.a").a.implementation = function (arg1, arg2) { |
UnCrackable App for Android Level 2
This app holds a secret inside. May include traces of native code.
- Objective: A secret string is hidden somewhere in this app. Find a way to extract it.
- Author: Bernhard Mueller
- Special thanks to Michael Helwig for finding and fixing an oversight in the anti-tampering mechanism.
- Maintained by the OWASP MSTG leaders Jeroen Willemsen & Sven Schleier
这题开始涉及 lib 的逆向了,未完待续。
UnCrackable App for Android Level 3
The crackme from hell!
- Objective: A secret string is hidden somewhere in this app. Find a way to extract it.
- Author: Bernhard Mueller.
- Special thanks to Eduardo Novella for testing, feedback and pointing out flaws in the initial build(s).
- Maintained by the OWASP MSTG leaders.
UnCrackable App for Android Level 4
The Radare2 community always dreamed with its decentralized and free currency to allow r2 fans to make payments in places and transfer money between r2 users. A debug version has been developed and it will be supported very soon in many stores and websites. Can you verify that this is cryptographically unbreakable?
Hint: Run the APK in a non-tampered device to play a bit with the app.
- Objectives:
- 1: There is a master PIN code that generates green tokens (aka r2coins) on the screen. If you see a red r2coin, then this token won’t be validated by the community. You need to find out the 4 digits PIN code and the salt employed as well. Flag:
r2con{PIN_NUMERIC:SALT_LOWERCASE}
- 2: There is a “r2pay master key” buried in layers of obfuscation and protections. Can you break the whitebox? Flag:
r2con{ascii(key)}
- 1: There is a master PIN code that generates green tokens (aka r2coins) on the screen. If you see a red r2coin, then this token won’t be validated by the community. You need to find out the 4 digits PIN code and the salt employed as well. Flag:
- Author: Eduardo Novella & Gautam Arvind.
- Special thanks to NowSecure for supporting this crackme.
- Maintained by Eduardo Novella & Gautam Arvind.