|
Bugs là ǵ ? Đó chính là những lỗi của program mà ta phát hiện khi chạy nó.
Debug là công việc loại tất cả những lỗi lầm trong chương tŕnh để nó chạy
êm xuôi trong mọi hoàn cảnh. Thông thường muốn sửa lỗi một cái bug nào trước
hết ta phải t́m hiểu lư do khiến nó xuất hiện. Một khi đă biết được duyên cớ
rồi ta sẽ nghĩ ra cách giải quyết.
Ở đây, tôi không đề cập sâu vào kiến thức Debug một program. Mà tôi chú ư
nhấn mạnh đến vấn đề "lư do khiến nó xuất hiện". Ví dụ, khi bạn chạy 1 phần
mềm nào đó, như WinRAR chẳn hạn, nếu bạn chưa đăng kí mà xài lâu quá 40 ngày
cho phép th́ mỗi lần run, nó sẽ xuất hiện 1 box "khuyến khích" ḿnh mua sản
phẩm (gọi là Nag-Ware - hay đơn giản là Nag). Vậy, lư do ǵ khiến cái nag
này xuất hiện ? Và làm cách nào để cái nag này không c̣n xuất hiện nữa !?
Đơn giản thôi, ta cho rằng cái nag này chính là 1 lỗi và chỉ cần Degbug để
fix lại code của nó là xong.
Có một công cụ mà hầu hết dân chuyên nghiệp đều dùng để Debug chương tŕnh,
đó là OllyDebug, hay c̣n gọi là OllyDBG. Trên con đường thẳng tiến đến
chuyên nghiệp, ta cũng nên dùng nó để khỏi "lạc hậu". Bạn có thể dùng google
search hoặc download nó mục
crack tools. Bản này đă được tôi fix lỗi.
OllyDBG dịch ngược chương tŕnh (các file *.exe, *.dll...) thành ngôn ngữ
Assembler (ASM). Từ các lệnh của ASM đó ta lần ṃ ra được cái bug của chương
tŕnh - tức là chỗ nào làm xuất hiện cái nag!
Điều khó khăn cho bạn và cũng là cho tôi, đó chính là ngôn ngữ ASM thật rắc
rối. V́ vậy, trước khi tiến hành nghiên cứu các tutorial, bạn cũng nên
nghiên cứu về ASM để hiểu về các lệnh của nó. Tài liệu về ASM bạn có thể
download tại đây. |