crash
dis
查看函数源码及所在文件
1) dis -s devmem_is_allowed
2)查看反汇编指令
dis devmem_is_allowed
3) 反汇编并输出所在源码行号
dis -l devmem_is_allowed
汇编指令查询:
https://cloud.tencent.com/developer/article/1471250
%表示寄存器,$表示常量
xor 异或 exclusive OR
shl 左移 shr 右移
jmp 无条件跳转 je 等于跳转 ja大于跳转 jb小于跳转
查看void类型的成员
例如irq_data.chip_data是void 类型。
先通过dis -l 或者kmem可以查出定义的变量,然后从代码中反查出起机构体。
systemtap
想要通过crash修改虚拟地址值时报错" wr: cannot write to /proc/kcore"
通过hook 函数devmem_is_allowed,使其返回 1,并在保持的状态下(不被killed前)重新启动crash 修改地址空的value 。
stap -g -e 'probe kernel.function("devmem_is_allowed").return { $return = 1 }'