Featured Content Slider

Home » » SNATCHING THE H@T Final: GAOParty 400

SNATCHING THE H@T Final: GAOParty 400

Vo Uu | 11:03 | 0 nhận xét


Binary: https://www.dropbox.com/s/u9hjrzxu9av4vch/GAOParty.exe

Đội mình, cụ thể là mình và bạn Tấn Công, đã tiêu tốn khoảng nữa thời gian vào làm bài này. Thời gian chủ yếu là ngồi tự code hàm decrypt ...

Đến gần cuối buổi, lúc thời gian còn ít hơn một tiếng, trong thời gian sửa code của bạn Công mình có xem lại chương trình và phát hiện ra trong binary đã có sẵn hàm decrypt. Thực ra, mình đã thấy hàm này ngay từ lúc đầu khi xem các xref đến cái KEY sử dụng để encrypt. Nhưng lúc đó chỉ nghĩ đó chỉ là một hàm rác nào đó ... đến cuối buổi xem lại thì nhìn code trong hexrays gần giống như code mà mình đang viết ...


Solution cuối cùng chỉ đơn gian có thế này. Đây là đoạn windbg script mình dùng để "dynamic" patch với mục đích thay vì chương trình gọi hàm encrypt, mình sẽ patch lại chương trình để gọi hàm decrypt.

bu 00401406 " r eip = 0040151E ; g @$ra ; .printf \"%ma\", ebx ; .printf "\n"; r eip = eip + 17; g"

Trong đó
00401406 => address của hàm encrypt 0040151E => address của hàm decrypt g @$ra => run cho đến khi hàm decrypt return .printf "%ma", ebx => print ra clear-text, với ebx chưa địa chỉ r eip = eip + 17 => tăng EIP lên 0x17 bytes để bỏ qua các bước check của hàm encrypt không cần thiết lúc decrypt g => tiếp tục chay, sau 3 lần bạn sẽ nhận được flag Cuối cùng, flag nhận được là: il0v3G40R4ng3rSs0mUch!!!
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