Другое С/С++ Вопрос - Ответ

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
записывать в память игры это и кидать поток туда
и еще посмотри в отладчике сколько точно байт оно опускает, я не уверен что 16
 

nt_qwark

Участник
30
1
#define funcAddr 0x0
const char* lpText = "TEXT";
__asm {
6A 00
6A 00
6A 000003E8
68 &lpText
E8 funcAddr
add esp, 16
C3
}

Вот так?

хм не понял, как я это запишу ля
 
Последнее редактирование модератором:

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
unsigned char func[] = {0x6A и тд}
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
createremotethread
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
потому что typedef unsigned char BYTE
 
  • Нравится
Реакции: nt_qwark

nt_qwark

Участник
30
1
Ну это я знаю
Из windows.h этот тайпдеф
Но почему блять unsigned char? БЕЗЗНАКОВЫЙ СИМВОЛ, БАЙТ - СИМВОЛ???????

Так. Ты мне наотвечал. В итоге мне нужно для каждого вызова записывать в память и кидать поток, да?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
да
 
  • Нравится
Реакции: nt_qwark

nt_qwark

Участник
30
1
Как синхру сделать?

Сделал так, но значение переменной true не устанавливается:
C++:
#include <windows.h>
#include <iostream>
#pragma comment(lib,"User32.lib")
using namespace std;
static bool g_Active = false;

DWORD WINAPI proizv(PVOID Parametr)
{
    while (true)
    {
        if (GetAsyncKeyState(81) == -32768)
        {
            while (GetAsyncKeyState(81))
            {
             
            }
            g_Active = true;
        }
        Sleep(20);
    }
    return 0;
}

void main()
{
    DWORD idThread, dwThrdParam = 1;
    HANDLE h1;
    h1 = CreateThread(NULL, 0, proizv, &dwThrdParam, 0, &idThread);

    while (true)
    {
        if (g_Active == true)
        {
            cout << "1337" << endl;
            g_Active = false;
        }
        else
        {
            cout << "false ebalo" << endl;
        }
    }
}
Это не ответ на твой вопрос, потому что я его просто не понял, но дам тебе пару советов:
Используй НОРМАЛЬНЫЕ названия переменных
Не делай так: GetAsyncKeyState(..) == ...;
Делай так:
bool KeyIsPressed(int vkey) {
if (GetAsyncKeyState(vkey) != 0) return true;
return false;
}

Возможно у тебя не работает из за того, что ты юзаешь GetAsyncKeyState(81) == -32768
Числовое значение 81, не осознавая того что ты взял его из HEX таблицы виртуальных кодов, если да то добавь 0x перед 81
 

Musaigen

abobusnik
Проверенный
1,585
1,309
Подскажите, что нужно сделать с такой ошибкой?
Здравствуйте, друг, я вас очень прошу, покинуть текущее место лечения, и перейти в другое, ибо не помогает, по всей видимости.
 
  • Нравится
Реакции: imring и Dark_Knight

Funkastarz

Известный
10
1
Здравствуйте, друг, я вас очень прошу, покинуть текущее место лечения, и перейти в другое, ибо не помогает, по всей видимости.
От табуретки получишь больше советов, чем от тебя. Побольше запятых ставь, умник.
 
  • Нравится
Реакции: BlackKnigga

Dark_Knight

Me, me and me.
Друг
4,067
2,080
От табуретки получишь больше советов, чем от тебя. Побольше запятых ставь, умник.
Окей. Сколько надо не иметь ума, чтобы сурсы С++ вставить в скриптовый SCM компилятор под названием Sanny Builder?
 
  • Нравится
Реакции: imring