Thứ Sáu, 4 tháng 12, 2015

[Writeup] UIT Hacking Contest Season W 2015 - RE200 SecretDotoItem


Đề cho:
Doto, best todo
SecretDotoItem.exe
Bài này mình thấy rất đơn giản nhưng một số bạn phải dùng tới Visual Studio debug hay patch các kiểu dữ dội quá nên mình show cách làm đơn giản của mình ra hy vọng giúp các bạn dễ dàng giải được các bài tương tự nếu gặp lại.

phieulang@phieulang-X550LD:~/Downloads/UIT_Contest$ file SecretDotoItem.exe
SecretDotoItem.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows

Á à. Trúng tủ =))
.NET thì cứ dùng .NET Reflector thôi.
Bật máy ảo lên:
Ngó qua ta thấy có 4 cái hàm chính cần quan tâm:
btnItem_Click
btnMagic_Click
CheckKey
Form1_Load

Check Form1_Load thấy không óc gì đặc biệt lắm.
Hàm btnItem_Click:
Chỉ là click vào button thì sẽ chuyển FlatStyle rồi gọi hàm CheckKey.

Qua CheckKey hóng:
Đọc sơ thì thấy nó duyệt qua mảng các button rồi qua các bước ta sẽ được 1 chuỗi res.
So sánh chuỗi res này với "tzcqqkohjsmudjgon" nếu trùng thì ẩn mảng các button kia đi và hiện button Magic lên.

Chuyển tiếp qua hàm btnMagic_Click:
Hàm này load cái file SecretDotoItem.secret.jpg trong Resource lên rồi xor với chuỗi res sau đó ghi ra.
Bingo. Flag là nó rồi :D
Mở resource lên coi cái hình xem thử.
Lỗi. Không hiển thị được.
Không hiển thị được là đúng rồi vì phải xor với chuỗi res mới hiển thị được :D

Chuột phải vào file này save as lại.

Viết 1 script python đơn giải để xor cái file với chuỗi res:
http://pastebin.com/MN3n0v7v

Run và check file re200_flag.jpg

Easy 200 points