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
Trang 1-
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
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
Trang 2Có 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
7FFF FFFF 2,147,483,647
Số ÂM
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
Trang 3Như 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
Trang 4Bạ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
Trang 5Phầ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 :