Простое кодирование C-файла, как показано ниже:
int main()
{
int a = 999;
return 0;
}
после компиляции и ссылки с использованием gcc, создаст исполняемый файл (например, .exe, .out)
Но когда я открою(НЕ ВЫПОЛНЯЯ) исполняемый файл с каким-то редактором, я не могу найти значение переменной 'a', число 999, которое в шестнадцатеричном формате 0x3E7.
Мой вопрос:
- Существует ли переменная номер 999 в исполняемом файле?
- Если нет, где хранится номер переменной?Как исполняемый файл получает номер переменной при запуске?
PS: у меня есть немного знаний о разделе памяти, таких как .data .bss .text .etc и язык ассемблера.Ровно не могу найти его с помощью ollydbg.