Archive for the ‘OllyDbg tut_4’ Category

OllyDbg_Tut4

Posted: September 4, 2008 in OllyDbg Tutorials, OllyDbg tut_4

I. Lời nói đầu

Hà Nội trời lạnh quá, ngoài trời mưa phùn, quàng khăn đi găng tay cộng thêm cái mũ mà vẫn thấy lạnh. Đêm nay rảnh rỗi tôi lại tiếp tục phần bốn trong loạt tut về Ollydbg như đã hứa với các bạn. Trong bài viết trước tôi đã tập trung giới thiệu ý nghĩa của các thanh ghi, các cờ thường được sử dụng trong quá trình crack hay reverse chương trình, cũng như quan sát thấy các cờ thay đổi trạng thái như thế nào khi ta thực thi một câu lệnh có tác động đến cờ. Trong phần bốn này sẽ đề cập tới những câu lệnh Asm cơ bản, cách thức chúng thi hành. Như những gì chúng ta đã làm trong các phần trước, sẽ không có gì dễ hiểu hơn là khi tìm hiểu về một công cụ chúng ta tiến hành thực hành luôn trên công cụ đó để kiểm nghiệm những kiến thức mà chúng ta tiếp thu được trong quá trình đọc tài liệu. Tôi sẽ cố gắng đúc kết lại sao cho các bạn dễ dàng tiếp cận nhanh nhất có thể… 0k13! L3t’s R0ck w1th m3 J

II. Giới thiệu chung

Tập lệnh của bộ vi xử lý có đến hơn trăm lệnh, trong đó có các lệnh được thiết kế dành riêng cho các bộ vi xử lý cao cấp. Trong bài viết này tôi chỉ đề cập đến những câu lệnh hay dùng nhất, chung nhất mà thôi. Việc cung cấp tất cả các lệnh vượt quá khuôn khổ cho phép của bài viết, cũng như tôi cũng không đủ sức để mà thực hiện điều này. Do đó việc tham khảo thêm các nguồn tài liệu khác để bổ sung thêm kiến thức là điều hết sức cần thiết cho các bạn.

III. Chi tiết về các câu lệnh ASM hay dùng

1. NOP (No Operation) :

Cái tên của nó đã cho bạn thấy được ý nghĩa. Lệnh này không thực hiện một công việc gì cả ngoại trừ việc tăng nội dung của thanh ghi EIP, nó không gây ra bất kì thay đổi nào trong thanh ghi, stack hoặc memory. Chính vì ý nghĩa này của nó mà câu lệnh này thường được dùng vào mục đích hủy bỏ bất kì câu lệnh nào (không cho lệnh đó thực hiện), bằng cách ta thay thế câu lệnh sắp thực hiện bằng lệnh NOP chương trình sẽ vẫn thực thi nhưng thay vì thực thi câu lệnh gốc thì giờ đây do được thay thế bằng NOP nên nó sẽ không làm gì cả. Đó là lý do tại sao các bạn hay thấy người ta sử dụng NOP (ví dụ như :  tôi muốn loại bỏ một thông báo nào đó, để làm được điều này tôi thay thế lệnh Call đến thông báo bằng lệnh NOP, vậy là thông báo đó sẽ biến mất J ).  Okie, mở Cruehead crackme trong Olly, ta có như sau :

Download bài viết đầy đủ tại đây:

ollydbg_tut4

Regards