Member 12896541 Ответов: 1

Мне нужна помощь с моим проектом, который я пытаюсь сделать


Здравствуйте я пытаюсь исправить какой то код но ИДК как потому что его какой то конкретный код я не могу найти в интернете у меня есть некоторые ошибки он говорит ожидаемое и выражение на
DWORD Flag1 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG1); occulut_offset выделен так же, как dword Flag2 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG2); и DWORD RetCheck = OCCULT_OFFSET (OCCULT_IDABASE, OCCULT_RETCHECK_ADDY); вот мой исходный код

#define OCCULT_MODULEBASE 0x401000
#define OCCULT_IDABASE 0x400000
#define OCCULT_OFFSET(b, x) (OCCULT_MODULEBASE + ((x) - (b)))

auto Occult_luaX_backretcheck()
{
	
	DWORD Flag1 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG1);
	DWORD Flag2 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG2);
	DWORD RetCheck = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_ADDY);

	DWORD FlagBackup1 = *(DWORD*)Flag1, FlagBackup2 = *(DWORD*)Flag2;

	DWORD OldProtect;
	BYTE OldJump = *(BYTE*)(RetCheck);
	VirtualProtect((LPVOID)(RetCheck), 1, PAGE_EXECUTE_READWRITE, &OldProtect);
	*(BYTE*)(RetCheck) = 0xC3;
	return [&]() {
		*(DWORD*)Flag1 = FlagBackup1;
		*(DWORD*)Flag2 = FlagBackup2;
		*(BYTE*)(RetCheck) = OldJump;
		VirtualProtect((LPVOID)(RetCheck), 1, OldProtect, &OldProtect);
	};
}


он также говорит, что синтаксическая ошибка ')' на всех трех из них тоже может кто-нибудь помочь мне переписать код или сказать мне, как это исправить? спасибо

Что я уже пробовал:

Я попытался добавить a ( на всех 3, но это не сработало #define OCCULT_MODULEBASE 0x401000
#определить OCCULT_IDABASE 0x400000
#define OCCULT_OFFSET(b, x) (OCCULT_MODULEBASE + ((x) - (b)))

авто Occult_luaX_backretcheck()
{

Dword Flag1 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG1);
Dword Flag2 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG2);
DWORD RetCheck = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_ADDY);

DWORD FlagBackup1 = *(DWORD*)Flag1, FlagBackup2 = *(DWORD*)Flag2;

DWORD OldProtect;
BYTE OldJump = *(BYTE*)(RetCheck);
VirtualProtect ((LPVOID) (RetCheck), 1, PAGE_EXECUTE_READWRITE, & OldProtect);
*(Байт*) (RetCheck) = 0xC3;
вернуться&ампер;]() {
*(DWORD*)Flag1 = FlagBackup1;
*(DWORD*)Flag2 = FlagBackup2;
*(Байт*) (RetCheck) = OldJump;
VirtualProtect ((LPVOID) (RetCheck), 1, OldProtect, & OldProtect);
};
}

1 Ответов

Рейтинг:
0

CPallini

Вы должны сообщить точное сообщение об ошибке.
В опубликованном коде я не вижу определения

OCCULT_RETCHECK_FLAG1
OCCULT_RETCHECK_FLAG2
OCCULT_RETCHECK_ADDY
символы.

Наконец, используете ли вы компилятор, поддерживающий C++11?