1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 359 ppt

7 68 1

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 228,92 KB

Nội dung

Download : http://tothesky.us Tut maker : tlandn Đầu tiên dùng PEID để xác định xem chương trình pack bằng gì ? 0. Xác định chiến lược đối phó vơi Armadillo : Do trong Armadillo có nhiều option cho phép chọn nhiều kiểu bảo vệ khác nhau nên chúng ta phải xem coi file crackme.exe của chúng ta được bảo vệ như thế nào ? Chạy file crackme.exe. Mở LordPE chúng ta chỉ thấy một process crackme.exe Đây là tín hiệu đáng mừng. Vì nó cho chúng ta biết chương trình không được bảo vệ bằng CopyMemII hay Nanomites (đụng mấy cái này thì mệt hơn). Ta thấy chương trình được pack bằng Armadillo. Nhưng PEID chỉ cho ta biết chung chung như thế thôi. Vấn đề là ta muốn biết được chính xác version Armadillo mà hacnho dùng. I. Tìm chính xác version của Armadillo : Đầu tiên chỉnh lại setting cho OllyDbg như sau : Sau đó mở crackme.exe . Nhấn F9 (Run). Chương trình sẽ dừng ở đây. Do lỗi sau : Nhấn Ctrl-B. Nhập vào như sau : Nhấn OK. Chương trình sẽ dừng lại. Nhấn nút phải chuột chọn Follow In Dump -> Selection. Trong DUMP Window đổi sang kiểu Text cho dễ nhìn. Chúng ta thấy như sau : Chú ý chỗ được tô vàng  Chúng ta thấy đó là version 3.70a  II. Tìm OEP : Nhấn Ctrl-F2 để nạp lại file crackme.exe . Chỉnh lại setting trong Olly như sau : Nhấn Alt-M để mở Memory Window. Đặt breakpoint on access ở section CODE. Đóng Memory Window. Nhấn F9. Chương trình sẽ dừng ở 0045A15C. Vậy : OEP = 0045A15C. III. Tìm Start RVA và End RVA : Trong Dump Window đổi lại kiểu Hex cho dễ nhìn . Tại OEP trace với F7 cho đến chỗ này Chúng ta thấy 45E1E4. Trong cửa sổ dưới một chút nhấn nút phải chọn Follow Address in Dump. Trong DUMP Window chúng ta thấy như sau : Xung quanh đó chúng ta thấy có khá nhiều 77. Chúng ta sẽ tìm điểm bắt đầu và kết thúc của RVA. Cuộn cửa sổ lên trên cho đến khi thấy hết dấu hiệu 77 thì dừng. Chúng ta được. Các bạn chú ý chỗ tôi tô vàng là điểm bắt đầu RVA có địa chỉ là 45E118. Start RVA = 45E118 Bây giờ tới điểm kết thúc RVA. Cuộn cửa sổ DUMP xuống cũng thấy hết dấu hiệu 77 thì dừng. Chúng ta được. Đến đây thì có một vấn đề là chúng ta thấy xuất hiện thêm các số 71. Để biết số 71 đó có thuộc RVA không chúng ta làm như sau : Chọn một địa chỉ có chứa số 71. Ở đây tôi chọn 45E710. Click nút phải chọn Find References Một cửa sổ hiện ra Ta thấy đây là hàm ImageList_GetBkColor của COMCTL32.DLL. Vậy đây là giá trị tốt -> Chọn luôn 71. Chú ý chỗ tô vàng là kết thúc của RVA. End RVA = 45E72C Length = End RVA – Start RVA = 45E72C – 45E118 = 614 (hex) IV. Tìm Magic Jump : Vậy Magic Jump là cái quái gì ? Nói nôm na Magic Jump là cái chỗ mà Armadillo quyết định sẽ làm hỏng bảng IAT của ta hay không. Ta sẽ sửa nó sao cho nó không làm hỏng bảng IAT của ta. Vậy các bước sẽ làm như thế nào ? Đầu tiên trong DUMP Window nhấn Ctrl-G. Nhập vào địa chỉ bắt đầu của RVA : 45E118 . Từ đây chúng ta ngó xuống một tý để tìm bad IAT (chỗ mà không chứa 77 ). Chúng ta thấy 45E138 (tô vàng) là bad RVA. Chú ý giá trị tại 45E138 là 00AADE0A Chúng ta sẽ lấy trước 45E138 một địa chỉ là 45E134 (tô xanh). Nhấn Ctrl-F2 để mở lại file crackme.exe . Trong DUMP Window nhấn Ctrl-G. Nhập vào 45E134. Chọn 4 bytes. Nhấn nút phải chuột đặt Hardware Breakpoint như trong hình. . ở 00 45A15C. Vậy : OEP = 00 45A15C. III. Tìm Start RVA và End RVA : Trong Dump Window đổi lại kiểu Hex cho dễ nhìn . Tại OEP trace với F7 cho đến chỗ này Chúng ta thấy 45E1E4 đầu của RVA : 45E 118 . Từ đây chúng ta ngó xuống một tý để tìm bad IAT (chỗ mà không chứa 77 ). Chúng ta thấy 45E138 (tô vàng) là bad RVA. Chú ý giá trị tại 45E138 là 00 AADE0A Chúng ta. chúng ta thấy xuất hiện thêm các số 71. Để biết số 71 đó có thuộc RVA không chúng ta làm như sau : Chọn một địa chỉ có chứa số 71. Ở đây tôi chọn 45E 7 10 . Click nút phải chọn Find References

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

TỪ KHÓA LIÊN QUAN