Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 15.04.2018
Сообщений: 54

Ошибка Аргумент Типа const char* не совместим с параметром char*

26.05.2019, 23:31. Показов 1498. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка Аргумент Типа const char* не совместим с параметром char*
180 строка ошибка!
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#include <Windows.h>
#include <TlHelp32.h>
 
using namespace std;
 
typedef unsigned char uint8_t;
 
template<typename T, size_t N>
 
size_t countof(T(&array)[N])
{
    return N;
}
 
/* offset */
 
DWORD dwLocalPlayer;
DWORD dwEntityList;
DWORD dwGlow;
 
DWORD dwTeam = 0xF0;
DWORD dwDormant = 0xE9;
 
struct SModule
{
    DWORD dwBase;
    DWORD dwSize;
};
 
/* Debugger */
 
class debugger
{
private:
    DWORD pid;
    HANDLE Process;
public:
    bool Attach(char* process, DWORD rights = PROCESS_ALL_ACCESS)
    {
        HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
        PROCESSENTRY32 entry;
        entry.dwSize = sizeof(entry);
        do
        {
            if (!strcmp(entry.szExeFile, process))
            {
                pid = entry.th32ProcessID;
                CloseHandle(handle);
                Process = OpenProcess(rights, false, pid);
                return true;
            }
        } while (Process32Next(handle, &entry));
        return false;
    }
    SModule GetModule(char* modulename) {
        HANDLE module = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, NULL);
        MODULEENTRY32 mEntry;
        mEntry.dwSize = sizeof(mEntry);
        do
        {
            if (!strcmp(mEntry.szModule, modulename))
            {
                SModule mod = { (DWORD)mEntry.hModule, mEntry.modBaseSize };
                return mod;
            }
        } while (Module32Next(module, &mEntry));
        return { (DWORD)false, (DWORD)false };
    }
    template<typename T>
    T Read(DWORD address) {
        T _read;
        ReadProcessMemory(Process, (LPVOID)address, &_read, sizeof(T), NULL);
        return _read;
    }
    template<typename T>
    void Write(DWORD address, T value) {
        WriteProcessMemory(Process, (LPVOID)address, &value, sizeof(T), NULL);
    }
 
    bool DataCompare(const BYTE* data, const BYTE* mask, LPCSTR szMask) {
        for (; *szMask; ++szMask, ++data, ++mask) {
            if (*szMask == 'x' && *data != *mask)
            {
                return false;
            }
        }
        return (*szMask = NULL); // Доделать
    }
 
    DWORD FindPattern(DWORD start, DWORD size, LPCSTR sig, LPCSTR mask) {
        BYTE* data = new BYTE[size];
        DWORD bytesread;
        if (!ReadProcessMemory(Process, (LPVOID)start, data, size, &bytesread))
        {
            return NULL;
        }
        for (DWORD i = 0; i < size; i++)
        {
            if (DataCompare((CONST BYTE*)(data + i), (CONST BYTE*)sig, mask))
            {
                return start + i;
            }
        }
        return NULL;
    }
 
    DWORD FindPatternArray(DWORD start, DWORD size, LPCSTR mask, int count, ...) {
        char* sig = new char[count + 1]; // 1 не точно
        va_list ap;
        va_start(ap, count);
        for (int i = 0; i < count; i++)
        {
            char read = va_arg(ap, char);
            sig[i] = read;
        }
        va_end(ap);
        sig[count] = '\0';
        return FindPattern(start, size, sig, mask);
    }
};
 
 
struct glow_t
{
    DWORD dwBase;
    float r, g, b, a;
    uint8_t unk[16];
    bool m_bRederWhenOccluded;
    bool m_bRenderWhenUnoccluded;
    bool m_bFullBloom;
    uint8_t unk2[10];
};
 
struct entity
{
    DWORD dwBase;
    int team;
    bool is_dowmant;
};
 
struct player
{
    DWORD dwBase;
    bool isDormant;
};
 
debugger memory;
SModule module;
int iFriendlies;
int iEnemies;
entity entEnemies[32];
entity entFriendlies[32];
entity me;
debugger* mem;
SModule moduleClient;
 
void update_local_player() {
    DWORD dwStart = memory.FindPatternArray(module.dwBase, module.dwSize, "xxx????xx????xxxxx?", 19, 0x8D, 0x34, 0x85, 0x0, 0x0, 0x0, 0x0, 0x89, 0x15, 0x0, 0x0, 0x0, 0x0, , 0x89, 0x41, 0x8, 0x88, 0x48, 0x0);
    DWORD dwP1 = memory.Read<DWORD>(dwStart + 3);
    DWORD dwP2 = memory.Read<DWORD>(dwStart + 18);
    dwLocalPlayer = (dwP1 + dwP2) - module.dwBase;
}
 
void update_entity_list() {
    DWORD dwStart = memory.FindPatternArray(module.dwBase, module.dwSize, "x????xx?xxx", 11, 0x5, 0x0, 0x0, 0x0, 0xC1, 0xE9, 0x0, 0x39, 0x48, 0x4, 0x0, 0x0, 0x0, , 0x89, 0x41, 0x8, 0x88, 0x48, 0x0);
    DWORD dwP1 = memory.Read<DWORD>(dwStart + 3);
    DWORD dwP2 = memory.Read<DWORD>(dwStart + 18);
    dwLocalPlayer = (dwP1 + dwP2) - module.dwBase;
}
 
void update_glow() {
    DWORD dwStart = memory.FindPatternArray(module.dwBase, module.dwSize, "xx????x????xxx????xx????xx", 27, 0x8D, 0x8F, 0, 0, 0, 0, 0xA1, 0, 0, 0, 0, 0xC7, 0x4, , 0x2, 0, 0, 0, 0, 0x89, 0x35, 0x0, 0x0, 0x0, 0x0, 0x88, 0x51);
    DWORD dwP1 = memory.Read<DWORD>(dwStart + 3);
    DWORD dwP2 = memory.Read<DWORD>(dwStart + 18);
    dwGlow = memory.Read<DWORD>(dwStart + 7) - module.dwBase;
}
 
void GetOffsets(debugger* d) {
    mem = d;
    moduleClient = mem->GetModule("client.dll");
    update_local_player();
    update_entity_list();
    update_glow();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2019, 23:31
Ответы с готовыми решениями:

Ошибка: значение типа "const char *" нельзя использовать для инициализации сущности типа "char *
int main(int argc, char* argv) { char* filename = argc == 2 ? argv : &quot;Image0.jpg&quot;; } выводит ошибку (значение типа...

Значение типа const char * нельзя присвоить сущности типа char *
Добрый день. Я новичок в c++ и столкнулся с проблемой при написании маленькой программы. Собственно у меня такая ошибка: значение типа...

Аргумент типа LONG не совместим с параметром LPCTSTR (MFC)
Помогите пожалуйста. Создаю программу MFC. Нужно вывести значение a, b, c во всплывающем окне после нажатия кнопки. В меседжбоксе не...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2019, 23:31
Помогаю со студенческими работами здесь

Ошибка: аргумент типа "Point*" несовместим с параметром типа "const POINT*" (MFC)
Доброго времени суток ! У меня такая проблема, посоветовали функцию Polygon для рисования многоугольника. Проблема в том что когда передаю...

error C2440: =: невозможно преобразовать 'const char *' в 'char *'
есть вот такой кусок кода int getLex(){ int i = iCurrPos; char strLex, * cp; int j; while ((strExpr == ' ') || (strExpr ==...

Error c2440: невозможно преобразовать 'const char [2]' в 'char'
С недавних пор я решил почитать и поучиться программировать, так сказать занять себя чем нибудь после работы.Ну и как вы поняли из названия...

Невозможно преобразовать параметр 2 из 'char' в 'const char *
Уважаемые господа программисты,как преобразовать тип переменной из 'char' в 'const char *'? Заранее спасибо

Ошибка: cannot convert parameter 1 from 'const char [14]' to 'LPCWSTR'
HWND hTaskBar, hButton; hTaskBar = FindWindow(&quot;Shell_TrayWnd&quot;, NULL); hButton = GetWindow(hTaskBar, GW_CHILD);Люди, скажите...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru