reversing.kr
Vậy là mình đã kết thúc năm 3 đại học. Đúng là thời gian không chờ đợi một ai …
reversing.kr
Replace ~ 150 points
Overview
Một bài yêu cầu nhập password chính xác. Khi click check, chương trình chạy một lúc và tự thoát ngay sau đó.

Static Analysis
Đây là mã giả của chương trình khi được phân tích trong IDAPRO32.

Lời gọi hàm sub_40466F()
dẫn tới lệnh call $+5
rất lạ. Mình đặt breakpoint ngay chỗ này và debug để xem nó đang làm gì.
Dynamic Analysis
Quan sát kỹ càng, nhận thấy rằng giá trị dword_4084D0
chính là giá trị hexacimal của input.

Tiếp tục debug sâu vào từng dòng lệnh, giá trị dword_4084D0
lần lượt được cộng thêm các giá trị: 2, 0x601605C7, 2. Chạy hết chương trình, xuất hiện cửa sổ lỗi như sau:

Instruction tham chiếu một địa chỉ không hợp lệ 0x60160A9D. Đây cũng chính là kết quả của dword_4084D0
|
|
Vậy là chỉ cần đưa dword_4084D0
trỏ về đoạn code correct
. Giá trị input thỏa mãn là:
|
|
Do kết quả âm nên phải & 0xFFFFFFFF