TAILIEUCHUNG - Cracker Handbook 1.0 part 218

Tham khảo tài liệu 'cracker handbook part 218', 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ả | eax dw_param1 Điều này có nghĩa là những gì chúng ta làm ở trên là đúng bởi vì thanh ghi EAX đã được thay đổi bằng cách được gán 1 giá trị mới. Phần tiếp theo eax dw_param1 eax IstrlenA eax IstrlenA returns its result in eax if int_local1 eax goto label_412348 Với đoạn code này chúng ta hoàn toàn có thể làm cho nó trở nên dễ dàng hơn chúng ta có thể kết hợp những câu lệnh trên lại như sau if int_local1 lstrlenA dw_param1 goto label_412348 Một lần nữa chúng ta phải quan sát xem thành ghi EAX có được sử dụng trong các đoạn code bên dưới không để từ đó chúng ta không bỏ sót vị trí nơi mà giá trị của thanh ghi này đang được sử dụng. Trong các câu lệnh sau đó giá trị của EAX bị thay đổi do đó chúng ta không cần quan tâm về những thay đổi của chúng ta. Bởi vì chúng ta biết rằng hàm lstrlenA sẽ lấy đầu vào là một con trỏ trỏ tới một chuỗi do đó chúng ta sẽ thay đổi tham số này thành pString cuối cùng ta có được như sau int_local1 0 goto label_41230B int_local1 label_41230B if int_local1 lstrlenA pString goto label_412348 Quan sát toàn bộ đoạn code tiếp theo trong hàm này chúng ta thấy được dòng sau .00412346 EBBA jmps .000412302 -----------------1 3 Đây là một câu lệnh nhảy và nó nhảy trở về vị trí có câu lệnh int_local1 điều này chứng tỏ đây là một vòng lặp. Nếu như bạn đã quen thuộc với lập trình C bạn có thể minh họa được cấu trúc dường như là một vòng lặp for. Chúng ta sẽ cố gắng để biểu diễn lại nó bằng cách thay đổi biến int_local1 thành i. Chúng ta sẽ viết lại dưới ngôn ngữ C như sau for i 0 i IstrlenA pString i .rest of code. Mọi việc đang dần dần được rõ ràng . Giờ chúng ta đã biết hàm này có một vòng lặp với số lần lặp bắt đầu từ 0 cho tới chiều dài của chuỗi có được thông qua tham số đầu tiên lstrlenA pString . Tiếp theo chúng ta cần biết những gì đang diễn ra bên trong thân vòng lặp .0041231A mov .0041231D add .00412320 mov .00412322 mov .00412325 movzx .00412329 cmp .0041232C jl .0041232E movzx .00412332 cmp .00412335 jg .00412337 movzx .0041233B sub

TÀI LIỆU LIÊN QUAN
10    127    1
6    150    1
7    127    1
5    125    1
6    127    1
6    115    1
6    122    1
6    174    1
7    122    1
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.