Форум программистов, компьютерный форум CyberForum.ru

Объявление индентификатора - C++

Восстановить пароль Регистрация
 
stalker12555
1 / 1 / 0
Регистрация: 15.07.2013
Сообщений: 106
05.11.2013, 13:34     Объявление индентификатора #1
Вот кода файла dllmain.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// dllmain.cpp: определяет точку входа для приложения DLL.
#include "stdafx.h"
#include <windows.h>
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
Thead = CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Starter, NULL, NULL, NULL); 
}
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
Вот код файла stdafx.h:
C++
1
2
#include "stdafx.h"
#include "adder.cpp"
Вот код файла adder.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "stdafx.h"
#include "d3d9.h"
#include <windows.h>
 
LPDIRECT3DDEVICE9 pDevice;
#pragma comment (lib, "d3d9.lib")
void MakeJMP(BYTE *pAddress, DWORD dwJumpTo, DWORD dwLen)
{
DWORD dwOldProtect, dwBkup, dwRelAddr;
 VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect);
dwRelAddr = (DWORD) (dwJumpTo - (DWORD) pAddress) - 5;
*pAddress = 0xE9;
*((DWORD *)(pAddress + 0x1)) = dwRelAddr;
for(DWORD x = 0x5; x < dwLen; x++) *(pAddress + x) = 0x90;
 VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup);
return;
}
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask) 
return 0;
return (*szMask) == NULL;
}
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i<dwLen; i++)
if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) 
return (DWORD)(dwAddress+i);
return 0;
}
DWORD ndip1;
 
 
DWORD DIP;
__declspec( naked ) VOID WINAPI ndip( ) {
__asm
{
MOV EDX,DWORD PTR DS:[EAX];
MOV DWORD PTR DS:[pDevice], EAX
PUSHAD
}
if(pDevice!=0){
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
}
__asm{
POPAD
jmp ndip1;
}
}
HANDLE Thead;
int Starter()
{
Sleep(1000);
DIP = FindPattern((DWORD)0x400000, 0x300000, (PBYTE)"\x8B\x10$$$$$$$$$$$$$$$$$$x6A\x00\x$A\x00\x50\x$$\xD2\x8B\x43\x$$\x8B\x8C\x$4", "x$xx??$?$$$$?xx$?x?xxxxx?xxx");
if(memcmp( ( void * )DIP, ( void * )( PBYTE )"\x$B\x10", 2 ) == 0){
ndip1=DIP+0x2;
MakeJMP((PBYTE)(DIP+0x4D), (DWORD)ndip,5);
memcpy((VOID*)DIP, "\$$$\x4b", 2);
CloseHandle(Thead);
return 0;
}
Starter();
return 0;
}
Вопрос : При построении вылезает ошибка что в файле dllmain.cpp :
не объявлен "Thead" и "Starter" ??
Я ведь записал -"#include adder.cpp" в файл "stdafx.h"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 13:34     Объявление индентификатора
Посмотрите здесь:

объявление класса C++
Объявление массива C++
объявление функции C++
Объявление функции C++
Объявление переменной C++
C++ объявление перпеменных
Объявление переменных C++
C++ Объявление h. файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru