表达式
radare2中数学表达式的值位长为64位,可以以不同格式进行显示,可以用于所有接受数字参数的命令,或进行比较。表达式中可以使用传统的算术运算,以及二进制数和布尔值。
[0xb7f9d810]> ?vi 0x8048000
134512640
[0xv7f9d810]> ?vi 0x8048000+34
134512674
[0xb7f9d810]> ?vi 0x8048000+0x34
134512692
[0xb7f9d810]> ? 1+2+3-4*3
hex 0xfffffffffffffffa
octal 01777777777777777777772
unit 17179869184.0G
segment fffff000:0ffa
int64 -6
string "\xfa\xff\xff\xff\xff\xff\xff\xff"
binary 0b1111111111111111111111111111111111111111111111111111111111111010
fvalue: -6.0
float: nanf
double: nan
trits 0t11112220022122120101211020120210210211201支持的算术操作有:
+ : addition
- : subtraction
* : multiplication
/ : division
% : modulus
> : shift right
< : shift left
使用逻辑OR时需要用用引号进行标记,避免执行|管道:
可以以不同格式显示结果:
可以结合变量和seek位置创建复杂的表达式。
使用?$?命令可以列出所有可用的命令,或者你也可以参考本书的refcard章节
更多的一些例子:
最后更新于
这有帮助吗?