

partoftheworlD
Пользователи+-
Постов
2 687 -
Зарегистрирован
-
Посещение
-
Победитель дней
172
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент partoftheworlD
-
Зачем вообще преобразовывать? QWORD/DWORD64 это и есть 0х7FF71E258080 и var offset = new DWORD[] {0x488, 0x8, 0x58, 0x20, 0x30 }; На C++ с x64 приложениями ReadProcessMemory не хотел работать, пришлось использовать NtWow64QueryInformationProcess64, NtWow64ReadVirtualMemory64, чтобы получить процесс использовал IsWow64Process.
-
Парень станет миллионером, если начнет продавать это. Я как фанат hl купил бы
-
Вроде в CE такого функционала нет. Если нет отладочной информации (которая создается при компиляции), то функции не будут подписаны, кроме импортированных системных. Как вариант, используя CE можно выйти на функцию используя "карту строк"(вид->все строки), но очень маленький шанс что выйдешь на то, что надо.
-
Думаю ради одного вопроса не стоит создавать новую тему, в общем такой вопрос можно ли, использовать CE Speedhack точечно, то есть не весь процесс игры ускорять, а определенный участок кода или придется эмулировать участок кода? Допустим у меня вызов инструкции происходит раз в 10 секунд, а мне надо чтобы вызывался каждую секунду.
-
Да там просто искать, ищешь свое здоровье, инструкция здоровья работает со всеми npc,дальше едешь на остров где убежище, выбираешь инструкцию и смотришь с какими адресами работает эта инструкция, на острове будет 1-3 адреса включая твой вот и ищешь сколько адресов появилось в 4 байтах, дальше едешь через мост к бомжам кол-во адресов увеличивается, считаешь количество адресов и отсеиваешь и так ездишь туда обратно в итоге у тебя всего 2 останется после всех отсеиваний, максимум 64 адреса будет в проверке с какими адресами работает инструкция т.е. 64 npc , если будешь кого-то убивать значение увеличится до 70. Урок если делать, то он затянется минут 10 и я не знаю что там объяснять даже, думаю не интересно будет просто смотреть на отсеивание значений 10 минут) Если, что не понятно спрашивай.
-
Тоже пытался искать в итоге не смог найти, складывается ощущение что там фиксированная длинна крюка Был мод увеличивающий длину крюка, можно разобрать и посмотреть как он работает. Или сделать 1 дамп с модом и второй дамп без мода и сравнить их.
-
Поиск функции создания NPC
partoftheworlD опубликовал тема в Вопросы по созданию читов в одиночных играх
Возник такой вопрос, как можно выйти на функцию которая создаёт NPC? Пробовал искать неизвестное с отсеиванием изменилось/не изменилось переходя/оставаясь на локациях, но ничего не нашёл. Предположив, что функция вызывается 1 раз в тех местах где ещё не был, при перемещении по локации. Может есть какая-нибудь альтернатива Function Hacker для x64? К примеру в играх типа AC, GTA и других с открытым миром, где-то создаются прохожие чтобы мир не был пустым. -
Очень странный микрофон, сам настраивает усиление из-за чего появляется треск.
-
Ну что, первый видео урок. Буду ждать критику, коментарии и пожелания, чтобы следующие записи были лучше.
-
Да сбрасывал, из 6-7 попыток 1 раз инжектит. В настройках менял только размер буфера сканирования и установил VEH отладчик.
-
CE было бы достаточно, просто привычка которая генерирует класс найденных значений. Удобно если пишешь трейнер или ленивый, чтобы выписывать значения руками.
-
Только пробовал не могу присоединить VEH отладчик к 64 битному процессу, тоже вин10 х64. На 6.5 работает.
-
Нашел еще способ отключить отдачу и он очень не обычный.
-
У кого-нибудь VEH может инжектиться на 6.5.1?
-
Используемые плагины: REtypedef Берем любое автоматическое оружие и находим количество патронов. Ставим бряк на доступ, переходим в игру и стреляем. Нам нужна инструкция, отнимающая патроны, так мы выйдем на функцию выстрела. 7FFBCE59564A - FF 8F 98000000 - dec [rdi+00000098] << Дальше делаем дамп Disrupt_b64.dll, запускаем IDA и ждем пока завершится анализ. Переходим по адресу 7FFBCE59564A, мы находимся в функции, которая отнимает патроны, значит нам надо посмотреть откуда она вызывается. Поднимаемся к началу функции видим надпись CODE XREF: переходим по ней дважды кликнув. Теперь мы находимся в функции выстрела. Нажимаем F5, чтобы декомпилировать функцию в псевдокод. Видим, что переменная v1 очень часто используется, скорее всего это базовый адрес. Можно его реконструировать в структуру, для повышения читабельности псевдокода. Для того чтобы найти скорострельность, надо найти все условия, работающие с типом float, как их проверить? Лучше всего использовать ReClass. Где взять базовый адрес? использовать адрес регистра rdi в нем будет находится базовый адрес текущего оружия. Я нашел всего 2 условия которые бы нам подходили: if ( a3 <= *&WeaponBase->field_34 && *&WeaponBase->field_56 <= 0.0 ) if ( WeaponBase->field_152 && *&WeaponBase->field_904 > 0.0 ) После реконструкции типа базового адреса, автоматически дописывается смещение т.е Field_34 это 0x34 и т.д. Значит нам надо проверить 0x34, 0x56, 0x152 , 0x904. Единственное смещение, которое реагировало на выстрелы оказалось 0x34. Теперь добавляем в таблицу базовый адрес оружия + 0x34, ставим бряк на доступ выбираем F3 41 0F11 4C 24 34 - movss [r12+34],xmm1 << И пишем на нее скрипт. cmp [r12+98],#10 //фильтр свой-чужой jne code mov [r12+34],(float)99 //любое значение больше 5
- 2 ответа
-
- 2
-