如何立即为在 gdb 中使用“find”找到的每个地址设置新值?

问题描述 投票:0回答:1

我可以使用一些循环语法吗?

我正在使用 find 命令搜索地址处的值,但我不想手动更改每次找到的每个地址处的值,而是希望更快地更改每个地址的值。有点像你可以用作弊引擎做的事情。

我基本上用 find like 进行了搜索;

(gdb) 找到 0x00100000,0x00900000, 0x190

它打印了具有该值的地址列表,但现在我想将每个列出的地址的值更改为 0x140

assembly gdb hex reverse-engineering cheat-engine
1个回答
0
投票

这会将 GDB

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

pipe find 0x00100000,0x00900000,0x190 | awk '$1 ~ /^0x/ { print "set *(int *)" $1 " = 0x140" }' > ~/set140.gdb
source ~/set140.gdb
© www.soinside.com 2019 - 2024. All rights reserved.