Мне комфортно в C # / Java, и я достаточно хорошо знаю C и C ++. Тем не менее, я хочу копать глубже и узнавать больше голого металла. Например, простая консольная программа на C ++:
int main()
{
char *ptr = "helloworld";
return 1;
}
Я открыл его в Visual Studio с помощью отладчика (после удаления файла pdb), чтобы пройти по коду в сборке. Я также использую шестнадцатеричный редактор HxD для просмотра двоичного файла.
Очевидно, я далек от понимания того, что происходит. Я хочу научиться отслеживать, как выполняется код для двоичного файла, у которого нет источника (если возможно), или просто узнать как можно больше об этом предмете. Я понимаю пошаговую отладку с исходным кодом, поскольку использую ее каждый день на работе, но без нее я беспомощен.
Есть ли урок для начинающих для такого рода вещей?
Какие инструменты / прохождения вы можете порекомендовать?
Спасибо.