A thì ra ! Hỏi mấy bác thêm cái này nữa nè . Tui load chương trình lên bằng Olly, cho nó chạy (nhấn F9) thì chương trình nó vẫn chạy nhưng trong Olly thì nó terminated luôn rùi. Tui nghĩ lúc chương trình nó chạy nó sẽ load cái file thực thi khác nhưng khi kiểm tra chương trình, hay chính xác hơn là thư mục cài chương trình, thì tui thấy chỉ có cái file exe đó thui . Vậy là sao ? thế thì không xài F9 nữa, cứ dùng F8 đến nào kiểm tra file thực thi thì cho qua nhưng theo littleboy thì cái này có thể là do chương trình đó đang chạy nhưng bác không để ý load luôn lần nữa là bị terminal luôn Hiện nay littleboy thấy có rất nhiều chương trình code mã hóa rất dài, đọc mệt đứt hơi mà vẫn không xong không biết có bác nào có cách viết một chương trình dịch người đoạn mã hóa dài không nhỉ ví dụ: ta đưa vào code INC EAX thì chương trình đó sẽ tạo ra một code DEC EAX khi đưa mình copy vào một đoạn code thì chương trình tạo ra một đoạn code khác dịch ngược lại đoạn code đó, từ đoạn code đó thì mình thêm mã assembly để thành 1 chương trình The end Part 1 Tutorials: INTRODUCTION TO THE CRACKING WITH OLLYDBG FROM ZERO. Link: Author: Ricardo ( Compiled to VietNamese by ZoZo ) Type: General for cracking. Level: Super Basic Part : 2. Sau khi chúng ta đã làm quen các cửa sổ làm việc của Olly (ở phần 1), thì trong phần 2 tiếp theo này ta quan tâm các hệ số đếm được dùng trong máy tính. Đây là phần kiến thức quan trọng trong cracking. Các hệ số dùng trong máy tính Có 3 hệ số đếm chính được sử dụng là : Nhị phân : chỉ có 2 ký số dùng để đếm ( 0 và 1 ). Thập phân : có 10 ký số dùng để đếm ( 0 tớ 9 ). Thập lục : có 16 ký số dùng để đếm ( 0 tới 9 và bổ sung 6 ký số khác là : A, B, C, D, E, F ) . Ngoài ra có thêm hệ Bát phân (8 ký số , 0 tới 8, dùng để đếm ). Số âm trong hệ 16. Thông thường , trong hệ 10, ta hay đặt dấu trừ phía trước một con số để nhận biết đó là số âm (vd : -1). Nhưng trong hệ 16, người ta chia dãy số biểu diễn một con số ra làm 2, một nữa biểu diễn số âm (từ 0000…000 tới 7FFF…FFF) , nữa còn lại là số dương (8FFF…FFF tới . FFFF…FFF). VD : Số DƯƠNG Thập lục Thập phân 0000 0000 0 0000 0001 1 7FFF FFFF 2,147,483,647 Số ÂM Thập lục Thập phân FFFF FFFF -1 FFFF FFFE -2 8000 0000 -2,147,483,648 Bạn có thể quan sát sự chuyển đổi hệ số trong Olly ngay tại Command Bar . Như trong hình thì 7FFF FFFF bằng 2,147,483,647 . Bây giờ ta thay vào số 8000 0000 trong ô gõ lệnh . Quan sát ta thấy Olly không chuyển được 8000 0000 sang -2,147,483,648. Đây là một lỗi lập trình của Olly. Tuy nhiên, bạn hãy sử dụng thử thanh ghi EAX của Olly để chuyển đổi hệ số. Nhấn chuột vào thanh ghi EAX Nhấn đúp chuột trái vào thanh ghi EAX hoặc nhấn chuột phải vào EAX > chọn Modify Bạn sẽ thấy cửa sổ mới xuất hiện cho phép sửa đổi giá trị của thanh ghi EAX. Bây giờ gõ vào 8000 0000 tại ô Hexadecimal, bạn sẽ thấy Olly chuyển giá trị số này sang hệ thập ph6n chính xác là -2,147,483,648. Tôi thử gõ vào ô hexadecimal một giá trị khác là FFFF FFFF thì thấy được Olly chuyển chính xác ra -1 . Như vậy, trong cửa sổ các thanh ghi này, ta có thể tìm được chính xác số âm hệ 10 từ con số hệ 16 nhờ vào thanh ghi EAX. Nhấn Cancel để tắt bỏ hộp thoại này đi. Ký tự ASCII Phần kiến thức quan trọng khác mà ta cần biết là cách mà hệ thống in ra màn hình các ký tự, ký số,… . Nhìn lại hình lúc nãy ở thanh Command . Phần chuyển đổi cuối cùng, bên cạnh số 2147483647 mà Olly có thể chuyển dịch từ số hexa ra là một ký tự ( € ). Trong máy tính, mỗi ký tự, ký số,… được quy định bởi một con số hexa. Ta hãy xem qua bảng mã ASCII sau : . biểu diễn số âm (từ 00 00 00 0 tới 7FFF…FFF) , nữa còn lại là số dương (8FFF…FFF tới . FFFF…FFF). VD : Số DƯƠNG Thập lục Thập phân 00 00 000 0 0 00 00 00 01 1 7FFF FFFF 2 ,14 7,483,647 Số. FFFF bằng 2 ,14 7,483,647 . Bây giờ ta thay vào số 800 0 00 00 trong ô gõ lệnh . Quan sát ta thấy Olly không chuyển được 800 0 00 00 sang -2 ,14 7,483,648. Đây là một lỗi lập trình của Olly. Tuy. FFFF FFFF -1 FFFF FFFE -2 800 0 00 00 -2 ,14 7,483,648 Bạn có thể quan sát sự chuyển đổi hệ số trong Olly ngay tại Command Bar . Như trong hình thì 7FFF FFFF bằng 2 ,14 7,483,647