Я создаю контрольные примеры для изучения безопасности программного обеспечения, но я хочу создать обход файла cookie стека через SEH. это мой код.
#include <cstdio>
#pragma comment(lib, "Ws2_32.lib")
#pragma warning(disable : 4996)
int main() {
char name[32];
printf("Reading name from file...\n");
FILE* f = fopen("name.dat", "rb");
if (!f)
return -1;
fseek(f, 0L, SEEK_END);
long bytes = ftell(f);
fseek(f, 0L, SEEK_SET);
int pos = 0;
while (pos < bytes) {
int len = bytes - pos > 200 ? 200 : bytes - pos;
fread(name + pos, 1, len, f);
pos += len;
}
name[bytes] = '\0';
fclose(f);
printf("Hi, %s!\n", name);
return 0;
}
это команда, которую я использую для создания исполняемого файла, но в данный момент она не работает для запуска калькулятора
cl stack_cookie_seh.cpp /Od /GS /link /DYNAMICBASE:NO /NXCOMPAT:NO