我需要帮助我正在尝试制作的项目 [英] I need help with my project I am trying to make
问题描述
您好我正在尝试修复一些代码但是如何因为它在互联网上找不到的某些特定代码我有一些错误,它说预期和表达在
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);这是我的源代码
Hello I am trying to fix some code but idk how because its some specific code I cant find on the internet I am having some errors it says expected and expression on
DWORD Flag1 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG1); the occulut_offset is highlighted so is DWORD Flag2 = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_FLAG2); and DWORD RetCheck = OCCULT_OFFSET(OCCULT_IDABASE, OCCULT_RETCHECK_ADDY); here is my source code
#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
#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标志2 = 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;
返回[&](){
*(DWORD *)Flag1 = FlagBackup1;
*(DWORD *)Flag2 = FlagBackup2;
*(BYTE *)(RetCheck)= OldJump;
VirtualProtect((LPVOID)(RetCheck),1,OldProtect和amp ; OldProtect);
};
}
it also says syntax error ')' on all three of those too can someone help me rewrite the code or tell me how to fix it? thanks
What I have tried:
I have tried to add a ( on all 3 but it did not work #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);
};
}
推荐答案
您应该报告确切的错误消息。 />
在发布的代码中,我看不到定义
You should report the exact error message.
In the posted code I see no definition of the
OCCULT_RETCHECK_FLAG1
OCCULT_RETCHECK_FLAG2
OCCULT_RETCHECK_ADDY
符号。
最后,你使用的编译器支持 C ++ 11
?
这篇关于我需要帮助我正在尝试制作的项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!