VEZEL

Description

Evermars says he is good at repackaging Android applications, for example.

vezel.apk

Solution

這題給了一個 apk, 首先丟上 http://www.decompileandroid.com/ 看原始碼, 可以看到 MainActivity.java 中有這麼一段:

可以看到 confirm 中有 flag 的字串, 主要是由 getCrcgetSig 組成, getCrc 部份是看 classes.dex 的 CRC, getSig 部份就是看 signatures 的 hash code. 猜想這裡要考的是有的 apk 會驗證自己是否被修改過, 有可能參考 CRC 和 signatures, 接下來開始動手.

首先 getCrc 沒問題, 就算一下 classes.dex, 記得 getCrc 印出結果是10進位.

再來是 getSig 的部份, 可利用 adb shell 進去查看, 參考 stackoverflow:http://stackoverflow.com/questions/28447903/how-to-get-signature-hash-code-of-a-phone-app-via-adb-on-pc 跑出來長這樣.

最後在寫一隻 apk, 直接跑看看.

跑完結果就是: 0CTF{-1839715371189242199}