https://buuoj.cn/challenges#[FlareOn1]Bob%20Doge

64 C++ exe

打开发现竟然是一个安装程序,那就安装呗

安装下来是一个 C# NET逆向

那个乱码应该就是 flag ,但是由于输出方式不对看不到,这就要我们进入程序看看这个位置到底放了什么

定位到关键函数

// XXXXXXXXXXXXXXX.Form1
// Token: 0x06000002 RID: 2 RVA: 0x00002060 File Offset: 0x00000260
private void btnDecode_Click(object sender, EventArgs e)
{
	this.pbRoge.Image = Resources.bob_roge;
	byte[] dat_secret = Resources.dat_secret;
	string text = "";
	foreach (byte b in dat_secret)
	{
		text += (char)((b >> 4 | ((int)b << 4 & 240)) ^ 41);
	}
	text += "\0";
	string text2 = "";
	for (int j = 0; j < text.Length; j += 2)
	{
		text2 += text[j + 1];
		text2 += text[j];
	}
	string text3 = "";
	for (int k = 0; k < text2.Length; k++)
	{
		char c = text2[k];
		text3 += (char)((byte)text2[k] ^ 102);
	}
	this.lbl_title.Text = text3;
}
 
//绑定点:
private void InitializeComponent()
		{
			this.lbl_title = new Label();
			this.pbRoge = new PictureBox();
			Button button = new Button();
			...
			button.Click += this.btnDecode_Click; //这里
 

动态调试,在最后一行下端点运行,点按钮就送

flag{[email protected]}