Featured Content Slider

Home » » reversing.kr - Easy_ELF writeup

reversing.kr - Easy_ELF writeup

Vo Uu | 09:03 | 0 nhận xét
Híc, thứ 4 thi toán cao cấp rồi mà tối thứ 2 vẫn còn tâm trạng viết writeup.

Đề bài: http://reversing.kr/download.php?n=11

Dùng Hexrays decompile ta được hàm kiểm tra input:

bool __cdecl sub_8048451() { bool result; // eax@2 if ( byte_804A021 == 49 ) { byte_804A020 ^= 0x34u; byte_804A022 ^= 0x32u; byte_804A023 ^= 0x88u; if ( byte_804A024 == 88 ) { if ( byte_804A025 ) { result = 0; } else { if ( byte_804A022 == 124 ) { if ( byte_804A020 == 120 ) result = byte_804A023 == -35; else result = 0; } else { result = 0; } } } else { result = 0; } } else { result = 0; } return result; }


Ta tính lại giá trị đc xor bằng công thức a xor b xor b = a
Ta xem và so sánh các kí tự
byte_804A020 ^ 0x34 == 120 ==> lấy 0x34 xor 120 ra kí tự "L"
byte_804A021 == 49 ==> kí tự "1"
byte_804A022 ^ 0x32u == 124 ==> lấy 0x32 xor 124 ra kí tự "N"
byte_804A023 ^ 0x88u == -35 ==> lấy 0x88 xor -35 ra kí tự "U"
byte_804A024 == 88 ==> kí tự "X"

Vậy L1NUX là flag




Share this article :

0 nhận xét:

Đăng nhận xét

Recent Post

Test Footer 1

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. The UG - All Rights Reserved
Template Modify by Creating Website
Proudly powered by Blogger