pachela

Cheat Engine. Поиск указателей без бейкпоинтов

30 сообщений в этой теме

23 минуты назад, pachela сказал:

Что это за секция?  "xxxxxxxxxxxx????xxxx"

Маска сигнатуры. x - значит байт который не изменяется, ? - который может поменяться.

23 минуты назад, pachela сказал:

Далее, что это за опкод char OpCode[] = "\xDB\x45"? Зачем он нужен?

Это ты нашел исходники для MidHookFunction который меняет инструкции типа как AA скрипт в CE. Подгружаешь длл она делает хук, который прыгает в твою длл меняет инструкцию и обратно в игру прыжок. 

23 минуты назад, pachela сказал:

WriteToMemory(aAddy, OpCode, 4); что значит цифра 4?

4 количество байт подменяемой инструкции.

WriteToMemory это трамплин.

 

23 минуты назад, pachela сказал:

что отступ от найденной сигнатуры aAddy += 5

Отступ найденной инструкции, до той которую надо изменять.

 

Пример использования, когда-то баловался с L4D2 в этими хуками.

Скрытый текст

__declspec(naked) void RegAmmo()
{
	__asm 
	{

	mov AmmoRegister , esi
    mov [esi + 0x1414],eax
	jmp [AmmoJMPBack]

	}

}

void MIDHook()
{
DWORD ammo = FindPattern("server.dll", "\x89\xBE\x00\x00\x00\x00\x8B\x06\x8B\x90\x00\x00\x00\x00\x8B\xBE\x00\x00\x00\x00" ,"xx????xxxx????xx????");
ammo += 11;
AmmoJMPBack = ammo + 0x6; // количество байт заменяемых инструкций
PlaceJMP((BYTE*)ammo, (DWORD)RegAmmo, 0x6);
}

DWORD WINAPI ChangeVal()
{
	for (;;Sleep(150))
	{
		if (GetAsyncKeyState(VK_MENU))
		{
			DWORD idkptr = AmmoRegister + 0x1414;
			*(int*)idkptr += 1;
		}
	}
	return 0;
}

BOOL WINAPI DllMain(
	HINSTANCE hInstDll,
	DWORD dwReason,
	LPVOID lpReserved)
{
	switch (dwReason)
	{
	case DLL_PROCESS_ATTACH:
	MIDHook();
	CreateThread(0,0,(LPTHREAD_START_ROUTINE)ChangeVal,0,0,0);
	break;
	}
	return true;
}

 

 

Изменено пользователем partoftheworlD
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ТС, пожалуйста, не надо использовать готовый код, ничего в нем не понимая и пытаясь что-то поменять. Найди на форуме пару видеоуроков (от меня или от Coder-а) по созданию такого сканера - там хотя бы объясняется, как он работает. Более того, код, который ты привел - это не C++, но тут я уже скорее придираюсь.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, keng сказал:

ТС, пожалуйста, не надо использовать готовый код, ничего в нем не понимая и пытаясь что-то поменять. Найди на форуме пару видеоуроков (от меня или от Coder-а) по созданию такого сканера - там хотя бы объясняется, как он работает. Более того, код, который ты привел - это не C++, но тут я уже скорее придираюсь.

Уроки то я посмотреть посмотрю, некоторые уже видел. Понимать, я от части понимаю, но не все. А по поводу того, что это не С++, почему придираешься? Найден код на буржуйском сайте в разделе С++ исходников. Да и язык похож на тот, который я сейчас учу, возможно это С, но не ++?

П.с. Времени в обрез, если не сложно, можно ссылку на видеоуроки именно по этой теме?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
58 minutes ago, pachela said:

Уроки то я посмотреть посмотрю, некоторые уже видел. Понимать, я от части понимаю, но не все. А по поводу того, что это не С++, почему придираешься? Найден код на буржуйском сайте в разделе С++ исходников. Да и язык похож на тот, который я сейчас учу, возможно это С, но не ++?

П.с. Времени в обрез, если не сложно, можно ссылку на видеоуроки именно по этой теме?

[Держи]. Там C#, но язык особой роли не играет. По поводу предоставленного тобой исходника - все верно, это куда скорее чистый Си. А вопросы не нужно бояться задавать. Мы тут на форуме не поболтать собираемся - поболтать можно и с коллегами, на работе.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, keng сказал:

ТС, пожалуйста, не надо использовать готовый код, ничего в нем не понимая и пытаясь что-то поменять. Найди на форуме пару видеоуроков (от меня или от Coder-а) по созданию такого сканера - там хотя бы объясняется, как он работает. Более того, код, который ты привел - это не C++, но тут я уже скорее придираюсь.

Чой этт? У меня тоже такой урок есть ))))

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас