to_analyze

実行可能ファイルto_analyze.exeが与えられた。
Ghidraでの逆コンパイルを試みたが、有効な結果は得られなかった。

to_analyze.exeをバイナリエディタで開き、見えた文字列から、.NET Framework が使われているかもしれないと思った。
そこで、「.net decompiler」でググると、以下のページが見つかった。

An executable file to_analyze.exe was given.
I tried to decompile it via Ghidra, but I didn't get meaningful results.

I opened to_analyze.exe via a binary editor and thought that .NET Framework may be used for this file based on the strings in the file.
I googled ".net decompiler" and found this page:

2020 年版 .NET デコンパイラまとめ - azukipochette's weblog

このページの情報を参考に、dnSpyを導入した。
dnSpyでto_analyze.exeを逆コンパイルすると、 dreamcheck > dreamcheck.exe > - > a に以下の意味ありげなコードが見つかった。

I installed dnSpy, based on information in this page.
I decompiled to_analyze.exe via dnSpy, finding this interesting code at dreamcheck > dreamcheck.exe > - > a.

a.cs

このコードから、文字列を生成している部分を以下のプログラムに移植し、実行した。

I ported the parts that looked like generating strings and executed.

solver.pl

その結果、関数 private static void a(string A_0, byte[] A_1) が生成している文字列にflagが含まれていた。

As a result, I found that the flag in the string generated in the function private static void a(string A_0, byte[] A_1).

flag{Do_y0u_Kn0w_Ursnif?}

setodaNote CTF