gpt4 book ai didi

c - 使用 Ollydbg,谁能告诉我变量 "a"的地址是什么?

转载 作者:行者123 更新时间:2023-12-01 13:42:53 32 4
gpt4 key购买 nike

我非常简单的测试程序

#include<stdio.h>
#include<stdlib.h>

int main()
{
int a = 12345;
printf("%d\n", a);

system("PAUSE");
return 0;

}

编译连接后,生成EXE文件,然后在Ollydbg中打开EXE文件: OllyDbg

图片显示了main()函数。但是我找不到变量a的地址是什么。当传递参数给printf()函数时,它会将3039压入堆栈,这意味着变量a的值为3039?不,值为 12345。所以这意味着变量a的地址是00003039?任何人

最佳答案

a 变量的地址是[ebp-8]。您看到的是 0x3039 赋值,因为十进制 12345 是十六进制 0x3039。如果您将代码更改为使用十六进制值:int a = 0x12345,结果会更清楚: IDA results

数字常量通常直接编译到代码中。

关于c - 使用 Ollydbg,谁能告诉我变量 "a"的地址是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448866/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com