-
-
[求助]GDB如何修改位于rdata的宏定义字符串的值
-
发表于:
2015-10-5 22:30
4065
-
[求助]GDB如何修改位于rdata的宏定义字符串的值
//test.c
#define STR "testabc123"
int main(int argc, char* argv[])
{
printf("%s\n",STR);
return 0;
}
gcc -o test test.c
gdb test
1、通过info files命令得到内存映射表,获知字符串"testabc123"的内存地址为0x403060
(gdb) find 0x00403000,0x004032f8,"testabc123"
0x403060
1 pattern found.
(gdb) x/1s 0x403060
0x403060: "testabc123"
2、现在希望修改字符串的值,gdb总是提示内存为只读,请问如何破?
(gdb) mem 0x403060 0x403070 rw
(gdb) set *0x403060=90
Cannot access memory at address 0x403060
[培训]科锐逆向工程师培训第53期2025年7月8日开班!