-
Постов
80 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Dejavu
-
Видимо, никто не в курсе в чем может быть проблема. Закинул случайно ассемблерный код с ошибкой — неправильно обрабатывает системные вызовы, которые вызываются без аргументов. Решил избавиться от CRT-зависимых функций (malloc, sprintf_s) — перешел на функции в ntdll + не использую стандартную кучу, а создаю свою — вроде работает.
-
Это не указатель, а ссылка на переменную. Сейчас скриншот, к сожалению, уже недоступны, но почему хук ставится на sub_E713A2? Судя по коду getSerial вызывается только в main. sub_E713A2 == main? Кроме того, стоит, конечно же, еще учитывать соглашение о вызове функции — может быть причиной краша.
-
[C++] Мониторинг системных вызовов (WOW64)
Dejavu опубликовал тема в Высокоуровневое программирование
Привет, Пишу 32-битную DLL для мониторинга системных вызовов приложения, в которое она будет заинжекчена. Вот, собственно, код (не выдержка из проекта): Вот код asm_code с моим беглым описанием: Когда происходит системный вызов, управление передается на мой asm_code (lpMyAsmCode). Предварительно функция IsContainsFrame() проверяет нет ли фрейма функции Filter (то есть не системный ли это вызов из моего фильтра, иначе не заходим снова в Filter, а просто выполняем). Далее на стеке наращиваю аргументы под функцию Filter, оставляю место для сохранения регистров (чтобы после всего этого регистры остались прежними) и копирую аргументы, с которыми вызывалась функция, подменяя адрес возврата. Делаю системный вызов (адресом возврата будет lpMyAsmCode + 0x5e), которая в последующем передаст управление. Проблема заключается в том, что я не могу обрабатывать получаемую информацию в Filter, так как любой вызов необходимой функции (malloc, sprintf_s) — краш (но не при первом вызове, по моим наблюдениям). В частности такая проблема с .NET приложениями. Я, конечно, грешу в том числе на метод инжекта — CreateProcess (CREATE_SUSPENDED) + CreateRemoteThread + LoadLibraryA. Но все же хочется услышать мнение знающих людей. Вот так примерно выглядит стэк вызовов (да, там моего кода не наблюдается, но он точно причастен!): -
Решаю CrackMe с помощью .NET Reflector, нашел функцию, которая проверяет правильность, но не знаю C#. Времени погружаться в язык пока что нет. Не подскажете, как работает данная функция?
-
Почему так много грамматических ошибок?
-
pusha/pushad — сохраняет все значения регистров, popa/popad — восстанавливает.
-
Если ты пишешь статью (тем более для новичков), нужно хотя бы описать для чего это, где это используется, показать на конкретном примере, пояснить каждую строчку кода.
-
Я вбил этот адрес через CTRL + G. Выходит на client.dll (в контре). Не важно из какой модуля ты ищешь
-
Что ты ищешь, где ты ищешь, скрины какие нибудь прикрепи еще. Мало информации
-
Значит, это экранное значение
-
Координаты, жизни, деньги и прочее находятся в структуре игрока. Для того, чтобы найти эту структуру, тебе нужно найти указатель на эту структуру. Указатель и будет указывать на начало структуры. Смещения — как раз таки нужные тебе поля( жизни, деньги и т.д и т.п)
-
1. Ты точно нашел нужные тебе координаты? Может быть это не те значения? Когда морозишь их, у тебя начинает игрок глючить при передвижении? Если да, то нашел правильно 2. Попробуй найти что нибудь другое — жизни, деньги, какие либо ресурсы, относящиеся к игроку. Затем попробуй на это значение найти указатели, там, гляди, может быть получится что еще найти
-
Не думаю, что разработчики игр делаю столь многоуровневые указатели. Ставь 5-ку и проверяй указатели
-
Жоска чет. Я ни разу еще не встречал такого.
-
Ну а ты как хотел. Посмотри вот это видео, думаю, план действий будет понятен:
-
Ну какой-то указатель должен всегда указывать на нужную структуру, просто его нужно найти. Указатель может быть многоуровневым. Тебе нужно найти указатели(допустим, поставить Max lvl = 5), потом перезапустить игру, потом заново присоединить CE к игре и из них найти указатель, который указывает на нужный тебе адрес.
-
Для этого нужно искать указатели, через указатели искать структура, затем координаты Ты уже находил координаты свои/чужие? Что за игра?
-
Нужно выйти на структуры и потом уже через ReadProcessMemory выводить их
-
Что именно ты хочешь реализовать?
-
По моему, такая ошибка выскакивает, когда ничего не вводишь в окно поиска
- 3 ответа
-
- 1
-