目前我已经pageA在 linux 内核的一页上使用汇编编写了一个代码段。代码是
SYM_CODE_START(sr_function)
movq $0, %rdx
movq $0x7ffff7fc6000, %rsi
movq $0x19016bc83000, %rcx
movq $9, %rdx
movq $0, %rdx
jmp goto_fce_func
SYM_CODE_END(sr_function)
Run Code Online (Sandbox Code Playgroud)
在运行时,我想mov通过 c 指针覆盖指令的第一个操作数,例如,我pageA使用kmap(pageA).
这意味着,现在第一条指令movq $0, %rdx具有地址,例如0x1000。
我想用C指针指向?
将第一个操作数从值0更改0x19016bc83000为第一个mov instruction movq $0, %rdx
将第一个操作数从 value0x7ffff7fc6000更改0x19016bc74000为第二个mov instruction movq $0x7ffff7fc6000, %rsi
将第一个操作数从 value0x19016bc83000更改0为第三个mov instruction movq $0x19016bc83000, %rcx
你知道我怎么能这样做吗?
使用objdump -D显示反汇编此代码段
0000000000001000 <sr_function>: …Run Code Online (Sandbox Code Playgroud)