Leaderboard


Popular Content

Showing content with the highest reputation since 27.06.2017 in all areas

  1. 7 points
    Отладчик - глаза любого хакера/геймхакера. Отладчики позволяют вам выполнять трассировку (отслеживание) выполнения процесса, или проводить динамический анализ. Возможность выполнения динамического анализа абсолютно необходима. Это очень важно, чтобы вы понимали, что такое отладчик, и принцип его работы. Большинство из них предоставляют возможность запускать, останавливать, или выполнять пошагово процесс, устанавливать точки останова, манипулировать регистрами и памятью, и отлавливать случающиеся исключения в исследуемом процессе. Регистр - это небольшой объем памяти находящийся прямо на центральном процессоре, и доступ к нему - быстрейший метод для процессора, чтобы получить данные. В наборе инструкций архитектуры x86 используются восемь регистров общего назначения: EAX, EDX, ECX, ESI, EDI, EBP, ESP и EBX. Большинство регистров доступны процессору, но мы рассмотрим их только в конкретных обстоятельствах, когда они потребуются. Каждый из восьми регистров общего назначения разработан для своей конкретной работы, и каждый выполняет свою функцию, которая позволяет процессору эффективно выполнять инструкции. Это очень важно - понимать, какой регистр для чего используется, ибо это знание положит фундамент понимания того, как устроен отладчик. Регистр EAX, так же называемый регистром аккумуляции (или аккумулятором), используется для выполнения расчетов, а также для хранения значений, возвращаемых вызванными функциями. Многие оптимизированные инструкции в наборе инструкций x86 разработаны для перемещения данных именно в регистр EAX и извлечения данных из него, а также для выполнения расчетов с этими данными. Большинство простых операций, таких как сложение, вычитание и сравнение оптимизированы для использования регистра EAX. Кроме того, многие определенные операции, такие как умножение или деление, могут выполняться только в регистре EAX. Как было замечено ранее, возвращенные значения из вызываемых функций хранятся в EAX Регистр EDX это регистр данных (data register). Этот регистр в основном является дополнительным для регистра EAX, и он помогает хранить дополнительные данные для более сложных вычислений, таких как умножение и деление. Он так же может быть хранилищем данных общего назначения, но обычно он используется в расчетах, выполненных в сочетании с регистром EAX. Регистр ECX так же называется регистром-счетчиком (count register), он используется в операциях цикла. Часто повторяющиеся операции стоит хранить в упорядоченной пронумерованной строке. Очень важно понимать, что счетчик регистра ECX уменьшает, а не увеличивает значение. Регистры ESP и EBP соответственно указатель стека (stack pointer) и указатель базы (base pointer). Эти регистры используются для управления вызовами функций и операциями со стеком. Когда функция вызвана, аргументы функции перемещаются (проталкиваются) в стек и следуют по адресу возврата. Регистр ESP указывает на самый верх стека, поэтому он будет указывать на адрес возврата. Регистр EBP указывает на самый низ стека вызовов. В некоторых случаях компилятор может использовать оптимизацию для удаления регистра EBP как указателя кадра, в этих случаях регистр EBP освобождается и может использоваться точно так же, как любой другой регистр общего назначения. Единственный регистр, который не был разработан для чего-то конкретного - это EBX. Он может использоваться, как дополнительное хранилище данных. Единственный дополнительный регистр, который стоит упомянуть отдельно, это регистр EIP. Он указывает на инструкцию, которая выполняется в данный момент. Как процессор проходит по двоичному исполняемому коду, EIP обновляется для отображения адреса, по которому в данный момент происходит выполнение. Стек хранит информацию о том, как вызывается функция, какие параметры она забирает, и что надо вернуть после выполнения функции. Структура стека представляет собой модель "Первый пришел, последний вышел" (FILO, First In, Last Out), когда аргументы проталкиваются в стек для вызова функции, и извлекаются из стека после того, как функция завершит свое выполнение. Регистр ESP используется для отслеживания самой вершины кадра стека, а регистр EBP используется для отслеживания самого низа стека. Стек "растет" от верхних адресов памяти к нижним адресам памяти События отладчика Отладчик работает как бесконечный цикл, который ждет события отладки. Когда событие для отладки случается, цикл прерывается, и вызывается соответствующий обработчик событий. Когда вызван обработчик событий, отладчик останавливается и ждет указаний, что ему делать дальше. Вот несколько обычных событий, которые улавливает отладчик: · Встреча точки останова (breakpoint) · Нарушения памяти (так же называемые нарушениями доступа или нарушением сегментации) · Исключения, сгенерированные отлаживаемой программой Точки останова Возможность остановить отлаживаемый процесс достигается установкой точек останова (breakpoints). Остановив процесс, у вас появляется возможность проверить переменные, аргументы стека, и что находится в памяти без изменения переменных процесса, прежде чем вы сможете записать их. Точки останова - это определенно самая частая вещь, которую вы можете использовать при отладке процесса, и рассмотрим их очень внимательно. Есть три основных вида точек останова: программные (soft breakponit), аппаратные (hardware breakpoint), и памяти (memory breakpoint). Они ведут себя очень похоже, но выполняются очень разными способами. Программные точки останова используются специально для остановки процессора при выполнении инструкций и это самый частый вид точек останова, который вы будете использовать при отладке приложений. Программный брейкпоинт - это однобитная интсрукция, которая останавливает выполнение отлаживаемого процесса и передает управление обработчику исключений точек останова. В целях понимания как это работает, вам следует знать разницу между инструкцией (instruction) и опкодом (opcode) в ассемблере x86. Аппаратные точки останова (hardware breakpoints) полезны, когда нужно установить небольшое число точек останова, и отлаживаемая программа не может быть модифицирована. Этот тип точек устанавливается на уровне процессора, в специальных регистрах, называемых регистрами отладки. Типичный процессор имеет 8 регистров отладки (по порядку с DR0 до DR7 соответственно), которые используются для установки и управлением аппаратных точек. Регистры отладки с DR0 до DR3 зарезервированы для адресов точек останова. Это означает, что вы можете использовать лишь 4 аппаратных точки одновременно. Регистры DR4 и DR5 зарезервированы, а регистр DR6 используется, как регистр статуса, который определяет тип события отладки, вызванного встречей точки останова. Регистр отладки DR7 по существу является выключателем (вкл/выкл) аппаратных точек останова, а так же хранит разные состояния точек останова. При установке специальных флагов в регистр DR7, вы можете создать точки останова в следующих состояниях: · Останов, когда инструкция выполняется по определенному адресу. · Останов, когда данные записываются по адресу. · Останов на чтение или запись, но не выполнение. Аппаратные точки останова обрабатываются таким же способом, как и программные, но их механизм находится на низком уровне. Прежде чем процессор попытается выполнить инструкцию, он сначала проверит, не установлена ли на адрес аппаратная точка. Он так же проверит операторов инструкции, не имеют ли они доступ к адресу, на который установлена аппаратная точка. Если адрес хранится в регистрах отладки DR0-DR3 и условия чтения, записи, или выполнения встречаются, прерывание INT1 приказывает процессору остановиться. Если адрес не хранится в регистрах отладки, процессор выполняет инструкцию и переходит к следующей, и эта проверка выполняется снова, и так далее. Аппаратные точки очень полезны, но у них есть некоторые ограничения. Помимо того, что вы можете выставить только четыре ваших точки в одно время, вы так же можете установить точку только на данные длинной 2 байта. Это может сильно ограничить вас, если вы собираетесь получить доступ к большому участку памяти. Как правило, для обхода этих ограничений вы можете использовать точки останова памяти.В отличие от программных, которые используют событие INT3, аппаратные точки используют прерывание 1 (INT1). INT1 случается для аппаратных точек останова и одноступенчатых событий. Одноступенчатый означает проход по порядку по инструкциям, что позволяет вам очень близко исследовать участки кода во время изменения наблюдаемых данных. Точки останова памяти являются не совсем точками останова. Когда отладчик устанавливает точку памяти, он меняет разрешения на регион, или страницу (page) памяти. Страница памяти - это наименьшая порция памяти, которую обрабатывает операционная система. Когда страница памяти выделяется, у нее устанавливаются конкретные разрешения на доступ, которые указывают как эта память может быть доступна. Вот некоторые примеры разрешений на страницу памяти: · Выполнение страницы (page execution) Дает возможность выполнять, но выдает нарушение, если процесс попытается прочитать или записать данные на страницу. · Чтение страницы (Page read) Позволяет процессу только считывать со страницы; любая запись или попытка выполнения вызовут нарушение доступа. · Запись страницы (Page write) Позволяет процессу записывать на страницу. · Сторожевая страница (Guard page) Любой доступ к сторожевой странице возвращает единовременное исключение, и затем страница возвращается к своему первоначальному статусу. Большинство операционных систем позволяют вам комбинировать эти разрешения. Например, вы можете иметь страницу памяти, куда вы можете писать и читать, в то время, как другая страница может позволить вам прочитать или выполнить. Каждая операционная система так же имеет присущие функции, позволяющие вам запрашивать конкретные разрешения памяти в месте для особой страницы и изменять их, если понадобится. Источник: Gray Hat Python. Justin Seitz, Перевод: forum.reverse4you.org M. Chumichev
  2. 6 points
    Я не буду здесь объяснять, что такое видовая матрица и для чего она нужна - для этого есть специальные книжки и статьи (раз, два) Обычный Step-by-Step гайд с пояснениями. Искать будем в Counter-Strike: Global Offensive, но в принципе подойдет и любая другая игра. Никаких консольных команд для облегчения поиска использовать я не буду, дабы способ мог пройти в любой другой игре. Значит так, сначала цепляемся к процессу игры, затем устанавливаем параметры поиска: Scan Type: Value between... Value Type: Float Почему именно так? Дело в том, что точное значение искать довольно рискованно. Во-первых, флоат вообще довольно неточная штука, а во-вторых - мы не знаем точного угла нашей камеры. Например, в csgo угол наклона (pitch) варьируется от -89.0 до 89.0 градусов , а в других играх может и прямой угол получаться, т.е. 90 градусов. Теперь опускаем камеру до упора вниз, так что наш угол наклона получится 89 градусов. По идее, в видовой матрице это значение отобразится как ~0,999, но мы все равно будем искать диапазон. Ну а теперь выставляем диапазон: от 0.9 до 1.1 и сканируем Нам тут же нашло овер9000 значений, но ща мы их отсеим. Камеру до упора вверх и сканим теперь следующий диапазон: Оп-па. Теперь значений осталось всего-ничего: 521. Нет, это конечно много, но не настолько. Можно конечно по приколу отсеить те значения, что изменились за время чтения данной строки, но тут может поджидать сюрприз: в некоторых играх камера может немного "ходить" туда-сюда. Но если вы уверены в том, что она статична, то флаг вам в руки. Сейчас осталось только и делов: отсеить весь хлам, ну а дальше будем смотреть на найденное и анализировать. Можно так же до упора туда-сюда камеру водить, но я сделал так: направил ее примерно параллельно земле и прожал скан от -0.2 до 0.2. После пары-тройки дополнительных сканов у меня осталось примерно 60 значений. Многовато для ручного перебора, но я знаю, что мне нужны только "зеленые", т.е. статические адреса. Пролистав чуть ниже, я тут же натолкнулся на целый ряд таких значений: Выносим все эти ячейки в список адресов и начинаем их перебирать: ПКМ по первому же адресу -> Browse this memory region ( Ctrl + B ) Выставляем тип отображаемых значений на float, чтобы проще было наблюдать за всеми значениями матрицы. ПКМ -> Display Type -> Float ( Ctrl + 9 ) Смотрим на первую матрицу: На всю матрицу у нас должно быть только 3-4 больших значения и все они должны быть в одной колонке. Ну или так: каждое четвертое значение имеет большую величину. Желательно сразу их выровнять по 4 колонке. Остальные значения находятся в диапазоне от 0 до +-1.33 Тут мы видим, что она явно какая-то не такая: Nan-значения, остальные нули и тд. Но даже если она выглядит более-менее правдиво, то достаточно подвигать туда сюда камерой ( + побегать! ), чтобы убедиться в том что это не она: только два значения меняются, а остальные статичны. По идее меняться должны все значения, кроме одного в первой строке, оно скорее всего будет равняться нулю. Дальше увидите. Проделываем те же действия с другими матрицами: оцениваем их визуально + меняем состояние камеры в игре и смотрим на значения. Просматривая вторую и третью матрицы я заметил, что между ними есть участок памяти, который наиболее активно изменяется при движении/изменении углов камеры. Фиолетовым я выделил адреса второй и третьей матрицы, а между ними зеленым - интересующий участок. Как видите, здесь есть 4 довольно больших значения ( на фоне других ) и одно из них (0x1F97E26C) остается неизменным. Но в других играх оно может немного меняться: оно отвечает за угол поворота ( по часовой ). Это в тех играх, где камера туда-сюда наклоняется, например, при передвижении пресонажа, но оно в таком случае все равно не будет сильно большим. Теперь выделяем предполагаемое начало матрицы, жмем ПКМ->Add this to address list и копируем адрес. Теперь Ctrl + G и переходим по скопированному адресу. Смотрим: Ба! Выглядит отлично. Значения не сравнивайте между скринами, за это время я немного подвигал камеру опять, поэтому они изменились. Ну, оффсет для статического адреса сделать вообще не сложно: берем адрес матрицы и вычитаем из него базовый адрес модуля: 0x1F97E264 - client.dll = 0x4A7E264 Если все еще не понятно, как таки найти view matrix, то можете посмотреть видеоурок от Guided Hacking: https://www.youtube.com/watch?v=-WL1Gpe9VRo Ну, так как во многих обновляемых играх, особенно в кс, оффсетам свойственно меняться, а каждый раз искать по новой эту матрицу не очень хочется, то можно сделать сигнатурку. По ней мы будем автоматически вытаскивать наш оффсет из исполняемого кода. Точнее даже не оффсет, а уже конкретный адрес. Добавляем первое значение нашей матрицы в список адресов и ставим бряк. Тут же ловим кучу инструкций, которые взаимодействуют с нашей матрицей: Берем самую первую и смотрим: Это похоже на какой-то метод класса матрицы, который может использоваться не только нашей матрицей, но и другими. Что-то типа оператора присвоения. Если поставить бряк на эту инструкцию, то можно в этом убедиться: в регистр ecx попадает не только "наш" адрес, но и куча других. Что же делать? Все просто: будем "раскручивать" цепочку вызовов функций. Ставим Breakpoint ( F5 ) на инструкцию push ebp. Это начало функции. Затем ПКМ по ней же и выбираем "Set/Change break condition" и выставляем фильтр на брейкпоинте, чтобы он остановился когда функция будет работать с нашей матрицей. Тут, конечно же, адрес вашей матрицы вместо моего. И в тот же миг "ловим" наш поток. Смотрим на регистры и на стек: В регистре ecx наша матрица, стек разворачиваем на "полную" и видим такую картину: Это адрес функции, которая нас вызвала. В чем суть вообще того, что мы сейчас делаем? Все дело в том, что нам надо выйти на ту единственную функцию, которая работает ТОЛЬКО с нашим адресом. Т.е. там, где все начинается. Там же, вероятно, мы и сможем узнать откуда игра берет адрес этой матрицы и мы сделаем сигнатурку. Значит так, теперь снимаем наш брейкпоинт и прыгаем по адресу из нашего стека: client.dll + 67379B Отлично. Что мы видим? А, ну это соответственно тот самый вызов функции, из которой мы пришли. Можно тут так же поставить брейкпоинт и убедиться, что функция всё так же работает с несколькими матрицами. Так, а с каким регистром-то у нас там работали инструкции? С ecx, точно. Смотрим буквально на пару строк выше и видим инструкцию: lea ecx, [edi+00000284] Похоже, тут в наш регистр загружается адрес матрицы. Хм, а сама матрица тоже лежит в какой-то структуре, адрес которой лежит в edi. А значит теперь нам надо искать ту инструкцию, которая загружает в регистр edi адрес 0x1F97DFE0. Это уже адрес нашей структуры, т.е. ( 0x1F97E264 - 0x284 ). Теперь ищем по нему. Прокрутив в самый верх функции можно увидеть, что в edi значение перекладывается из регистра ecx. client.dll+673740 - 55 - push ebp client.dll+673741 - 8B EC - mov ebp,esp client.dll+673743 - 81 EC 80000000 - sub esp,00000080 client.dll+673749 - 56 - push esi client.dll+67374A - 57 - push edi client.dll+67374B - 8B F9 - mov edi,ecx Теперь делаем то же самое, что и в предыдущий раз: брейкпоинт (на push ebp), condition, и прыгаем на предыдущую функцию. Тут наблюдаем такую картину: Фигассе, сказал я се. Приехали, значение вытаскивается из стека) Можно попрыгать по функции и найти когда значение пушится в стек, но мне лень, поэтому я просто прокрутил функцию в самый верх и не прогадал: поставив бряк на начало функции я тут же поймал в ecx прежний адрес структуры, которую мы пытаемся выследить. Но эта функция все еще работает с каким-то адресом помимо нашего, поэтому раскручиваем дальше: те же действия, прыгаем на предыдущую функцию. Тут такая же ситуёвина, все делаем точь в точь, пока не наткнемся на ту самую функцию, где у нас бряк будет ловить в регистре только наш адрес. А вот и она: Думаю, тут все ясно. Мы поймали разрабов с поличным: адресок-то прямо вот он, в ecx кладется. Двойной клик по строчке чтоб увидеть полный адрес: client.dll+1F2C68 - B9 E0DF971F - mov ecx,1F97DFE0 А вот и адрес нашей структуры. Дело за малым, выделяем кучку инструкций для того чтобы составить уникальную сигнатуру, по которой мы сможем найти в дальнейшем этот участок кода. Получаем такую строчку: B9 E0 DF 97 1F 50 6A 00 6A 03 83 EC 08 8D 45 DC F3 0F 11 44 24 04 F3 0F 10 45 F8 F3 0F 11 04 24 И теперь "замазываем" наш адрес, который после перезапуска игры 100% поменяется. B9 ?? ?? ?? ?? 50 6A 00 6A 03 83 EC 08 8D 45 DC F3 0F 11 44 24 04 F3 0F 10 45 F8 F3 0F 11 04 24 Все, сигнатура готова. У меня примерно так выглядит всё в коде: pViewMatrix = (D3DXMATRIX*) CEngine::FindPattern( "client.dll", "B9 ?? ?? ?? ?? 50 6A 00 6A 03 83 EC 08 8D 45 DC F3 0F 11 44 24 04" ); if( pViewMatrix ) { pViewMatrix = (D3DXMATRIX*)( *(DWORD*)( (DWORD) pViewMatrix + 1 ) + 0x284 ); } Да, не забываем, что это адрес СТРУКТУРЫ, но не матрицы. Матрица имеет своё, внутреннее смещение по структуре: 0x284. Сканер сигнатур сами как-нибудь сделаете, это уже к кодингу относится Да и на самом деле, эту сигнатуру можно использовать даже в CE.
  3. 6 points
  4. 5 points
    Kholat Просмотреть файл Телепорт. Супер скорость, а то есть увеличенный скоростью бег. Бесконечная выносливость. Автор LIRW Добавлен 12.08.2015 Категория Трейнеры для PC игр
  5. 4 points
    Удалил самую первую запись в блоге на счет консоли в скайриме и собрал все здесь. Немного сигнатур и начнем. Патч отключающий консоль счетчик использования чит-кодов и флаг читера, чит-коды включать только через глобальные переменные или вызов внутри игровых функций: Сигнатура бессмертия и бесконечной стамины в ближайшем вызове будет глобальная переменная(выключатель): Чит-коды переводятся в HEX и вызываются 3-м аргументом по процедуре, которая находится По символьное считывание введенной строки: Процедура которой передается строка по символьно, для проверки на валидность, если все нормально возвращает 0, если нет 1,2,3,4,5,6 Процедура, переводящая строку в hex: Теперь точно все, осталось допилить трейнер. В общем опишу как работает ввод команд, для начала после ввода строка кладется в стек, дальше по символьно проверяется, чтобы все символы подходили под кодировку, не было мусора или лишних символов, которые могли бы все поломать, если такие символы есть, то процедура возвращается 1,2,3,4,5,6 и 0 если все хорошо. Вот так: Дальше, после этой проверки символы попадают в процедуру, которая переводит их в HEX(или шифрует). Примерно так: На выходе получаем следующее: tgm — 0x13C бессмертие и стамина psb — 0x14D заклинания tcl — 0x113 noclip tmm 1 — 0x11F6 открывает все маркеры на карте мира (с возможностью перемещения) tmm 0 — 0x11F6 скрывает все маркеры на карте мира inv — 0x19E показать содержимое инвентаря (список) выбранного объекта. setownership — 0x1117 получить права собственности на указанный предм unlock — 0x1073 открыть замок указанного объекта. Даже если какой-либо команды нет, эта процедура всегда будет переводить/шифровать строку, все это после проходит кучу кода и передается 3-м. if ( !Execute_CVAR(v9, a2, HEX_CVAR, v13, &v17, v18, &v22, v19, 0, 0) ) В ней уже есть проверка, если переведенное значение выходит за пределы условия получаем ошибку, которая сообщает нам о том, что нет такой консольной команды и игра не можем её выполнить. Окей, прошли все проверки выполняем код который получает адрес структуры и положение команды в ней по переведенному значению в которой находятся все консольные команды с их описанием. Делается это примерно так(для примера взял команду tgm которая равна 0x13C): result = 0; if ( (0x13C - 0x100) > 0x139 ) { if ( (0x13C - 0x1000) <= 0x2DD ) result = 8 * (5 * 0x13C - 0x5000) + 0x124E880; } else { result = 8 * (5 * 0x13C - 0x500) + 0x124B748; } return result; Ах, да эти адреса которые прибавляются к значению после умножения это начало сегментов, не знаю как это работает, но работает. И после всего этого выполняется процедура которая изменяет 2 байта и делает гг бессмертным изменяя значение глобальной переменной с 0 на 256.
  6. 4 points
    Скрипты: Ctrl+Numpad 0 - "Activation" Ctrl+Numpad 1 - "Add 1000 Money" Ctrl+Numpad 2 - "Infinite Money" Ctrl+Numpad 3 - "Infinite Item" Ctrl+Numpad 4 - "God Mod" Видео: Таблица: starbound.CT
  7. 4 points
    Название: E.Y.E. Divine Cybermancy Добавил: LIRW Добавлен: 13 окт. 2015 Категория: Трейнеры для PC игр Бессмертие. Бесконечная энергия. Бесконечные патроны. Бесконечные очки или как там их на атаку,защиту. Максимальная точность. Максимальная атака - вроде как всё с одной атаки взламывается. Версия игры 1.37 Трейнер заводим с совместимостью с win 7 на десятке... Если опции не активируются,запускаем трейнер после запуска игры. Что то на этом движке постоянно данная проблема с этим: как и на фольфенштейне первом или взять туже амнезию. Нажмите здесь, чтобы скачать файл
  8. 4 points
    Название: Crysis Добавил: LIRW Добавлен: 24 авг. 2015 Категория: Трейнеры для PC игр Бессмертие. Бесконечные патроны. Без перезарядки. Бесконечная энергия костюма. Бесконечный энергия для прибора ночного видения. Версия игры 1.1.16156 DX10 Нажмите здесь, чтобы скачать файл
  9. 4 points
    Название: True Crime® New York City Добавил: LIRW Добавлен: 21 июля 2015 Категория: Трейнеры для PC игр Бессмертие. Бесконечные патроны. Бесконечные деньги. Бесконечное время. Нет розыска. Нет урона автомобилю.(То что он краснеет на экране - это визуально только) Версия игры Бука rip который брал для игры SeregA_Lus
  10. 4 points
    Название: E.Y.E.: Divine Cybermancy [v1.5371+DLC] Добавил: LIRW Добавлен: 05 Фев 2015 Категория: Трейнеры Бесконечная жизнь. Бесконечные патроны. Бесконечные очки умений. Бесконечный бег. Супер точность. Нажмите здесь, чтобы скачать файл
  11. 3 points
    Сигнатура на функцию наносящую урон, скрипт мне конечно же делать лень. Но там ничего сложного сделать фильтр свой чужой и обнулить xmm регистр. Функция находится в engine_x64_rwdi.dll. Удивило, что даже обычные предметы такие как балон с газом использую эту же функцию, т.е. абсолютно весь мир работает с одной функций, которая определяет тип урона и рассчитывает его, от огня в бочке снимает 0.5 хп, от прыжков выше 3 метров 25 хп и т.д \x40\x57\x48\x83\xEC\x20\x48\x8B\x42\x08\x48\x8B\xF9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x85\xC0\x74\x19\x48\x8B\x40\x20\x8B\x48\x40\x49\x85\xC9\x0F\x85\x00\x00\x00\x00\x49\x85\xC8\x0F\x85\x00\x00\x00\x00\x48\x8B\x47\x08 xxxxxxxxxxxxx????????????????????xxxxxxxxxxxxxxxxx????xxxxx????xxxx PS тестил сейчас в онлайне и урон не проходит по мне от другого игрока, "отличная" работа Techland
  12. 3 points
    Ты был очень близок к разгадке. Уже тут всё стало понятно: Если посмотреть с другой стороны(без использования патча), то ответ на поверхности - как приложения учитывают кол-во копий? -Объекты ядра(Events, Mutex, Jobs). При запуске первого приложения, создаётся Mutex с именем "PoERunMutexA", где A - указывает, что это первая копия игры, а так же, проверяется создан ли мютекс PoERunMutexB. Если создан - значит показываем сообщение с огр. кол-ва запуска. При запуске второго, проверяется первый мютекс и создаётся второй После этого, если мы попытаемся запустить третью копию - вылезет ошибка. Лечение: Закрывать PoERunMutexB или PoERunMutexA , и тогда мы сможем запускать сколько угодно копий, без патча и прочих извров. Примерный код реализации в игре: function CreateMutexEx(name: PWideChar): LongBool; begin CreateMutex(nil, false, name); if GetLastError = ERROR_ALREADY_EXISTS then Result := False else Result := True; end; begin if (CreateMutexEx('PoERunMutexA') = false) //первая копия запущена then if (CreateMutexEx('PoERunMutexB') = false) //если вторая копия запущена then MessageBox(0, 'You may only run бла бла бла', 'Error', 1); end. Моего ПК хватило только на 5 копий:
  13. 3 points
    Название: Call of Juarez Bound in Blood Добавил: LIRW Добавлен: 29 авг. 2015 Категория: Трейнеры для PC игр Бессмертие. Бесконечные патроны. Без перезарядки. Бесконечные деньги. Всё время на вооружение.(Там 3 счетчика времени,я не знаю как их описать) Версия игры 1.1 Нажмите здесь, чтобы скачать файл
  14. 3 points
    Название: Quake IV Добавил: LIRW Добавлен: 30 июля 2015 Категория: Трейнеры для PC игр Бессмертие. Бесконечная броня. Бесконечные патроны. Без перезарядки. Бесконечная жизнь у робота (в игре он называется как бы танк) Бесконечная броня у робота. Бесконечные вооружение у робота. Версия игры 1.4.2 Нажмите здесь, чтобы скачать файл
  15. 3 points
    Название: How To Survive Third Person Standalone Добавил: LIRW Добавлен: 03 июля 2015 Категория: Трейнеры для PC игр Бессмертие. Бесконечная выносливость. Быстрый набор опыта. Версия игры 1.0 codex Нажмите здесь, чтобы скачать файл
  16. 3 points
    Название: Kholat Добавил: LIRW Добавлен: 21 июня 2015 Категория: Трейнеры для PC игр Бесконечный бег... (Маленькая,но очень полезная функция) Версия игры 1.0 Reloaded Нажмите здесь, чтобы скачать файл
  17. 3 points
    Название: Resident Evil Revelations 2 Добавил: LIRW Добавлен: 26 Фев 2015 Категория: Трейнеры Бессмертие. Бесконечные предметы.(Всё что находится в сумке) Бесконечный фонарик. Бесконечные Патроны. Crack[codeX] Добавил очки,на которые навыки в меню игры открывать. Нажмите здесь, чтобы скачать файл
  18. 3 points
    Название: Солдатики 4: Звёздный десант 2015 Добавил: LIRW Добавлен: 21 Фев 2015 Категория: Трейнеры Бессмертие Главной Башни. Бессмертие купленных вооружений. Бесконечные очки на открытие достижений. Бесконечные деньги на покупку вооружений. Нажмите здесь, чтобы скачать файл
  19. 3 points
    Название: Amnesia - The Dark Descent Добавил: LIRW Добавлен: 01 Мар 2015 Категория: Трейнеры 1) Infinite Health [Бессмертие] 2) Infinite Sanity [Рассудок не теряется] 3) Infinite Oil [Бесконечное масло для лампы] 4) Infinite Tinderboxes [Бесконечные трутницы] 5)Infinite Items [Бесконечные вещи] Нажмите здесь, чтобы скачать файл
  20. 3 points
    Название: Left 4 dead 2 Добавил: LIRW Добавлен: 02 марта 2015 Категория: Трейнеры для PC игр Бесконечная жизнь всей команды вместе с главным героем. Бесконечные патроны. Бесконечные спец патроны. Бесконечные молотов. Супер точность. Бесконечная жизнь только для себя. Включать сначала игру,потом трейнер... а то что то игры этой версии трейнер глючат при запуски(если сначала запускать трейнер,а потом игру) хотя может у кого и норм будет. Версия игры 2.1.3.9 (Естественно сингл) Нажмите здесь, чтобы скачать файл
  21. 3 points
    Название: Resident Evil HD Remaster 2015 Добавил: LIRW Добавлен: 22 Янв 2015 Категория: Трейнеры Бесконечные патроны. Бесконечныя жизнь. (Что бы патроны или жизнь восстановить - надо зайти в свой инвентарь и выйти) Нажмите здесь, чтобы скачать файл
  22. 2 points
    Может стоит ввести задания по взлому игр для новичков, типа взломать в одной игре такую-то опцию, в другой другую, а награждать плюсиками и рейтинг прокачивается, и скилы по взлому. Доступ к решенным заданиям будут иметь только админы и модеры которые будут награждать, учитывая исполнения и качество скриптов,использование фишечек типа безусловных меток и всякое такое.
  23. 2 points
    Medal of Honor Pacific Assault™ Просмотреть файл Бессмертие. Без перезарядки оружия. Бесконечные патроны. Скорострельность. Максимальная точность оружия. Супер урон оружия - с пистолета можно самолеты сбивать. Без отдачи оружия. PS: Запускаем сначала игру, потом трейнер.. Трейнер сегодня на СЕ - не когда просто, всё по быстрее. Demo: Автор LIRW Добавлен 13.07.2017 Категория Трейнеры для PC игр
  24. 2 points

    Версия Origin

    16 скачиваний

    Бессмертие. Без перезарядки оружия. Бесконечные патроны. Скорострельность. Максимальная точность оружия. Супер урон оружия - с пистолета можно самолеты сбивать. Без отдачи оружия. PS: Запускаем сначала игру, потом трейнер.. Трейнер сегодня на СЕ - не когда просто, всё по быстрее. Demo:
  25. 2 points
    Area 51 Просмотреть файл Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру,далее трейнер и жмем интересующие клавиши. Функции трейнера: [1] Бесконечная жизнь. [2] Бесконечные патроны. [3] Без перезарядки оружия. [4] Без отдачи оружия. [5] Точность оружия. [6] Убийство с одного выстрела. [7] Бесконечное время. [8] Супер прыжок. Автор LIRW Добавлен 11.07.2017 Категория Трейнеры для PC игр  
  26. 2 points

    Версия 1.1.98007u

    6 скачиваний

    Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру,далее трейнер и жмем интересующие клавиши. Функции трейнера: [1] Бесконечная жизнь. [2] Бесконечные патроны. [3] Без перезарядки оружия. [4] Без отдачи оружия. [5] Точность оружия. [6] Убийство с одного выстрела. [7] Бесконечное время. [8] Супер прыжок.
  27. 2 points
  28. 2 points

    Версия 1.3 Origin

    8 скачиваний

    Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру,далее трейнер(как обычный "exe") и жмем интересующие клавиши. Функции трейнера: [1] Бесконечная Жизнь. [2] Без обнаружения. [3] Много денег. [4] Максимальная точность оружия + Убрана отдача. [5] Бесконечное вооружение - гранаты,патроны,динамит и т/д. PS: Может дополню чем ещо.. Но пока играю - всё устраивает. Может что ещо полезное попадется. Demo:
  29. 2 points
    Решил здесь тоже опубликовать видео пример взлома игры Contra: Hard Corps на неуязвимость. Платформа: Эмулятор Sega Genesis \ Sega Mega Drive Инструменты: Gens 2.11, Cheat Engine и HxD Ром\Игра: Contra: Hard Corps Регион: Японский
  30. 2 points
    DOOM 3 BFG Edition Просмотреть файл Бесконечная жизнь. Бесконечная броня. Бесконечная выносливость. Бесконечный фонарь. Бесконечный кислород. Легкие убийства... Бесконечные патроны. Без перезарядки оружия. PS: Запускаем сначала игру, далее ALT + ENTER а то есть окно и включаем чит как обычный "exe" Далее включаем нужные функции и разворачивает игру с окна в полно экранный режим. Автор LIRW Добавлен 27.06.2017 Категория Трейнеры для PC игр  
  31. 2 points

    Версия Steam

    6 скачиваний

    Бесконечная жизнь. Бесконечная броня. Бесконечная выносливость. Бесконечный фонарь. Бесконечный кислород. Легкие убийства... Бесконечные патроны. Без перезарядки оружия. PS: Запускаем сначала игру, далее ALT + ENTER а то есть окно и включаем чит как обычный "exe" Далее включаем нужные функции и разворачивает игру с окна в полно экранный режим.
  32. 2 points
    Blur(TM) Просмотреть файл Бессмертие. Быстрое убийство врагов.. Проезд сквозь врагов. Много очков. Заморозить время - 3 функции подряд. Там 3 вида таймера - назвать не знаю их как (так как в гонки не играю) Назвал 1.2.3 Много поинтов.. Бесконечное вооружение и предметы. PS: Запускаем сначала игру, потом скидываем её в трей и запускаем .cpl файл как обычный "exe" - ну и жмакаем нужные клавиши. Demo: Автор LIRW Добавлен 13.06.2017 Категория Трейнеры для PC игр
  33. 2 points
    Набросал будущий трейнер первый в жизни с визуальным интерфейсом, пока на GDI+ с двойной буферизацией. При активации будут подсвечиваться строки(как слова силы, если кто играл знает). Стиль окна без бортов, осталось ещё прикрутить курсор из игры, шрифт поменять на тот на котором написаны книги и думаю все. Если кому-нибудь что-то не нравится отпишитесь что лучше изменить. На скрине god mode и all spells активированы.
  34. 2 points
    Call of Duty Modern Warfare Remastered Просмотреть файл Бесконечная жизнь. Максимальная точность. Скорострельность оружия. Без перезарядки оружия. Без отдачи оружия. PS: Запускаем сначала игру, а потом инжектор от имени администратора... Выбираем dll - указываем процесс игры и жмем инжект. Demo: Автор LIRW Добавлен 04/21/17 Категория Трейнеры для PC игр
  35. 2 points
    35mm Просмотреть файл Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру, потом запускаем трейнер и жмем клавиши интересующих опций. Функции Трейнера: [1] Бесконечная жизнь. [2] Бесконечная еда,аптечки. [3] Бесконечные батареи. [4] Бесконечная выносливость. [5] Бесконечный заряд батареии. [6] Бесконечные патроны для пистолета. [7] Бесконечные патроны для автомата. PS: Видео думаю нет смысла снимать к такой то игре ну в смысле - показывать там не чего. Это же не перестрелки и за всю игру, умереть можно только в двух местах. Автор LIRW Добавлен 04/15/17 Категория Трейнеры для PC игр
  36. 2 points
    XIII Просмотреть файл Бессмертие. Бесконечные патроны. Без перезарядки оружия. Бесконечный бронежилет. Бесконечная каска - тоже броня. Бесконечные ракеты и под ствольный гранатомет. Бесконечный кислород. PS: Сначала запускаем игру - потом трейнер. Автор LIRW Добавлен 16.05.2016 Категория Трейнеры для PC игр
  37. 2 points
    Насчет скрипта да это моя ошибка я его просто скопировал потом поправил и забыл скопировать повторно. Насчет работы работает все нормально. Сам скрипт: Насчет LUA таблицы. Я пбывал не только с этим скриптом но и с другими ошибка именно на стороне ComboBox'a ибо скрипт переключается а вот ComboBox не вносит изменений. Видео - Таблица - http://rgho.st/6DdvwqnDJ
  38. 2 points

    Версия Steam_ на 06.10.2016

    16 скачиваний

    Бессмертие. Бесконечная энергия. Бесконечная выносливость. Без отдачи оружия. Без перезарядки оружия. Точность оружия. Супер зум. Бесконечный кислород. Бесконечные предметы. Активировать телепорт. Сохранить позицию. Загрузить позицию. PS: Запускаем сначала игру, потом тренер. Demo:
  39. 1 point
    The Evil Within Просмотреть файл Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру, запускаем трейнер. Функции Трейнера: [0] Бесконечная Жизнь. [1] Бесконечная Выносливость. [2] Без перезарядки оружия. [3] Заморозить гранаты - спички. [4] Точность оружия. [5] Супер бег. [6] Бесконечные патроны. [7] Открывание без ключей. DEMO: Автор LIRW Добавлен 25.07.2017 Категория Трейнеры для PC игр
  40. 1 point
    Сегодня искал поинтеры в игре и заметил что на системном диске пропало 2гб места. Зашел в ССleaner и почистил временные файлы. В итоге через некоторое время заметил что опять забилось место, но в этот раз уже ССleaner не помог. Уже снёс всё что только можно, но место так и не появляется. Вот сижу теперь мучаюсь вопросом что могло произойти ? P.S. PTR весят немного и лежат на другом диске.
  41. 1 point
    2036918C нет разве? Открой и глянь что там типа client.dll+9999 ( смещение ). Тебе ведь нужно смещение на начало структуры. Ужас просто полный более 100+ сообщений наверное лишь об том как найти долбанную матрицу в игре на которую уже записано 9999999+ и еще маленькая тележечка гайдов на ютубе.
  42. 1 point
    @IzerodayI, а ты вообще иди тему лучше создай. На кой фиг тут обсуждение вести, если это флудилка?
  43. 1 point
    Если сделать так: function CEPageControl1Change(sender) UDF1.CEPageControl2.TabIndex = UDF1.CEPageControl1.TabIndex end то при переключении на вкладку TabSheet1 одновременно переключается и TabSheet3, и при переключении TabSheet2 одновременно переключается и TabSheet4. А если сделать так: function CEPageControl1Change(sender) UDF1.CEPageControl2.TabIndex = UDF1.CEPageControl1.TabIndex end function CEPageControl2Change(sender) UDF1.CEPageControl1.TabIndex = UDF1.CEPageControl2.TabIndex end То будет работать и наоборот тоже 3 - 1, 4 - 2
  44. 1 point
    Мне больше понравилось, как ты разобрался с планшетом.
  45. 1 point
    И почистил тему. Народ, кто писал ссылки для Гарика по поводу чистки от малвари - продублируйте ему в ЛС, пожалуйста.
  46. 1 point
  47. 1 point
    Я имею ввиду то, что у тебя инструкция выпала - ты видишь, что это скорее всего начало пролога (почти всегда он с "push ebp" начинается) - лезешь по этому адресу дизассемблером и инструкцию ставишь после пролога на начало самой функции. да, игра может вылететь и ее придется перезапустить, но адрес-то не изменится при этом.
  48. 1 point
  49. 1 point
    Так я не понял что ты хочешь ты сказал поправить я поправил. Что ты хочешь? Не легче .colorPicker прописать?
  50. 1 point
    Название: Dead to Rights Добавил: LIRW Добавлен: 17 Янв 2015 Категория: Трейнеры Опции: 1. Остановить время. 2. Бессмертие. 3. Бесконечная броня. 4. Бесконечные патроны. 5. Убить с одного удара (всех, даже босса. Но отключать надо когда защищать надо кого либо из твоих, а то жизнь тоже обнулится у них,но таких моментов за всю игру только два) Нажмите здесь, чтобы скачать файл