Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
stalker12555
1 / 1 / 0
Регистрация: 15.07.2013
Сообщений: 106
#1

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

05.11.2013, 13:34. Просмотров 237. Ответов 0
Метки нет (Все метки)

Вот кода файла 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"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 13:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объявление индентификатора (C++):

Объявление typedef - C++
Доброго времени суток! Подскажите, что означает структура: typedef int Boolean; Это объявление пользовательского типа?

Пустое объявление. - C++
Вот на эту строку компилятор ругается &quot;Пустое объявление&quot;. В чём может быть причина ? for (int 1=0; i&lt;=15; i=i++) ...

Объявление функции - C++
Что значит подобное объявление: int f() const; Для чего этот &quot;const&quot; ?

Объявление конструктора - C++
Изучаю книгу Джосьютиса по STL и столкнулся с немного непонятным объявлением конструктора. Помогите разобраться, правильно ли я его...

объявление директив - C++
здравствуйте, что будет если два раза одинаково объявить директиву? Допустим #include &lt;iostream&gt; #include &quot;example.h&quot; #include...

объявление массива - C++
int N = 10; int mas = {5,8,2,0,6,3,8,2,7,9}; По чему так нельзя, подчеркивает masN]?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 13:34
Привет! Вот еще темы с ответами:

Объявление переменных - C++
Помогите с объявлением переменных, даны такие объявления: int m1; int *m2; int **m3; int m4; int *m5; int **m6; int (*m7); ...

Объявление переменной - C++
Здравствуйте! В программе есть две формы. Как объявить переменную чтобы она была доступна в обеих формах? Или как переменную из одной...

[C++] Объявление строк - C++
Дана строка символов, состоящая из произвольного текста, слова разделены пробелами. Разбить исходную строку на две подстроки, причем первая...

Объявление массивов в С/С++ - C++
Пытаюсь создать матрицу размера n: #include &lt;iostream&gt; using namespace std; int main() { int n,i,j; int m; cout &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru