-
Постов
44 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные gamehikker
-
-
21 час назад, partoftheworlD сказал:
1 обновление и все они отвалятся.
В моём случае это только плюс . Но я думаю , что всё будет норм и так
-
3 часа назад, partoftheworlD сказал:
Указатели ненадежные
их 23000 , игру и пк перезапускал несколько раз . Указатели остаются рабочими .Но нужно проверить на другом компьютере , чтобы быть на 100% уверенным
-
Нашёл пятиуровневые указатели (очень много) сканер не нужен теперь .Думаю , это успех
-
6 часов назад, rtm сказал:
PAGE_EXECUTE проверять.
Да , пожалуй , это верно подмечено
-
Ну мне нужен адрес инструкции . Адрес у неё динамический и после перезапуска игры , адрес поменяется и инструкцию придётся искать снова .
Может быть как-то с помощью трассировки можно ? -
6 минут назад, partoftheworlD сказал:
Это странно, 5 гб в оперативе battlefield 1 ищет меньше 1 секунды.
От компа зависит
-
А можно как-то найти нужный адрес без сканера ? Я нашёл сигнатуру в игре на движке unity .Эта сигнатура связана с самим движком . Как можно было бы её находить без сканера ?
Т.к. сканер ищет довольно таки долго , если по памяти всего процесса (там гигабайт точно ) -
19 часов назад, Xipho сказал:
Вы хотите сказать , что не о чём волноваться ? Всё нормально работает ? Код сканера менять не нужно ?
-
Мде...Придётся фиксить \\
-
10 минут назад, partoftheworlD сказал:
2 сигнатуры выходит?
Да . Но ведь такое может быть , если я нашёл одну сигнатуру , но её части в разных страницах памяти . Это недоработка получается и все используют это код . Эх...
@gamehikker прочтите -> жмяк
-
Ребята , недавно задался вопросом (возможно глупым) .Все знают функцию findpattern ? Но многие точно пользовались и знают , зачем она нужна .
У меня вопрос , что если одна часть сигнатуры находится в одной странице памяти , а другая часть в другой ? Найдёт ли функция сигнатуру в таком случае ?
код:
Скрытый текстDWORD FindSignature(HANDLE m_hProc,DWORD base, DWORD size, BYTE* sign, char* mask) { LoadNTFunction(); MEMORY_BASIC_INFORMATION mbi = { 0 }; DWORD offset = 0; while ((offset < size)) { VirtualQueryEx(m_hProc, (LPCVOID)(base + offset), &mbi, sizeof(MEMORY_BASIC_INFORMATION)); if (mbi.State != MEM_FREE) { BYTE* buffer = new BYTE[mbi.RegionSize]; ReadProcessMemory(m_hProc, mbi.BaseAddress, buffer, mbi.RegionSize, NULL); for (size_t i = 0; i < mbi.RegionSize; i++) { if (DataCompare(buffer + i, sign, mask)) { delete[] buffer; return (DWORD)mbi.BaseAddress + i; } } delete[] buffer; } offset += mbi.RegionSize; } return 0; } bool DataCompare(BYTE* data, BYTE* sign, char* mask) { for (; *mask; mask++, sign++, data++) { if (*mask == 'x' && *data != *sign) return false; } return true; }
-
Только что, uhx сказал:
Получаешь текущее значение эдита -> добавляешь к нему свою строку как тебе угодно -> записываешь через WM_SETTEXT
Такая идея была с самого начала .Но мне понравился вариант
temtriss
-
10 минут назад, temtriss сказал:
strLen = SendMessageA(hMemo, WM_GETTEXTLENGTH, 0, 0);
SendMessageA(hEdit, EM_SETSEL, (WPARAM)strLen, (LPARAM)strLen);
SendMessageA(hEdit, EM_REPLACESEL, (WPARAM)FALSE, (LPARAM)str);
Ща попробую.
UPD
всё норм -
7 минут назад, ReWanet сказал:
А вот это не пробовал:
EM_SETSEL
EM_REPLACESELEM_REPLACESEL пишет в самое начало . То есть не в конце всего текста , а до него.
EM_SETSEL вообще не пишет -
44 минуты назад, temtriss сказал:
WM_SETTEXT
Оно удаляет весь остальной текст . Мультилайн-мультилайн)
-
Как добавить строку в edit ?
SendMessage(hcom, LB_ADDSTRING, 0, (LPARAM)(buffer));
Так я добавлял строку в listbox , но с edit такое не катит (
Нужно добавлять новую строку , не стирая старых -
В 03.10.2017 в 17:19, partoftheworlD сказал:
Если составлена уникальная сигнатура, то в памяти ни как не может быть ещё одна такая же. И не обязательно делать сигнатуру на ту инструкцию которая тебе нужна.
Так тут мне советуют делать сигнатуру из своего девайса, чтобы найти девайс , который использует сама игра .Да и вообще возможно создание vmt hook'а без сигнатуры ?
-
21 час назад, elvis66666 сказал:
Что именно тебя смущает в сигнатуре
То , что это сигнатура . В памяти может быть ещё одна такая же .
-
20 минут назад, Dino сказал:
1)создаешь девайс
Да с сигнатурой извиняюсь , и ежу понятно , как сделать .А без сигнатуры как-то можно найти?
-
6 часов назад, 2zolo2 сказал:
gamehikker, так глаза разуй, там даже код есть, вот.
Это адрес своего созданного девайса .А мне нужен адрес игрового девайса
-
2 часа назад, partoftheworlD сказал:
Попробовав воспользоваться поиском.
Мне программно нужно адрес девайса найти . Чтобы в нём подменить адрес нужной функции .
-
Как найти адрес оригинального Direct3DDevice ?
-
Ухъ .Печаль короче ...
-
Как найти адрес игрового девайса ?
Функция findpattern c++
in Низкоуровневое программирование
Опубликовано
Ну не XD , хотя было бы забавно .