VDV Опубликовано 23 мая, 2013 Поделиться Опубликовано 23 мая, 2013 не могу записать в массив байт , просьба найти ошибки или подсказать что не правильно в коде(исходный код из урока кодера)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.Все нормально компилируется , но при инжекте краш игры. Ссылка на комментарий Поделиться на другие сайты Поделиться
ICEBURG Опубликовано 23 мая, 2013 Поделиться Опубликовано 23 мая, 2013 http://forum.gamehacklab.ru/topic/1575-%d1%83%d0%bb%d1%83%d1%87%d1%88%d0%b0%d0%b5%d0%bc-%d0%bd%d0%b0%d1%88%d1%83-%d1%87%d0%b8%d1%82%d0%b5%d1%80%d1%81%d0%ba%d1%83%d1%8e-dll-%d0%bd%d0%b0-c/page__view__findpost__p__12214Тут посмотрите Ссылка на комментарий Поделиться на другие сайты Поделиться
VDV Опубликовано 23 мая, 2013 Автор Поделиться Опубликовано 23 мая, 2013 http://forum.gamehac...dpost__p__12214Тут посмотритене нашел ответа на свой вопрос - так как у меня запись не в конкретный адрес , а в массив байт Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 23 мая, 2013 Поделиться Опубликовано 23 мая, 2013 не нашел ответа на свой вопрос - так как у меня запись не в конкретный адрес , а в массив байтИ тут я выстрелил себе в голову...Потом воскрес и снова сделал это...Потом воскрес и решил просто закрыть ноутбук, чтобы не видеть того, что я только что прочитал.Автор, без обид, но я реально уже в шоке с тебя!!!Ты говорил что знаешь С++ хотя бы на базовом уровне? - Ты никогда ещё так в жизни не ошибался.Ты вообще не знаешь С++ и устройство памяти.Для начала вот что я тебе скажу:1) Идёшь и читаешь про адресацию памяти2) Учишь что такое типы данных, их многообразие. Расположение переменных в памяти.3) Учишься работать с массивами, перебирать их (попутно изучая циклы, и устройство указателей).4) Изучаешь функции, что это такое и что такое аргументы функции.5) Изучаешь WinAPI (хотя бы тех функций, которые необходимы).6) Изучаешь особенности dll и вообще для чего они используются.И после всех этих шагов, ты сможешь сделать то, что желаешь. Ссылка на комментарий Поделиться на другие сайты Поделиться
VDV Опубликовано 24 мая, 2013 Автор Поделиться Опубликовано 24 мая, 2013 И тут я выстрелил себе в голову...Потом воскрес и снова сделал это...Потом воскрес и решил просто закрыть ноутбук, чтобы не видеть того, что я только что прочитал.Автор, без обид, но я реально уже в шоке с тебя!!!Ты говорил что знаешь С++ хотя бы на базовом уровне? - Ты никогда ещё так в жизни не ошибался.Ты вообще не знаешь С++ и устройство памяти.Для начала вот что я тебе скажу:1) Идёшь и читаешь про адресацию памяти2) Учишь что такое типы данных, их многообразие. Расположение переменных в памяти.3) Учишься работать с массивами, перебирать их (попутно изучая циклы, и устройство указателей).4) Изучаешь функции, что это такое и что такое аргументы функции.5) Изучаешь WinAPI (хотя бы тех функций, которые необходимы).6) Изучаешь особенности dll и вообще для чего они используются.И после всех этих шагов, ты сможешь сделать то, что желаешь.Друг давай без нравоучений - просто скажи что в коде не верно , а я сам разбирусь что к чему.p.s. если ты хорошо знаешь программирование - это не значит что нужно всем незнающим говорить что они глупые и вообще не в ту степь лезут. Да , я не мастер в программировании , но код я брал ТВОЙ из ТВОЕГО урока и с ТВОИМИ объяснениями, также этот код я попросил проверить у "King Orgy" через "teem viewer" он не поленился и уделил немного времени , подправил кое-что и сказал что "вот в таком виде как сверху" верно - и проблема в хуке - я не смог переписать хук , так , чтобы не крашило и обратился на русскоязычный сайт,думал что тут помогут ...делаем вывод ....Хочешь для сравнения я тебе опишу похожую ситуацию?Это как если бы ты вышел со мной на спарринг(бокс) и простоял со мной 1 раунд и спросил бы "у меня нечего не получается , может у меня стойка не правильная или я не так бью?" и я тебе после этого сказал бы "иди ка ты домой и читай книжки о боксе и пока отжиматься не научишься 150 раз , а потом бегать 10 км без передышки , а после этого отстоять спарринг с перворазрядником , у тебя нечего получится в боксе , как все это научишся делать так и молодец будешь" Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 24 мая, 2013 Поделиться Опубликовано 24 мая, 2013 Друг давай без нравоучений - просто скажи что в коде не верно , а я сам разбирусь что к чему.p.s. если ты хорошо знаешь программирование - это не значит что нужно всем незнающим говорить что они глупые и вообще не в ту степь лезут. Да , я не мастер в программировании , но код я брал ТВОЙ из ТВОЕГО урока и с ТВОИМИ объяснениями, также этот код я попросил проверить у "King Orgy" через "teem viewer" он не поленился и уделил немного времени , подправил кое-что и сказал что "вот в таком виде как сверху" верно - и проблема в хуке - я не смог переписать хук , так , чтобы не крашило и обратился на русскоязычный сайт,думал что тут помогут ...делаем вывод ....Хочешь для сравнения я тебе опишу похожую ситуацию?Это как если бы ты вышел со мной на спарринг(бокс) и простоял со мной 1 раунд и спросил бы "у меня нечего не получается , может у меня стойка не правильная или я не так бью?" и я тебе после этого сказал бы "иди ка ты домой и читай книжки о боксе и пока отжиматься не научишься 150 раз , а потом бегать 10 км без передышки , а после этого отстоять спарринг с перворазрядником , у тебя нечего получится в боксе , как все это научишся делать так и молодец будешь"Начнём с того что я бы никогда не вышел ни с кем на ринг (и вообще я ненавижу бокс и прочее).Второе в коде твоём неверно всё в принципе.Ну и в третьем программирование, это тебе не кулаками махать.Поэтому читай мой прошлый пост и принимайся за дело, а не флуди в своей же теме.P.S. Мне начинает казаться, что ты хочешь просто готовые исходники.ТЕМА ЗАКРЫТА.СОЗДАНИЕ ЧИТОВ ДЛЯ МУЛЬТПЛЕЕРНЫХ ИГР ЗАПРЕЩЕНО ПРАВИЛАМИ НАШЕГО ФОРУМА. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения