iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
Security

picoCTF系列 第 4

[Day 4] timer

  • 分享至 

  • xImage
  •  

首先來看題目和題示,知道解題方向要往 apk decompile 著手。
https://ithelp.ithome.com.tw/upload/images/20240809/20168342467a0bCo4J.png
hint 1:Decompile
hint 2:mobsf or jadx

一樣,使用 ls 查看下載了甚麼,並使用 file 查看詳細資料。

$ ls 
timer.apk
$ file timer.apk 
timer.apk: Zip archive data, at least v0.0 to extract, compression method=store

在開始解題前,先了解什麼是 apk。

 APK 是 Android application package 的縮寫,就是組成 app 的程式碼和資源所包裝起來的 package。
簡單來說,APK 由三個重要的元素構成:

  1. AndroidManifest.xml,可以想成是 app 的設定檔,寫著各種 app 相關資訊
  2. resources,各種資源,包括排版、程式中出現的字串、圖片等等所有資訊
  3. 程式碼,可以由 Kotlin 或是 Java 編寫
    詳細資料可參考:Android App 逆向入門之一:拆開與重組 apk

回到解題,我們要將 apk decompile,提示 2 中有提供兩種工具 mobsf 和 jadx,若您想使用 mobsf 但不想安裝,可以搜尋 mobsf online,詳情參考:懶人救星-mobsf-online-快速簡介。不過在這裡我選擇使用 apktool

於是我使用 apktool d 這個指令將 timer.apk 解壓縮。

$ apktool d timer.apk
I: Using Apktool 2.3.4-dirty on timer.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/s109056003/.local/share/apktool/fram
ework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLS...
I: Baksmaling classes.dex...
I: Baksmaling classes3.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

若您在使用 apktool 時出現 java 的 error,請下載 openjdk 解決問題。

$ sudo apt install openjdk-11-jdk

decompile 成功後,可以看到多了一個 timer 的資料夾。

$ ls 
timer timer.apk

接著使用 grep -R 'pico',在所有資料夾中遞迴找關鍵字 'pico' ,就可以得到 flag。

$ grep -R 'pico'
Binary file .script.sh.swp matches
script.sh:grep -R pico
timer/smali_classes3/com/example/timer/BuildConfig.smali:. field public static f inal VERSION_NAME:Ljava/lang/String; = "picoCTF{t1m3r_r3v3rs3d_succ355fully_174
96}"
timer/apktool.yml: versionName: picoCTF{t1m3r_r3v3rs3d_succ355fully_17496}

小結:

了解什麼是 APK,並且會使用 apktool decompress。


上一篇
[Day 3] Verify
下一篇
[Day 5] Virtual Machine 0
系列文
picoCTF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言