After a JZ operation, IDA Pro shows a red arrow. What does that mean?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Code to be executed if the result was not zero". Trong chế độ đồ thị (graph view) của IDA Pro, sau một lệnh nhảy có điều kiện có hai mũi tên: xanh lá chỉ nhánh khi lệnh nhảy được thực hiện, đỏ chỉ nhánh khi không nhảy và chạy tiếp lệnh kế. JZ (jump if zero) nhảy khi cờ ZF bật, tức kết quả của phép so sánh hay phép tính ngay trước bằng 0; vậy mũi tên đỏ dẫn tới mã chạy khi kết quả khác 0. Có bản đáp án lưu hành chọn "Broken link", nhưng không theo được vì IDA không dùng màu đỏ để báo liên kết hỏng; nhầm lẫn có thể đến từ cửa sổ mũi tên ở lề trái của chế độ văn bản, nơi mũi tên đỏ mang nghĩa khác là đích nhảy nằm ngoài hàm hiện tại, vẫn không phải liên kết hỏng. "Code to be executed if the result was zero" là nhánh của mũi tên xanh lá. "Just a decoration" sai vì màu mũi tên mang thông tin về luồng điều khiển.

Cùng phần 4

Xuất hiện trong 1 bộ đề