thể trùng lặp:
What’s the purpose of the LEA instruction?
LEA instruction?rắc rối hiểu lắp ráp lệnh "địa chỉ hiệu quả tải"
Vì vậy, tôi đang làm việc trên sự phân công bom nhị phân cho lớp (nó có một bó các giai đoạn mà bạn phải bước qua mã lắp ráp của chương trình và tìm cụm từ mật khẩu để giải mã "bom").
Tôi không thể hoàn tất giai đoạn hiện tại của mình vì tôi không hiểu lệnh lea. Tôi đã đọc rằng nó thường được sử dụng cho số học, nhưng tôi chỉ không hiểu nó như thế nào.
Lệnh Tôi nhìn vào đặc biệt là
lea -0x18(%ebp), %ebx
lea -0x8(%ebp), %esi
theo sau là một
mov -0x4 (%ebx), %eax
add -0x8(%ebx), %eax
trong dòng eax tiếp theo và ebx được so sánh, nếu họ bằng chương trình tiếp tục, nếu quả bom nổ tung.
Tôi đã tìm hiểu đủ về giai đoạn này để biết nó muốn 6 số, hai số đầu tiên là 0 và 1. Sau đó, thực hiện một số thao tác để xác định xem phần còn lại của chuỗi có đúng không (tôi giả sử lệnh lea là những gì tôi cần giải mã để tìm các số tiếp theo).
Bây giờ những gì tôi không thể tìm thấy là những gì -0x18 nói riêng. dấu âm là gì? nó chỉ ra phép trừ? là nó tìm kiếm 18 byte trước khi ebp?
Cảm ơn bạn đã được trợ giúp tại đây.