iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0

昨天我們閱讀混淆程式碼 來了解程式邏輯與行為來發現安全問題 可以知道類別方法變數的混淆 只要攻擊花時間分析去理解 還是可能找的出安全問題 有些開發者會取使用 library 去 混淆字串 讓他變得不可讀 增加分析時間 但攻擊者有可以透過網路 Search 是否有的寫好的Tool 來去解混淆 減少大量分析時間

以下會嘗試分析一個字串混淆 可以看到APK key 本身雖然硬編碼 但本身是被混淆
https://ithelp.ithome.com.tw/upload/images/20251010/20149459UymiW28PtG.jpg
被混淆的字串 會在Runtime 時透過調用Deobfuuscator.getString方法 來解混淆使用
有趣的是開發者透過import library 並使用Deobfuscator 這個類別

import org.lsposed.lsparanoid.Deobfuscator$myapp$app;

可以上網尋一下 org.lsposed.lsparanoid

https://ithelp.ithome.com.tw/upload/images/20251010/20149459erjRM0onJG.jpg
https://ithelp.ithome.com.tw/upload/images/20251010/20149459XU0J4P9g2q.jpg
可以確定 這個專案名稱是LSParanoid

網路上有公開反混淆器 我們可以先嘗試利用他
https://ithelp.ithome.com.tw/upload/images/20251010/20149459z5F2xiGafL.jpg

這裡使用paranoid-deobfuscator 2.0.1 版本 (避免新版在處理APP 有多個getString 方法會遇到問題

wget https://github.com/giacomoferretti/paranoid-deobfuscator/archive/refs/tags/v2.0.1.zip
unzip v2.0.1.zip
cd paranoid-deobfuscator-2.0.1
python -m venv .venv
source .venv/bin/activate   or .venv\Scripts\activate.bat  (windows)
pip install "numpy==1.26.0"

解包 APK 檔案

apktool d myapp.apk

嘗試透過 paranoid_deobfuscator python 模組來解混淆
https://ithelp.ithome.com.tw/upload/images/20251010/20149459QDXaPX3NJC.jpg

這樣就成功反混淆 拿到API Key 但並不是每次都有工具可以使用 明天會跟大家分享手動反混淆的方法 增加成功機率


上一篇
Day 27 靜態分析 - 混淆程式分析 下
下一篇
DAY 29 靜態分析 反混淆 下
系列文
我是不可能一直學Android 絕對不會29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言