OllyDbg_tut10

Một cái đầu lạnh để vững vàng, một trái tim đỏ lửa để yêu và làm việc hết mình!

I. Giới thiệu chung

Chào các bạn, các bạn còn nhớ loạt tuts này chứ….Kể từ lúc hoàn thành xong phần 9 tôi khá bận với dự án cho nên chưa tập trung vào để dịch và viết tiếp các phần tiếp theo được. Lý do một phần cũng là bởi tôi ngại đọc và trans từ TBN của English quá, vì khi trans chỉ là word by word cho nên lắm khi phải nhìn vào cái tut bằng tiếng TBN để hiểu xem ý nó là gì và mình viết lại theo cách của mình, thêm nữa tôi cũng lười viết lách J. Trong phần 9 các bạn đã được làm quen với các phương pháp cơ bản để tìm một hàm API, cách đặt BP, cách edit các cờ và cuối cùng là patch chương trình bằng cách edit code. Ở phần 10 này sẽ đi sâu hơn một chút về quá trình làm việc với BreakPoint trong OllyDbg, việc hiểu rõ quá trình cũng như cách thức đặt BreakPoints sẽ giúp đỡ chúng ta rất nhiều trong việc dừng sự thực thi của một chương trình tại nơi mà chúng ta mong muốn. Thêm vào đó chúng ta cũng tìm hiều thêm về một số cách đặt Breakpoint, target trong phần này vẫn là Crackme mà các bạn làm việc từ đầu đến giờ, điều thú vị đang nằm ở phía trước…. N0w….L3t’s G0!!!!!!!!!

II. BreakPoints in OllyDbg

1.Common Breakpoint or BPX :

Đây có thể nói là phương pháp đặt breakpoint phổ biến mà chúng ta đã làm việc ngay từ các phần trước của bộ tuts này, nó còn được gọi là BPX bởi vì nó có nhiều điểm tương đồng với lệnh BPX của SoftIce (ai đã từng dùng qua SoftIce thì chắc là biết còn tôi chỉ đụng SoftIce đúng một lần duy nhất J), thay vì phải viết dài dòng là BreakPoint thì để tránh rườm rà trong quá trình làm việc thông qua Command Line, tác giả đã rút gọn lại là BPX, tuy nhiên trong Olly chữ “X” thường được sử dụng trong việc đặt BP với các hàm API (liên quan tới version của Windows) cho nên tác giả của Olly đã rút gọn lại và thêm một command khác mà ta hay dùng đó là BP (vừa có thể đặt BP tại API và address). Thông thường, đối với một câu lệnh nào đó mà chúng ta muốn đặt BPX lên nó thì đơn giản nhất ta chỉ việc chọn dòng lệnh mà ta muốn và nhấn F2, nếu nhấn F2 một lần nữa tức là ta remove BP khỏi câu lệnh.

Giải thích như trên có thể khiến các bạn bị rối, tóm lại nếu muốn đặt BP tại một dòng lệnh bất kì các bạn chỉ cần nhớ là bấm F2 tại dòng lệnh đó. Giờ ta load Crackme vào Olly, chúng ta sẽ dừng lại tại Entry Point của crackme :

Download toàn bộ bài viết :

ollydbg_tut10

Best Regards

kienmanowar

2 thoughts on “OllyDbg_tut10

  1. 1.Common Breakpoint or BPX :
    Anh ơi cho em hỏi

    Ở chổ

    Sao của em nó không phải 0x0174C0CC mà là 0x0174C0FA

  2. Anh ơi cho em hỏi

    Ở chổ

    “Để ý cửa sổ Dump bạn thấy các bytes vẫn được giữ nguyên như ban đầu, nhưng ở thanh ghi EAX
    thì ta lại thấy giá trị đã khác là : 0x0174C0CC. Điều này được giải thích sơ bộ như sau: khi tôi đặt
    một BP tại địa chỉ 0x401018 thì Olly sẽ tiến hành thay thế byte đầu tiên mà ở đây là giá trị 0B
    bằng một giá trị khác là 0xCC. Nếu như bạn quy đổi byte CC này sang lệnh asm thì nó là int3,
    đây là một câu lệnh đặc biệt (nó còn được gọi là Trap to Debugger) nó sẽ gây ra một exception
    khi chúng ta cố gắng thực thi chương trình.”

    Sao của em nó không phải 0x0174C0CC mà là 0x0174C0FA

Leave a Reply