Как Вставить Мемхак В Свой Вх? - Вопросы и ответы, обсуждения - Ваши вопросы по C/C++ только в данном разделе
01.04.2013, 03:44
#1
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Как Вставить Мемхак В Свой Вх?
У меня есть D3D ВХ. Мне надо вставить туда команды работы с памятью.
1. Определил переменные;
2. Функции поиска адреса - типа DWORD ADDRES;
3. Функции замена адреса:
if(antirandom)
{
MEMwrite((void*)(ADDRES_randomize),(int*)(PBYTE)"\ x\x\x\x\x",5);
}
else
{
MEMwrite((void*)(ADDRES_randomize),(int*)(PBYTE)"\ x\x\x\x\x",5);//исходное значение
}
Вот с 3 пунктом загвоздка - не знаю куда его вставить.
Если в DrawIndexedPrimitive, то пишет MEMwrite: идентификатор не найден.
Пробовал вставлять под это - void MEMwrite(void *adr,void *ptr,int size) - пишет синтактическая ошибка.
Помогите пожалуйста.
01.04.2013, 16:34
#2
Пехотинец
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
Использование такое....
MEMwrite((void *)(
12345678 ),(void *)"\x
00 ",
1 ); изменяет байт по адресу 12345678 на 00
-Красное = адрес
-Зелёное = байт на который изменить
-Синее = количество байт для изменения
Цитата:
Сообщение от ГоГоГоГоГоГоГо
Вот с 3 пунктом загвоздка - не знаю куда его вставить.
Если в DrawIndexedPrimitive, то пишет MEMwrite: идентификатор не найден.
Пробовал вставлять под это - void MEMwrite(void *adr,void *ptr,int size) - пишет синтактическая ошибка.
создай тогда файлик заготовки (.h)
там функции напиши и за инклюдь в основной файл проэкта...
ps MEMwrite: идентификатор не найден указывает на то что из этого место вызова функции она не видна....
01.04.2013, 22:01
#3
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Как Вставить Мемхак В Свой Вх?
Спасибо, все скомпилировалось.
Создал дополнительный файл проекта MemHack.h в нем прописал:
Код:
int antirandom = false;// Переменные memhacka
int antiotd = false;// Переменные memhacka
HMODULE Game_exe = GetModuleHandle("Game.exe");// Модуль memhacka
// Поиск адреса получения значения отдачи и разброса
DWORD ADDRES_randomize = FindPattern ((DWORD)Game_exe ,0xххххххх,(PBYTE)"\x8B\x\x\x\x\x\x\x\x\x\x\x\x24" ,"xxxxxxxxxxxxx")+0x; адреса убрал.
DWORD ADDRES_antiotd= FindPattern ((DWORD)Game_exe ,0xххххххх,(PBYTE)"\x\x\x\x\x\x\x\x\x\x\x\x\x","xx xxxxxxxxxxx")+0x+0x;
void MEMwrite(void *adr,void *ptr,int size)
{
DWORD OldProtection;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,OldProtection, &OldProtection);
}
но игру крашит при запуске, может еще что-то подскажите.
Последний раз редактировалось ГоГоГоГоГоГоГо; 01.04.2013 в 22:12 .
02.04.2013, 14:49
#4
Пехотинец
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
Да пожалуй подскажу...
у вас раньше чит с использованием поиска сигнатур(FindPattern)
работал?
Просто у меня читы с этими функциями крашат в некоторых играх...
02.04.2013, 15:54
#5
Старший сержант
Регистрация: 19.08.2008
Сообщений: 205
Популярность: 2562
Золото Zhyk.Ru: 5
Сказал(а) спасибо: 36
Поблагодарили 268 раз(а) в 122 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
Warface не?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
02.04.2013, 21:32
#6
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Как Вставить Мемхак В Свой Вх?
Да.
Цитата:
Да пожалуй подскажу...
у вас раньше чит с использованием поиска сигнатур(FindPattern)
работал?
Просто у меня читы с этими функциями крашат в некоторых играх...
Я читы с FindPattern еще не использовал. Так, что не знаю.
Сделал немного по другому:
PHP код:
DWORD WINAPI Room_Hacks ( LPVOID param ) { HMODULE Game_exe = GetModuleHandle ( "Game.exe" ); // Модуль memhacka // Поиск адреса получения значения отдачи и разброса DWORD ADDRES_antirandom = FindPattern (( DWORD ) Game_exe , 0xxxxxxxx ,( PBYTE ) "\x\x\x\x\x\x\x\x\x\x\x\x\x" , "xxxxxxxxxxxxx" )+ x ; DWORD ADDRES_antiotd = FindPattern (( DWORD ) Game_exe , 0xxxxxxxx ,( PBYTE ) "\x\x\x\x\x\x\x\x\x\x\x\x\x" , "xxxxxxxxxxxxx" )+ x ; if( bantirandom ) { MEMwrite (( void *)( ADDRES_antirandom ),( int *)( PBYTE ) "\x90\x90\x90\x90\x90" , 5 ); //nop } else { MEMwrite (( void *)( ADDRES_antirandom ),( int *)( PBYTE ) "\x\x\x\x\x" , 5 ); //исходное значение } } return true ; }
Вызов функции DWORD WINAPI Room_Hacks(LPVOID param) поставил в
bool WINAPI DllMain(HMODULE hDll, DWORD dwReason, PVOID pvReserved)
сам вызов:
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE) Room_Hacks, 0, 0, 0);
Все равно крашит. Если без вызова - то все загружается, но эти функции не работают.
Может точку входа неправильно делаю?
Подскажите пожалуйста, уже и адреса нашел, и функции вычисления, а все не работает, можно в личку. Ничего не сливаю, со своим читом скоро как год играю, потому что знаю - что в инете то пофиксят.
Последний раз редактировалось ГоГоГоГоГоГоГо; 02.04.2013 в 21:46 .
02.04.2013, 23:47
#7
Пехотинец
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
03.04.2013, 03:26
#8
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Как Вставить Мемхак В Свой Вх?
03.04.2013, 09:40
#9
Пехотинец
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
Последний раз редактировалось twice; 03.04.2013 в 18:16 .
03.04.2013, 20:37
#10
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Как Вставить Мемхак В Свой Вх?
Цитата:
институт тут причем?
Поясни как у тебя происходит взаимодействие модуля с представленным кодом и непосредственно game.exe.
Опять ничего не понял. Есть Рабочее ВХ, дальше пишу все что добавил для мемхака (переменные для вызова функции не буду приводить):
В основной файл d3d9.cpp вставил в начало:
PHP код:
void MEMwrite ( void * adr , void * ptr , int size )
{
DWORD OldProtection ;
VirtualProtect ( adr , size , PAGE_EXECUTE_READWRITE , & OldProtection );
memcpy ( adr , ptr , size );
VirtualProtect ( adr , size , OldProtection , & OldProtection );
}
Потом после DrawIndexedPrimitive:
PHP код:
DWORD WINAPI Room_Hacks ( LPVOID param )
{
HMODULE Game_exe = GetModuleHandle ( "Game.exe" ); // Модуль memhacka
// Поиск адреса получения значения отдачи и разброса
DWORD ADDRES_antirandom = FindPattern (( DWORD ) Game_exe , 0xxxxxxxx ,( PBYTE ) "\x\x\x\x\x\x\x\x\x\x\x\x\x" , "xxxxxxxxxxxxx" )+ x ;
DWORD ADDRES_antiotd = FindPattern (( DWORD ) Game_exe , 0xxxxxxxx ,( PBYTE ) "\x\x\x\x\x\x\x\x\x\x\x\x\x" , "xxxxxxxxxxxxx" )+ x ;
if( bantirandom )
{
MEMwrite (( void *)( ADDRES_antirandom ),( int *)( PBYTE ) "\x90\x90\x90\x90\x90" , 5 ); //nop
}
else
{
MEMwrite (( void *)( ADDRES_antirandom ),( int *)( PBYTE ) "\x\x\x\x\x" , 5 ); //исходное значение
}
}
return true ;
}
В файл main.cpp в начало для объявления идентификатора Room_Hacks :
PHP код:
DWORD WINAPI Room_Hacks ( LPVOID param );
В bool WINAPI DllMain(HMODULE hDll, DWORD dwReason, PVOID pvReserved):
PHP код:
bool WINAPI DllMain ( HMODULE hDll , DWORD dwReason , PVOID pvReserved )
{
if( dwReason == DLL_PROCESS_ATTACH )
{
DisableThreadLibraryCalls ( hDll );
GetModuleFileName ( hDll , dlldir , 512 );
for( int i = strlen ( dlldir ); i > 0 ; i --) { if( dlldir [ i ] == '\\' ) { dlldir [ i + 1 ] = 0 ; break; } }
ofile . open ( GetDirectoryFile ( "log.txt" ), ios :: app );
add_log ( "\ОК" );
HMODULE hMod = LoadLibrary ( "d3d9.dll" );
oDirect3DCreate9 = ( tDirect3DCreate9 ) DetourFunc (
( BYTE *) GetProcAddress ( hMod , "Direct3DCreate9" ),
( BYTE *) hkDirect3DCreate9 ,
5 );
CreateThread ( NULL , NULL ,( LPTHREAD_START_ROUTINE ) Room_Hacks , 0 , 0 , 0 ); // - ЭТО ВСТАВИЛ
return true ;
}
else if( dwReason == DLL_PROCESS_DETACH )
{
add_log ( "НЕТ" );
if( ofile ) { ofile . close (); }
}
return false ;
}
ВСЕ.
Добавлено через 3 часа 57 минут
Опытным путем выяснил, что крашит вот на этих строчках (без них все работает):
Цитата:
// Поиск адреса получения значения отдачи и разброса
DWORD ADDRES_antirandom = FindPattern ((DWORD)Game_exe ,0xxxxxxxx,(PBYTE)"\x\x\x\x\x\x\x\x\x\x\x\x\x","xx xxxxxxxxxxx")+x;
DWORD ADDRES_antiotd= FindPattern ((DWORD)Game_exe ,0xxxxxxxx,(PBYTE)"\x\x\x\x\x\x\x\x\x\x\x\x\x","xx xxxxxxxxxxx")+x;
Подскажите, можно поиск адреса написать другими командами?
Или как то по другому.
Последний раз редактировалось ГоГоГоГоГоГоГо; 04.04.2013 в 00:34 .
Причина: Добавлено сообщение
04.04.2013, 09:16
#11
Пехотинец
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
Паттерный скан - вещь нормальная и рабочая, раз у тебя падает - значит или в функции проблемы, или ты туда не те значения передаешь.
Покажи саму функцию и что конкретно ты туда передаешь.
Последний раз редактировалось twice; 04.04.2013 в 09:18 .
15.04.2013, 20:09
#12
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
Не мучай себя и нас.
Код:
Создаеш к примеру adress.h, пишеш в нем это.
Подключаеш к нему к примеру hack_helper.h,
тот в котором есть твои опредиления.
DWORD Recoil = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x75\x03\xFF\x48\x04\x8B\x4E\x0C\x8B\x49\x04\x8B\x11\x8B\x42\x10\x68\x80\x00\x00\x00\xFF\xD0\x8B\x4E","xxxxxxxxxxxxxxxxxxxxxxxxx")+0x17;
DWORD Call1 = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x51\x56\x8B\xF1\x57\x8D\x7E\x58\x68\x00\x00\x50","xxxxxxxxx??x");
DWORD Call2 = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x55\x8B\xEC\x83\xE4\xF0\x83\xEC\x14\x53\x56\x57\x8B\xF1\x8D\x4E","xxxxxxxxxxxxxxxx");
__declspec(naked)void recoil_func()
{
if(Fun.antirandom)//Функция в меню
{
_asm
{
mov ecx, [esi+24h]
nop
mov ecx, [esi+24h]
nop
pop edi
pop esi
pop ebp
pop ebx
add esp, 0D0h
retn
}
}
else
{
_asm
{
mov ecx, [esi+24h]
call [Call1]
mov ecx, [esi+24h]
call [Call2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0D0h
retn
}
}
}
В Эндсцене:
DetourCreate((PBYTE)Recoil,(PBYTE)recoil_func ,5);
15.04.2013, 21:19
#13
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Как Вставить Мемхак В Свой Вх?
Это я на "D3D" видел но куда что "совать" не мог разобраться. Ща попробуем.
------------------------------------------------------------------------------
Аааааааааааааааааааааааааааааааааааааааааааааа....
Я конечно понимаю, что дареному коню в зубы не смотрят, но.......
Можно хоть раз поподробнее написать - что куда и вместо чего:
это оставлять:
//DWORD ADDRES_antirandom = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x8B\x42\x10\x68\x80\x00\x00\x0 0\xFF\xD0\x8B\x4E\x24","xxxxxxxxxxxxx")+0xD;// MemHack
//DWORD ADDRES_antiotd = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x8B\x42\x10\x68\x80\x00\x00\x0 0\xFF\xD0\x8B\x4E\x24","xxxxxxxxxxxxx")+0xD+0x8;// MemHack
//DWORD ADDRES_antiotd = FindPattern((DWORD)Game_exe,0x2A715B2,(PBYTE)"\x76 \x0A\x8B\x19\x33\xDF","xxxxxx");// MemHack
или теперь вот это заместо того:
DWORD Recoil = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x75\x03\xFF\x48\x04\x8B\x4E\x0 C\x8B\x49\x04\x8B\x11\x8B\x42\x10\x68\x80\x00\x00\ x00\xFF\xD0\x8B\x4E","xxxxxxxxxxxxxxxxxxxxxxxxx")+ 0x17;
DWORD Call1 = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x51\x56\x8B\xF1\x57\x8D\x7E\x5 8\x68\x00\x00\x50","xxxxxxxxx??x");
DWORD Call2 = FindPattern ((DWORD)Game_exe ,0x2A715B2,(PBYTE)"\x55\x8B\xEC\x83\xE4\xF0\x83\xE C\x14\x53\x56\x57\x8B\xF1\x8D\x4E","xxxxxxxxxxxxxx xx");
DetourCreate: идентификатор не найден - как его определить?
Ну нет у меня образования по программированию.
Хоть я и готов на себе волосы рвать , но все равно Большое спасибо.
По крупицам может что-то соберу рабочее.
ВХ ведь как-то собрал.
Последний раз редактировалось ГоГоГоГоГоГоГо; 15.04.2013 в 22:12 .
16.04.2013, 00:52
#14
Пехотинец
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
Re: Как Вставить Мемхак В Свой Вх?
16.04.2013, 03:19
#15
Разведчик
Регистрация: 05.09.2012
Сообщений: 18
Популярность: -329
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Как Вставить Мемхак В Свой Вх?
Цитата:
"Спасибо" все очень "понятно".
Когда ты приедешь к автоэлектрику я очень хочу чтоб он тебя сюда послал [
Ссылки могут видеть только зарегистрированные пользователи. ]
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Похожие темы
Тема
Автор
Раздел
Ответов
Последнее сообщение
[Помогите!] C++ Мемхак
FuckYeA97
Вопросы и ответы, обсуждения
0
27.06.2012 09:15
[Помогите!] Мемхак
FuckYeA97
Общение разработчиков
7
28.05.2012 15:40
Как вставить в ник ™??
zerstoren94
Общение и обсуждение, архив Point Blank
9
09.01.2012 13:04
[Помогите!] Как в пб вставить значек ™?
jirobo
Общение и обсуждение, архив Point Blank
5
16.12.2011 13:04
[Помогите!] Как вставить код?
propank(2)
Общение и обсуждение
4
01.12.2011 18:54
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 11:08 .