Cracker Handbook 1.0 part 332 pps

6 101 2
Cracker Handbook 1.0 part 332 pps

Đang tải... (xem toàn văn)

Thông tin tài liệu

Hehe hết mất dạy nha con: Fix Dump thui pà con ui Hehe chạy thử coi, chà chà chạy tốt chán, scan lại bằng PeiD xem: Coi như unpack đã xong  III- Cracking: Tới bước này ta sẽ xài Olly kết hợp với Resource Hacker (RH) để tiếp tục công việc “cao cả” 1- Xử lý thông tin trong tab About: a- Tìm hiểu mục tiêu: Các pác run soft lên sẽ thấy trong tab About một hình thức “đòi tiền”. Ta sẽ diệt nó thui: Load target vào RH, nhấn Ctrl + F để tìm kiếm chuỗi ‘Unregistered version’ coi: Ta bik ngay là cái resource mà soft này cần để kiểm tra cái thông tin trên có ID = 1063. Mà 1063 (Decimal) -> 427 (Hex) khà khà coi như xong. Ta load target vào Olly, tìm kiếm hằng: Kiếm hằng số 427  Ta đến được đây: Đặt 1 breakpoint (F2) tại 00401302, cuộn lên trên 1 tí ta set thêm 2 cái breakpoint tại 004012D0 và 00401250 Ok, bây giờ nhấn F9 một phát là chương trình sẽ run, nhưng khi chuyển qua tab Abuot thì chương trình sẽ break tại 00401250, tiếp tục nhấn F9 cho nó break tại 004012D0, ta xài F7 để trace vào trong hàm CALL ta sẽ đến đây: Ở đoạn này chương trình sẽ có 1 function để kiểm tra tên đăng ký hợp lệ, nếu có thì nó sẽ trả về giá trị của EAX=0 và sau đó PUSH 427 sẽ chuyển name vào chỗ thích hợp, nếu không thì nó sẽ chuyển vào chuỗi ‘Unregistered version’. Công việc của chúng ta bây giờ là sẽ chuyển vào trong 0046736C một giá trị thích hợp (tức cái name của ta í mà) là mọi chuyện sẽ xong xuôi thôi. b- Patching: Kéo xuống phía dưới cùng của đoạn code ta sẽ thấy 1 mớ code thừa, từ chỗ này ta sẽ thêm 1 số đoạn code để có thể truyền chuỗi name vào 0046736C: Chọn 1 đoạn code thừa đóa, sau đó nhấn Ctrl + E, nhập chuỗi name của chúng ta vào: Nhấn OK các pác sẽ thấy 1 mớ rác rến: Không sao cứ nhấn Ctrl + A để nó analyze đoạn code đó ta sẽ thấy nó rõ ràng hơn: Ok tiếp tục viết thêm 3 đoạn code nữa: Nhấn Space tại 0044EAA5 để viết đoạn mã (truyền chuỗi name mới tạo ở 0044EA9A vào 0046736C): Nhấn Space tại 0044EAAF để viết đoạn mã (truyền giá trị của 0046736C vào thanh EAX): Nhấn Space tại 0044EAB4 để viết đoạn mã (nhảy trở lại đoạn kiểm tra TEST EAX,EAX): Sau khi đã xong ta được đoạn code hoàn chỉnh là: Ok, xong phần chuẩn bị, ta cần chỉnh cho từ địa chỉ 00416420 sẽ nhảy vào mớ code ta mới thêm vào, sau đó sẽ có lệnh JMP tại 0044EAB4 nhảy trở lại khúc kiểm tra là ok. Nào bây giờ ta patch tiếp cho từ 00416420 nhảy tới 0044EAA5: Ta sẽ được: Roài ok xong bước thịt cái About, lưu nó lại cho chắc: -> Run file thử xem, ok roài nhá: 2- Xử lý đoạn mã để có thể cho soft run 1 cách hoàn toàn: Tới đây các pác đã đi được 2/3 quãng đường roài, chỉ cần chỉnh sửa lại đoạn code trên 1 tí nữa là xong công việc thui. Lý do mà ta phải chỉnh sửa đoạn code trên là vì tuy đã được đăng ký nhưng khi convert t . trên 1 tí ta set thêm 2 cái breakpoint tại 00 4 01 2 D0 và 00 4 01 2 50 Ok, bây giờ nhấn F9 một phát là chương trình sẽ run, nhưng khi chuyển qua tab Abuot thì chương trình sẽ break tại 00 4 01 2 50, . tại 00 44EAA5 để viết đoạn mã (truyền chuỗi name mới tạo ở 00 44EA9A vào 00 46736C): Nhấn Space tại 00 44EAAF để viết đoạn mã (truyền giá trị của 00 46736C vào thanh EAX): Nhấn Space tại 00 44EAB4. từ địa chỉ 00 416 4 20 sẽ nhảy vào mớ code ta mới thêm vào, sau đó sẽ có lệnh JMP tại 00 44EAB4 nhảy trở lại khúc kiểm tra là ok. Nào bây giờ ta patch tiếp cho từ 00 416 4 20 nhảy tới 00 44EAA5:

Ngày đăng: 03/07/2014, 18:20

Tài liệu cùng người dùng

Tài liệu liên quan