TMCTF 2015 Analysis-Offensive 200

Virus Clicker.apk

安裝後打開是點點點遊戲 目標是點 10000000(0x989680) 次

apktool 解開 翻找一下 0x989680 往上看找到 activity/b.smali 中的 onTouchEvent 直接將數字改成 const 0x989680 過不了

仔細看一下有些 magic number, 其中有個 ScoreBroadcastReceiver 裡面也有出現這些數字

點的過程中經過這些數字時會 sendBroadcast 到 Receiver, 讓 Receiver 串接 xor key

同時有看到不同的 component 在串 xor key

所以讓每次點擊變成踩點 onTouchEvent 改成直接經過這些 maagic number

最後是 a/a.smalit 有往 SharedPreferences 寫入實際點擊次數 最後會影響串接的 xor_ky 改成常數(0x989680)即可

用 apktool 包回 apk, signed 後跑起來,點個五次經歷一下檢查點即可得到 flag