radare2
radare2 copied to clipboard
make mcall and rcall be a subsets of ucall
Environment
$ date
Mon Aug 22 22:27:25 JST 2022
$ r2 -v
radare2 5.7.7 29397 @ linux-x86-64 git.5.7.6-160-gf9f9e367de
commit: f9f9e367de2c5e2ad252d10a21575bf949a3937d build: 2022-08-22__22:20:13
$ uname -ms
Linux x86_64
Description
mcall - memroy calls rcall - register calls ucall - unknown calls
the /at mcall
, /at rcall
outputs must be subsets of /at ucall
output but it is not
Test
$ r2 /bin/ls
[0x00005850]> /at mcall | wc -l
0
[0x00005850]> /at rcall | wc -l
33
[0x00005850]> /at ucall | wc -l
25
0 + 33 != 25
Additionally rcall is not in the list of instruction types:
| /atl list all the instruction types (RAnalOp.Type)
:
[0x00005850]> /atl ~call
call
ucall
mcall doesn't exist.
we use ucall for memory calls, and rcall for register calls. historically register calls were treated as ucalls, but this is no longer the case