该代码按预期工作:
section .bss
var2: DB ?
X: DW ? ; works
Run Code Online (Sandbox Code Playgroud)
如果保留顺序相反,则代码无法汇编:
section .bss
X: DW ?
var2: DB ? ; error with lines in other order
Run Code Online (Sandbox Code Playgroud)
即使我没有var2在程序的另一部分使用此标签,我也收到此错误(事实上,这是可重现的将该代码块组装为 3 行文件)。
error: label `var2' changed during code generation [-w+error=label-redef-late]
Run Code Online (Sandbox Code Playgroud)
我认为该var2变量被该X变量覆盖,因为它是一个字,占 2 个字节。
我正在使用 NASM 版本 2.15.04 来汇编此代码(也可以使用 2.15.05 重现)。
假设我有一个简单的可执行文件,我想找到 main 的地址。通常,我从输出中获取地址objdump,然后在pwn脚本中使用它。我想让我的脚本更加通用,而不使用objdump. 有什么办法可以用 pwn 做到这一点吗?