【FlareOn2】YUSoMeta WriteUp
查殼
使用ExeinfoPe查殼,發現是.net程序加了混淆,嘗試使用提示的.NET Generic unpacker的工具去除混淆,發現不行

拉入DIE,發現其所使用的混淆名為Smart Assembly,可使用de4dot工具來去除

使用de4dot去除混淆
- 下載地址:https://github.com/de4dot/de4dot
- 打開
de4dot.netframework.sln,按如下設置,然後按生成

- 進入
\Release\net45,可以看到de4dot.exe - 使用指令
de4dot.exe -d [path]來查看用了哪種混淆,確定了果真是SmartAssembly

- 使用指令
de4dot.exe [path] -p sa來去除SmartAssembly混淆,反混淆後的檔案放在了原exe的目錄 - 選項說明
-p sa:指定混淆類型,sa代表SmartAssembly

代碼分析
- 將反混淆後的程序拉入
dnSpy進行分析 - 找到如下的關鍵地方,發現只要
test == b時就能得到flag,易知test是用戶輸入,而b的生成又與text無關,因此直接動調獲取b的值

- 得出
b = \u001DL{a\0^o\u0017[nm\u001DEn\u0017@|h\u0015^d_5C047EAE20B8A616D34B9BE06D342C54,輸入後發現不對 - 猜測可能是因為反混淆的過程中,某些地方修復錯誤所導致,因此這時嘗試打開原文件,找到相同的地方,重新獲取一次數據

取得的數據為metaprogrammingisherd_DD9BE1704C690FB422F1509A46ABC988

輸入後,果真得到flag

資料參考
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 NgIokWeng's Blog!
評論






/image3.png)

/image.png)

/image.png)