Category:Malware Reverse Engineering
Level:medium
Points:100

Points

Can you find the password to obtain the flag?


fileコマンドでファイルタイプを確認します。.NETアプリケーションです。
$ file ScrambledEgg.exe 
ScrambledEgg.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows
dnSpyで.NETアプリケーションを逆コンパイルします。逆コンパイルされたソースコードのButton_Clickイベントの箇所を確認します。
public char[] Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ{}_".ToCharArray();

private void Button_Click(object sender, RoutedEventArgs e)
{
string value = new string(new char[]
{
this.Letters[5],
this.Letters[14],
this.Letters[13],
this.Letters[25],
this.Letters[24]
});
if (this.TextBox1.Text.Equals(value))
{
MessageBox.Show(new string(new char[]
{
this.Letters[5],
this.Letters[11],
this.Letters[0],
this.Letters[6],
this.Letters[26],
this.Letters[8],
this.Letters[28],
this.Letters[11],
this.Letters[14],
this.Letters[21],
this.Letters[4],
this.Letters[28],
this.Letters[5],
this.Letters[14],
this.Letters[13],
this.Letters[25],
this.Letters[24],
this.Letters[27]
}));
}
}
valueとTextBoxの入力値を比較しています。valueは、
FONZY
なので、入力するとフラグが表示されます。
フラグは、
FLAG{I_LOVE_FONZY}