174 words
1 minute
TCTT25 Mobile: Bangkok Casino

Bangkok Casino (300 pts) - Mobile Security Write-up#

โจทย์#

คุณหลุดเข้ามาในคาสิโนลับกลางกรุงเทพฯ ที่ว่ากันว่ามี “กุญแจรหัส” สำหรับสมาชิกระดับ VIP ซ่อนอยู่ในแอปของทางคาสิโนเอง

ใครก็ตามที่หามันเจอ จะปลดล็อกสิทธิพิเศษได้ทันที… แต่แน่นอนว่าเจ้าบ้านไม่ปล่อยให้ค้นง่าย ๆ


ดาวน์โหลดไฟล์#

ไฟล์ดาวน์โหลด
APK File📦 GitHub Folder

แนวทางการวิเคราะห์#

1. Decompile APK#

Terminal window
jadx-gui bangkok-casino.apk

2. ค้นหา Secrets#

Terminal window
grep -r "VIP" output/
grep -r "secret" output/
grep -r "key" output/
grep -r "flag" output/
grep -r "admin" output/

3. วิเคราะห์ Game Logic#

มองหา:

  • Admin/VIP checks
  • Hidden features
  • Hardcoded credentials
  • Encrypted data

4. ตรวจสอบ Native Libraries#

Terminal window
# List native libs
ls output/lib/
# Analyze with Ghidra if needed

5. Dynamic Analysis with Frida#

Java.perform(function() {
// Hook VIP check
var VIPClass = Java.use('com.casino.VIPManager');
VIPClass.isVIP.implementation = function() {
console.log('VIP check bypassed');
return true;
};
});

จุดโจมตีที่เป็นไปได้#

จุดโจมตีคำอธิบาย
Hardcoded KeysSecret keys ใน source code
SharedPreferencesเก็บ VIP status
Native LibKeys ซ่อนใน .so files
Encrypted AssetsDecode encrypted resources
Network TrafficIntercept API calls

Tools สำหรับวิเคราะห์#

Toolวัตถุประสงค์
jadxJava decompiler
FridaRuntime hooking
GhidraNative lib analysis
Burp SuiteNetwork traffic
objectionMobile exploration

Frida Scripts#

Bypass Root Detection#

Java.perform(function() {
var RootChecker = Java.use('com.casino.security.RootChecker');
RootChecker.isRooted.implementation = function() {
return false;
};
});

Dump Strings#

Java.perform(function() {
var StringClass = Java.use('java.lang.String');
StringClass.$init.overload('[B').implementation = function(bytes) {
var result = this.$init(bytes);
if (result.indexOf('flag') !== -1 || result.indexOf('VIP') !== -1) {
console.log('Found: ' + result);
}
return result;
};
});

หมายเหตุ#

นี่เป็น reverse engineering challenge VIP secret key (flag) ซ่อนอยู่ในแอปและต้องวิเคราะห์อย่างละเอียดเพื่อดึงออกมา


Credits#

Writeup by netw0rk7 | Original Repo

TCTT25 Mobile: Bangkok Casino
https://blog.lukkid.dev/posts/tctt25-mobile-bangkok-casino/
Author
LUKKID
Published at
2025-12-13
License
CC BY-NC-SA 4.0