When executing rip-based indirect call instruction, the emulated CPU attempts to fetch at an unrelated address, which is unexpected and raises a UC_ERR_FETCH_UNMAPPED error.
To Reproduce
Download and save the proof-of-concept script unicorn-indircall.py to a local system
Execute the script with python
Expected behaviour
The script exits succeed with the result printed
Actual output
$ python unicorn-indircall.py
>>> Tracing instruction at 0x0000000001000000, instruction size = 0x0000000000000006
>>> RIP is 0x0000000001000000
!!! Unicorn Engine Exception: Invalid memory fetch (UC_ERR_FETCH_UNMAPPED)
!!! RIP is 0x7d894853e5894855
$
Describe the bug
When executing rip-based indirect call instruction, the emulated CPU attempts to fetch at an unrelated address, which is unexpected and raises a
UC_ERR_FETCH_UNMAPPED
error.To Reproduce
unicorn-indircall.py
to a local systemExpected behaviour
The script exits succeed with the result printed
Actual output
Environment
Proof-of-Concept: unicorn-indircall.py