

partoftheworlD
Пользователи+-
Постов
2 687 -
Зарегистрирован
-
Посещение
-
Победитель дней
172
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент partoftheworlD
-
А зачем использовать # при заполнении? У нас же значение в любом случае не изменится. Вроде бы так: pushad push 113 //F2 call GetAsyncKeyState //if(GetAsyncKeyState(113) & 1); test al, 1 jz return push 0 //dwExtraInfo push 0 // dwFlags push 0 // bScan push #36 // bVK call keybd_event //keybd_event(36,0,0,0); push 0 push 2 //KEYEVENTF_KEYUP push 0 push #36 // Home call keybd_event //keybd_event(36,0,2,0); popad
-
Можно конечно извращения попробовать, например в Process Hacker или Process Monitor можно выбрать нужный процесс и сменить его имя. Или просто CE не видит универсальных приложений(если не ошибаюсь в маркете они и используются)
-
-
Dishonored Просмотреть файл Из функций только: ХП Мана Быстрая перезарядка телепорта Увеличенный радиус работы телепорта Elevator Up/Down - это плавный телепорт по координате. Темное зрение на всю карту с бесконечным временем. Автор partoftheworlD Добавлен 01.02.2016 Категория Трейнеры для PC игр
- 2 ответа
-
- 1
-
-
Есть проще способ. Любой текстовый редактор -> заменить " " на " 0x" или на "\x". Все равно молодец, что старался и делал, еще бы было удобно,чтобы байты допустим без пробелов разделялись на байты с пробелами и дальше уже работала как твоя текущая версия, и возможность конвертации сигнатуры в сигнатуру с маской, без маски и обратно, было бы реально удобней, чем запускать Sigmaker. Я бы стал пользоваться. Из багов нашел только добавление точки в конце каждого байта и программа виснет если добавить большую строку в "Свой вариант".
-
В цикл ничего лишнего не попадет. Циклом до 64 ты не добьешься ничего, его нашел не то, что надо. Если ты не задаешь вопросы откуда я могу знать что тебе не понятно? Мои экстрасенсорные способности не на столько развиты . 0x10 это смещение для нахождения структуры первого игрока. a * 0x10 получаешь смещение на структуру игрока a. Т.е. 0 * 0x10 это первый игрок - ты. 1 * 0x10 это следующий игрок и т.д. И получается у тебя RPM(Client.dll + EntityBaseOffset + 1 * 0x10) это базовый адрес 2-го игрока и т.д..
-
Зачем все так усложнять? Не знаю на чем ты пишешь, но если хочешь получить структуру каждого игрока используй цикл до 64(т.к максимальное кол-во игроков 64) ReadProcessMemory c адресом (Сlient.dll + найденый офсет + переменная цикла * 0x10);Искать смещение это слишком геморно, ты же не гуманитарий(не в обиду гуманитарию конечно). Бери и автоматизируй! Т.е. ты в цикле уже получишь все базовые адреса всех игроков на сервере.
-
szExePath возвращает путь модуля, если не изменяет память, а не адрес.Лучше раздели на 2 функции. А то, пока читал твой код запутался. Вот готовый рабочий код, переделаешь под себя если надо. MSDN void Process(char *Processname){ HANDLE hPID = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); PROCESSENTRY32 ProcEntry; ProcEntry.dwSize = sizeof(ProcEntry); do if (!strcmp(ProcEntry.szExeFile, Processname)) { PID = ProcEntry.th32ProcessID; CloseHandle(hPID); hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID); return; } while (Process32Next(hPID, &ProcEntry)); system("pause"); exit(0);} DWORD GetModule(char* ModuleName){ HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PID); MODULEENTRY32 mEntry; mEntry.dwSize = sizeof(mEntry); do if (!strcmp(mEntry.szModule, ModuleName)) { CloseHandle(hModule); return (DWORD)mEntry.modBaseAddr; } while (Module32Next(hModule, &mEntry)); return 0;}
-
Записал бы как искать, но нету программы для записи, так что вот.Нашел адрес хп правильность писал выше как проверить, включаешь поинтер сканер Max Lvl ставишь 1, получится у тебя 4 адреса с одинаковым офсетом и один левый(он всегда первый). Первые 2 адреса это LocalBase и EntityBase. Структура других игроков находится по адресу EntityBase со смещением 0x10
-
Вот тут ты не прав. Большинство читов делают с ботами т.к. это проще, чем с игроками которые будут отвлекать. Разницы нет никакой, базовые адреса не меняются от того что ты играешь с ботами или в онлайне структура одна и та же. Почти все что находится в client.dll используется только для проверок и менять ничего не надо.Если подключишься к серверу и начнешь ддосить(ддос вроде как отказ сетевого оборудования из-за многочисленных запросов, если ничего не путаю) его, тебя выкинет и ничего не даст и это что-то новенькое .
-
Используй номер команды для проверки и вообще не стоит делать триггер по прицелу, лучше по Fov делай. RPM(Handle,(LPVOID)Client.dll + dwEntityOffset + i * 0x10) //получишь базовый адрес структуры каждого игрока в циклеfor(int i = 0; i < 64; ++i){if(entity.team[i] != localbase.team) //стрелять будет только по врагам{}}
-
Xipho уже ответил,но повторюсь. В server.dll ты найдешь значение здоровья и структуру игрока, но я как понимаю ты не намерен делать чит для игры с ботами. Вот по этому и пишу про client.dll Задавай вопросы по поинт сканеру что не понятно, дам совет конечно). Да тут нечего теряться. Представь, что сервер это человек стоящий перед зеркалом, а отражение клиент. Вроде тоже самое, но изменить ничего не можешь в зеркале. Значения клиента в читах обычно используют только для проверки(хп, номера команды и прочего).
-
1.Вот по этому и не правильный адрес раз он меняется, он будет работать только на сервере. Хочешь найти верный адрес используй Ctrl+B в CE, по близости должен быть номер команды т.е 2 или 3 в зависимости от Т или Кт стороны. Красным ХП, Зеленым номер команды. 2.Т.е адрес начала структуры игрока будет выглядеть client.dll + 0xXXXXXX. Без поинт сканера навряд ли найдешь т.к все равно придется искать статический адрес поинт сканером, либо делать сигнатуру.
-
Вот вопрос возник, есть ли "библиотека" с книгами по геймхакингу и прочей информации на сайте/форуме или тут только статьи? И вот кстати, наши китайские друзья, написали книгу по обратной разработке приложение для iOS, для взлома игр я думаю это пригодится. Раз уже начали на форуме темы поднимать о мультиплеерных играх, возможно стоит расширяться и в сторону мобильного геймхакинга.