assembly 如何一次性为在gdb中使用“find”找到的每个地址设置新值?

4si2a6ki  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(106)

有没有什么循环语法可以用?
我正在使用find命令搜索地址上的值,但我希望更快地更改每个地址的值,而不是每次手动更改它找到的每个地址上的值。就像你可以用作弊引擎做的一样。
我基本上做了一个搜索与查找喜欢;
(gdb)查找0x 00100000、0x 00900000、0x 190
它打印了具有此值的地址列表,但现在我想将列出的每个地址的值更改为0x 140

cgh8pdjw

cgh8pdjw1#

这将把GDB的find命令的输出通过管道传输到awk程序,以生成一系列set命令。

pipe find 0x00100000,0x00900000,0x190 | awk '$1 ~ /^0x/ { print "set *(int *)" $1 " = 0x140" }' > ~/set140.gdb
source ~/set140.gdb

相关问题