AFLplusplus / AFLplusplus/LibAFL

LibAFL_QEMU: Issues switching between thumb and non-thumb on ARM

Đang mở
#2,622 0 bình luận 1 reaction 1 người được giao Được @rmalmain nhận Xem trên GitHub
bug qemu
Ngôn ngữ chính
Rust
Star
2.6k
Fork
481
Merge trung bình
2 ngày 30 phút
Pull request đã merge (30 ngày)
16

Mô tả

A breakpoint that switches to non-thumb and setting PC to thumb will lead to non-thumb execution:

In LibAFL_QEMU on arm
- Set Lr to a non-thumb addr
- Set Breakpoint on that address
- Run a thumb function until return (first exec runs fine, in thumb)
- After the breakpoint on non-thumb triggers, re-run that same function by placing the Pc to the entry of the thumb function (with last bit set)
=> The second execution is happening in non-thumb mode

A workaround is to set the return address to thumb, but this is not a general solution

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.