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

OllyDBG công cụ cho các chuyên gia reverse engineering

6 476 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 6
Dung lượng 496,01 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một số chức năng có thể kể đến của Olly: • Trace registers, find loops, switches, API calls, • Tải và debug cái dll modules • Cho phép để thêm commant và label của riêng của bạn về chức

Trang 1

OllyDBG công cụ cho các chuyên gia Reverse

Engineering

OllyDBG hay còn gọi tắt là Olly là công cụ debug rất phổ biến Nhờ giao diện trực quan và dễ sử dụng nên Olly phù hợp với người dùng ở mọi trình độ khác nhau.

Một số chức năng có thể kể đến của Olly:

Trace registers, find loops, switches, API calls,

Tải và debug cái dll modules

Cho phép để thêm commant và label của riêng của bạn về chức năng để dành cho chú thích và trực quan khi bạn RE

Attaack một chương trình đang chạy

Tìm các constant và address range 1 cách dễ dàng

Cho phép đặt các breakpoints ( điểm dừng) để dễ dàng debug và theo dõi

Đặt các Breakpoint hadware

Tìm kiếm string

Xem các hàm API được gọi

Cho phép tạo file dump của process

Edit và mặc nhiên sửa lỗi

Debug từng bước program ( Step-by-Step)

v.v

Trang 2

Tổng quan chương trình

Ngay khi chạy chương trình, các bạn có thể nhìn thấy giao diện của OllyDBG chia làm 5 cửa sổ hết sức trực quan

Cửa số 1: CPU

Đây là cửa sổ chính và thường xuyên sử dụng của chương trình Cửa sổ này bao gồm 4 cột:

Cột 1: Address: Hiển thị địa chỉ câu lệnh trong vùng nhớ

Cột 2: Hex dump: Hiển thị mã Opcode của câu lệnh

Cột 3:Disassembly: Hiển thị mã Assembly

Cột 4: Comment: Hiển thị các ghi chú Chúng ta cũng có thể tự ghi các ghi chú vào cột này

Cửa số 2: Nằm ngay dưới cửa sổ thứ nhất

Hiển thị giá trị các đối số của các câu lệnh ASM

Cửa sổ 3: Address, Hex dump, ASCII hay UNICODE

Quan sát sự thay đổi các giá trị vùng nhớ trong chương trình

Sử dụng để tìm các string trong bộ nhớ

Gồm 3 cột:

Cột 1: Address: Hiển thị địa chỉ vùng nhớ

Cột 2: Hex dump: Hiển thị giá trị vùng nhớ dưới dạng Hex

Cột 3: ASCII hay UNICODE: Hiển thị giá trị vùng nhớ dưới dạng

mã ASCII hoặc UNICODE

Trang 3

Cửa sổ 4: Registers [FPU, MMX, 3DNow!] :

Hiển thị giá trị các thanh ghi và cờ trong Assembly Cửa sổ này cần thiết để chúng ta theo dõi sự thay đổi giá trị của các thanh ghi, các lệnh toán học ….

Cửa sổ 5: STACK

Hiển thị giá trị trong vùng stack

Bạn có thể sử dụng phím tab hay shift tab để chuyển đổi giữa các cửa sổ

Nếu các bạn không thấy được các bar trong mỗi cửa sổ thì các bạn có thể click chuột phải tại cửa số đó và chọn Appearance-> Show bar

Các thành phần trong Olly Debug

Phía trên các cửa sổ là thanh taskbar, dùng để thực thi các chức năng của chương trình.

Mở một chương trình

Để debug một chương trình, chúng ta sử dụng File->Open hoặc sử dụng phím tắt F3: Mở file cần Debug

OllyDBG hỗ trợ debug 2 loại file là exe và dll.

Trang 4

Attachment: Cho phép Deassembly một chương trình nào đó đang thực thi Với một số phần mềm có khả năng Anti-Debug, khi khởi động sẽ tạo ra các đoạn mã Anti-Debug, nhưng sau khi chạy xong thì lại có thể được hoặc nó sẽ dùng một chương trình con để chạy chương trình chính Sau khi chương trình con thực thi xong, chương trình con sẽ tự kết thúc và lúc đó chương trình chính tiếp tục được thực thi Khi đó chúng ta không thể debug được chương trình chính nữa v.v Do đó chức năng Attach được tạo ra để hỗ trợ debug các chương trình đang chạy trên bộ nhớ.

Restart debug (Ctrl + F2): Debug lại chương trình.

Debug một chương trình

Dưới đây là một số chức năng được sử dụng trong quá trình debug một chương trình

Run (F9) Chạy chương trình

Close ( Alt-F2) Đóng file đang Dissasembler lại

Step into (F7) Debug vào trong các hàm

Step over (F8) Debug bên ngoài các hàm

Trang 5

Animate into

(Ctrl-F7)

Tự động chạy với chế độ “Step into” đến khi gặp breakpoint tiếp theo hoặc đến khi người dùng ấn pause (F12)

Animate over

(Ctrl-F8)

Tự động chạy với chế độ “Step over” đến khi gặp breakpoint tiếp theo hoặc đến khi người dùng ấn pause (F12)

Execute to return

( Ctrl-F9) Thực thi đến khi hàm trả về

Execute to user

code (Alt-F9) Thực thi đến khi gặp đoạn code user viết

Công cụ Trace

Trace into ( Ctrl – F11) và Trace over ( Ctrl – F12): Đây là 2 chức năng tương tự Animate Into / Animate over Tức là máy tính sẽ tự động Step Into / Step Over cho chúng ta Tuy nhiên, đối với Trace Into / Trace Over, chúng ta có thể thiết lập được điều kiện dừng Tức là khi một điều kiện nào đó được thiết lập trước đó thỏa mãn thì chương trình sẽ tự động dừng ngay tại câu lệnh thỏa mãn điều kiện mà chúng ta đặt ra

Set Condition: Thiết lập điều kiện

Bạn có thể thiết lập điều kiện của EIP hay của bất kì thanh ghi nào, với một giá trị nào đó hay thuộc khoảng nào đó v.v Ví dụ như trong hình bên trên, tôi

Trang 6

đang thiết lập điều kiện dừng đến khi nào thanh ghi eax==0040000 Ngoài ra Olly còn hỗ trợ một số chương năng khác cần cho việc debug chương trình như:

Log (Alt + L) Hiển thị log được ghi lại (các module được load, unload

v.v) Executable modules

(Alt + E) Các module thực thi của chương trình

Memory (Alt + M) Hiển thị tất cả các khối bộ nhớ mà chương trình được

cấp phát.

Threads Hiển thị tất cả các thread của chương trình

CPU (Alt + C) Màn hình cửa sổ làm việc chính

Patches (Ctrl + P) Hiển thị tất cả các phần ‘patches’ mà bạn đã tạo ra, khi

có bất kì thay đổi nào về code giữa code cũ và code mới’ Call stack (Alt + K) Hiển thị chi tiết hơn stack ở một cửa sổ khác, bao gồm cả

giá trị gửi đi từ các hàm Breakpoints (Alt +

B)

Hiển thị tất cả các breakpoint hiện tại đang được thiết lập

Ngày đăng: 29/10/2014, 09:44

TỪ KHÓA LIÊN QUAN

w