Thứ Ba, 8 tháng 11, 2016

[SVATTT2016][RE] mrc150


$ ./mrc flag.txt
ffc309e61f2ac3df48d3b9b64fd1720bfb95b460a1235f5d91c4f92ce90dfa516e1b8c49225b808560a9d853980662dc26984e
bin : https://goo.gl/EvnRLw

Bài này cũng khá dễ.

Đọc qua code thì hiểu được thuật toán:
1. Ban đầu đọc 1 file dữ liệu
2. encrypt dữ liệu từ file đó theo thuật toán trong hình :
     Chỉ chú ý ở dòng 21. Giá trị được xor với 1 mảng dword_804a044. Ta export dữ kiệu mảng này ra.















Giờ ta chỉ cần code lại thuật toán sau đó bruteforce các kí tự là xong.

Chú ý là ở dòng 20 : printf("%02x",v4) sẽ tương đương với v4%256
Vì 4 bytes cuối được in ra từ  dòng 23 nên ta biết chắc giá trị đó là "}" (Vì flag có format SVATTT{...})




Code : http://pastebin.com/qRmUu4xg

Code có đoạn bỏ "\" và "`" do có vài Trường hợp trùng với các kí tự đó.


Flag : SVATTT{Whats_differenc3_between_my_mrc_@nd_crc}

Không có nhận xét nào:

Đăng nhận xét