Перейти к содержанию

запись в массив байт. с++ \vs 2012\dll hook


Рекомендуемые сообщения

не могу записать в массив байт , просьба найти ошибки или подсказать что не правильно в коде(исходный код из урока кодера)


DWORD WINAPI Game_thread (LPVOID);
DWORD APIENTRY DllMain (HMODULE hModule ,DWORD ul_reason_for_call , LPVOID lpReservid )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread (NULL,NULL,Game_thread,NULL,NULL,NULL);

case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return true;
}

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 WINAPI Game_thread (LPVOID)
{
DWORD old_protect = 0;
for(;;/*Sleep(75)*/)
{

DWORD Recoil = FindPattern (0xFFFFFF , NULL , (PBYTE)"\x72\x65\x63\x6F\x69\x6C\x20\x61" ,"xxxxxxxx");
VirtualProtect ((PBYTE)Recoil, 8 , PAGE_EXECUTE_READWRITE , &old_protect);
memcpy ((void*)Recoil ,PBYTE("\x71\x65\x63\x6F\x69\x6C\x20\x61"), 8 );
VirtualProtect ((PBYTE) Recoil, 8 , old_protect , &old_protect);
}
}

Смысл в том чтобы заменить массив байт \x72\x65\x63\x6F\x69\x6C\x20\x61 на \x71\x65\x63\x6F\x69\x6C\x20\x61.

Все нормально компилируется , но при инжекте краш игры.

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

не нашел ответа на свой вопрос - так как у меня запись не в конкретный адрес , а в массив байт

И тут я выстрелил себе в голову...

Потом воскрес и снова сделал это...

Потом воскрес и решил просто закрыть ноутбук, чтобы не видеть того, что я только что прочитал.

Автор, без обид, но я реально уже в шоке с тебя!!!

Ты говорил что знаешь С++ хотя бы на базовом уровне? - Ты никогда ещё так в жизни не ошибался.

Ты вообще не знаешь С++ и устройство памяти.

Для начала вот что я тебе скажу:

1) Идёшь и читаешь про адресацию памяти

2) Учишь что такое типы данных, их многообразие. Расположение переменных в памяти.

3) Учишься работать с массивами, перебирать их (попутно изучая циклы, и устройство указателей).

4) Изучаешь функции, что это такое и что такое аргументы функции.

5) Изучаешь WinAPI (хотя бы тех функций, которые необходимы).

6) Изучаешь особенности dll и вообще для чего они используются.

И после всех этих шагов, ты сможешь сделать то, что желаешь.

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

И тут я выстрелил себе в голову...

Потом воскрес и снова сделал это...

Потом воскрес и решил просто закрыть ноутбук, чтобы не видеть того, что я только что прочитал.

Автор, без обид, но я реально уже в шоке с тебя!!!

Ты говорил что знаешь С++ хотя бы на базовом уровне? - Ты никогда ещё так в жизни не ошибался.

Ты вообще не знаешь С++ и устройство памяти.

Для начала вот что я тебе скажу:

1) Идёшь и читаешь про адресацию памяти

2) Учишь что такое типы данных, их многообразие. Расположение переменных в памяти.

3) Учишься работать с массивами, перебирать их (попутно изучая циклы, и устройство указателей).

4) Изучаешь функции, что это такое и что такое аргументы функции.

5) Изучаешь WinAPI (хотя бы тех функций, которые необходимы).

6) Изучаешь особенности dll и вообще для чего они используются.

И после всех этих шагов, ты сможешь сделать то, что желаешь.

Друг давай без нравоучений - просто скажи что в коде не верно , а я сам разбирусь что к чему.

p.s. если ты хорошо знаешь программирование - это не значит что нужно всем незнающим говорить что они глупые и вообще не в ту степь лезут. Да , я не мастер в программировании , но код я брал ТВОЙ из ТВОЕГО урока и с ТВОИМИ объяснениями, также этот код я попросил проверить у "King Orgy" через "teem viewer" он не поленился и уделил немного времени , подправил кое-что и сказал что "вот в таком виде как сверху" верно - и проблема в хуке - я не смог переписать хук , так , чтобы не крашило и обратился на русскоязычный сайт,думал что тут помогут ...делаем вывод ....

Хочешь для сравнения я тебе опишу похожую ситуацию?

Это как если бы ты вышел со мной на спарринг(бокс) и простоял со мной 1 раунд и спросил бы "у меня нечего не получается , может у меня стойка не правильная или я не так бью?" и я тебе после этого сказал бы "иди ка ты домой и читай книжки о боксе и пока отжиматься не научишься 150 раз , а потом бегать 10 км без передышки , а после этого отстоять спарринг с перворазрядником , у тебя нечего получится в боксе , как все это научишся делать так и молодец будешь"

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

Друг давай без нравоучений - просто скажи что в коде не верно , а я сам разбирусь что к чему.

p.s. если ты хорошо знаешь программирование - это не значит что нужно всем незнающим говорить что они глупые и вообще не в ту степь лезут. Да , я не мастер в программировании , но код я брал ТВОЙ из ТВОЕГО урока и с ТВОИМИ объяснениями, также этот код я попросил проверить у "King Orgy" через "teem viewer" он не поленился и уделил немного времени , подправил кое-что и сказал что "вот в таком виде как сверху" верно - и проблема в хуке - я не смог переписать хук , так , чтобы не крашило и обратился на русскоязычный сайт,думал что тут помогут ...делаем вывод ....

Хочешь для сравнения я тебе опишу похожую ситуацию?

Это как если бы ты вышел со мной на спарринг(бокс) и простоял со мной 1 раунд и спросил бы "у меня нечего не получается , может у меня стойка не правильная или я не так бью?" и я тебе после этого сказал бы "иди ка ты домой и читай книжки о боксе и пока отжиматься не научишься 150 раз , а потом бегать 10 км без передышки , а после этого отстоять спарринг с перворазрядником , у тебя нечего получится в боксе , как все это научишся делать так и молодец будешь"

Начнём с того что я бы никогда не вышел ни с кем на ринг (и вообще я ненавижу бокс и прочее).

Второе в коде твоём неверно всё в принципе.

Ну и в третьем программирование, это тебе не кулаками махать.

Поэтому читай мой прошлый пост и принимайся за дело, а не флуди в своей же теме.

P.S. Мне начинает казаться, что ты хочешь просто готовые исходники.

ТЕМА ЗАКРЫТА.

СОЗДАНИЕ ЧИТОВ ДЛЯ МУЛЬТПЛЕЕРНЫХ ИГР ЗАПРЕЩЕНО ПРАВИЛАМИ НАШЕГО ФОРУМА.

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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.