Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Tham khảo tài liệu 'cracker handbook 1.0 part 206', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Nó sẽ hiện ra như thế này 00 BPX USER32 GetWindowTextA C 01 Để ra khỏi SoftICE các bác ấn Ctrl-D hoặc F5 hoặc dùng lệnh X. Okey các bác đã bẫy bất kì lệnh gọi GetWindowTextA. Bây giờ các bác hãy nhập số nào đó ta gọi là FS nha và ấn OK. chuyện gì sẽ xảy ra Còn gì nữa 1 cái nag văng ra nói rằng bác nhập sai registration number. Nhưng như dzậy có nghĩa là sao nghĩa là nó không gọi hàm GetWindowTextA vậy thì chúng ta sẽ thử với GetDlgltemTextA. Nhưng trước hết chúng ta phải xóa cái breakpoint đã đặt đi đã. Vào SoftICE đánh bc 0 xong chúng ta set breakpoint mới BPX GetDlgltemTextA Chúng ta hãy thử lại nha 3.1.3 Làm việc với SoftICE Oh nó đã làm việc Bây giờ chúng ta.uống ly nước đã em khát nước quá rùi OK bây giờ chúng ta đang ở trong SoftICE tại cái nơi mà function GetDlgItemTextA bắt đầu. Để nhảy đến nơi mà nó được gọi các bác hãy nhấn F11. Rùi chúng ta đang ở trong SGLSET.EXE nếu các bác không biết thì các bác hãy nhìn vào dòng nằm giữa khung code window và comand window các bác sẽ thấy như thế này ----- --SGLSET .text 1B13---------- Bây giờ các bác có thể disable breakpoint bằng lệnh bd 0 Nếu các bác muốn enable nó lại thì các bác dùng lệnh be 0 Các bác nhìn vào dòng đầu tiên trong code window CALL USER32 GetDlgItemTextA Để thấy những lệnh ở trên các bác nhấn Ctrl-Up. Nếu các bác không bít gì về Assembler thì các bác hãy nhìn xuống đây RET Kết thúc function PUSH EBP Bắt đầu function MOV EBP ESP SUB ESP 0000009C PUSH ESI LEA EAX EBP-34 EAX EBP-34 PUSH EDI MOVE ESI ECX PUSH 32 Lưu chiều dài của FS PUSH EAX Lưu địa chỉ của text buffer PUSH 000003F4 Lưu Identifier của control PUSH DWORD PTR ESI 1C Lưu handle của dialog CALL USER32 GetDlgItemTextA Chúng ta đang ở đây Em xin giải thích chút xíu lệnh PUSH có nhiệm vụ lưu lại giá trị cho lần sử dụng sau. Các bác chú ý vào 2 dòng màu đỏ. Nhìn vào đoạn lệnh trên chúng ta bít được địa chỉ của text buffer đã được cất giữ trong EAX và EAX đó là EBP-34. Bây giờ chúng ta hãy nhìn vào EBP-34 nó sẽ như thế này d ebp-3 Chúng ta nhấn