環境変数があり、そのメモリ アドレスを取得しようとしています。私は持っている
memset(&buffer, 0x90, 517);
memcpy(&buffer[517-strlen(shellcode)],shellcode,strlen(shellcode));
setenv("EGG",buffer,1);
putenv(buffer);
printf("EGG address: 0x%1x\n", getenv("EGG"));
system("bash");
印刷されたメモリ アドレスは0x804b00c. それは正しくないように見えました。GDB x/x で確認しました0x804b00c。のメモリにアクセスできませんと表示されました0x804b00c。getenv基本的にガベージメモリを与えています。変数が設定され envていることを確認するために呼び出しましたが、設定されていました。EGG
のメモリ アドレスを取得できないのはなぜEGGですか?