Перейти к содержанию

Dejavu

Пользователи
  • Постов

    80
  • Зарегистрирован

  • Посещение

Репутация

6 Lamer

Информация о Dejavu

  • День рождения 14.08.1997

Информация

  • Пол
    Мужчина
  • Город
    Москва
  • Интересы
    Gamehacking, Cracking

    ASM, C++, Delphi

Посетители профиля

3 257 просмотров профиля
  1. Видимо, никто не в курсе в чем может быть проблема. Закинул случайно ассемблерный код с ошибкой — неправильно обрабатывает системные вызовы, которые вызываются без аргументов. Решил избавиться от CRT-зависимых функций (malloc, sprintf_s) — перешел на функции в ntdll + не использую стандартную кучу, а создаю свою — вроде работает.
  2. Это не указатель, а ссылка на переменную. Сейчас скриншот, к сожалению, уже недоступны, но почему хук ставится на sub_E713A2? Судя по коду getSerial вызывается только в main. sub_E713A2 == main? Кроме того, стоит, конечно же, еще учитывать соглашение о вызове функции — может быть причиной краша.
  3. Привет, Пишу 32-битную DLL для мониторинга системных вызовов приложения, в которое она будет заинжекчена. Вот, собственно, код (не выдержка из проекта): Вот код asm_code с моим беглым описанием: Когда происходит системный вызов, управление передается на мой asm_code (lpMyAsmCode). Предварительно функция IsContainsFrame() проверяет нет ли фрейма функции Filter (то есть не системный ли это вызов из моего фильтра, иначе не заходим снова в Filter, а просто выполняем). Далее на стеке наращиваю аргументы под функцию Filter, оставляю место для сохранения регистров (чтобы после всего этого регистры остались прежними) и копирую аргументы, с которыми вызывалась функция, подменяя адрес возврата. Делаю системный вызов (адресом возврата будет lpMyAsmCode + 0x5e), которая в последующем передаст управление. Проблема заключается в том, что я не могу обрабатывать получаемую информацию в Filter, так как любой вызов необходимой функции (malloc, sprintf_s) — краш (но не при первом вызове, по моим наблюдениям). В частности такая проблема с .NET приложениями. Я, конечно, грешу в том числе на метод инжекта — CreateProcess (CREATE_SUSPENDED) + CreateRemoteThread + LoadLibraryA. Но все же хочется услышать мнение знающих людей. Вот так примерно выглядит стэк вызовов (да, там моего кода не наблюдается, но он точно причастен!):
  4. IDA куда удобнее будет тем, что она распознает уже документированные функции. Лучше уж тогда вручную искать значение.
  5. Смотрю код в декомпиляторе. Направляю курсор на переменную. Вижу ее значение. Как найти его в памяти? Приходится переписывать адрес вручную.
  6. Решаю CrackMe с помощью .NET Reflector, нашел функцию, которая проверяет правильность, но не знаю C#. Времени погружаться в язык пока что нет. Не подскажете, как работает данная функция?
  7. Почему так много грамматических ошибок?
  8. pusha/pushad — сохраняет все значения регистров, popa/popad — восстанавливает.
  9. Если ты пишешь статью (тем более для новичков), нужно хотя бы описать для чего это, где это используется, показать на конкретном примере, пояснить каждую строчку кода.
  10. Я вбил этот адрес через CTRL + G. Выходит на client.dll (в контре). Не важно из какой модуля ты ищешь
  11. Что ты ищешь, где ты ищешь, скрины какие нибудь прикрепи еще. Мало информации
  12. Значит, это экранное значение
  13. Координаты, жизни, деньги и прочее находятся в структуре игрока. Для того, чтобы найти эту структуру, тебе нужно найти указатель на эту структуру. Указатель и будет указывать на начало структуры. Смещения — как раз таки нужные тебе поля( жизни, деньги и т.д и т.п)
  14. 1. Ты точно нашел нужные тебе координаты? Может быть это не те значения? Когда морозишь их, у тебя начинает игрок глючить при передвижении? Если да, то нашел правильно 2. Попробуй найти что нибудь другое — жизни, деньги, какие либо ресурсы, относящиеся к игроку. Затем попробуй на это значение найти указатели, там, гляди, может быть получится что еще найти
  15. Не думаю, что разработчики игр делаю столь многоуровневые указатели. Ставь 5-ку и проверяй указатели
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.