eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Как прицепить отладчик к MTA:SA
Посл.ответ Сообщение

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 12:42 · Поправил: 0pc0d3R New!
Цитата · Личное сообщение · #1

Здаров реверсеры. Может кто вкурсе или сам возмётся попробовать, решил по-реверсить Multi Theft Auto San Andreas MultiPlayer а там разрабы какую то куйню сделали что любой отладчик не дает присойденить к процессу - сразу unable to attach просто моментально, тоже самое и с инжекторами но не суть. Пробовал я на оли вешать и фантом, копался в настройках без толку. Попробовал и сцилу или руки у меня с одного места что ли.
Самое интересное что сам ехешник игры ничем не накрыт, анти-отладка и античит etc. реализован внутри своими методами.
Вообщем буду благодарен если поможете с настройкой отладчика/подбором нужного плагина.
Заранее спасибо!

Ранг: 135.1 (ветеран)
Статус: Участник

Создано: 19 августа 2017 13:37 · Поправил: VOLKOFF New!
Цитата · Личное сообщение · #2

Насколько помню, антидебаг в netc.dll (также проверяет чексамы памяти GTA что тоже будет обламывать отладку). Также там вроде прерывания добавляли для антиотладки в коде.

Я хз работает, или нет, но попробуйте это --> GTA Anti-Debug Fix <--


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 14:14 New!
Цитата · Личное сообщение · #3

Почему нельзя подключить отладчик, нужно больше инфы.

if STATUS_PORT_ALREADY_SET
NtSuspendProcess
NtRemoveProcessDebug
fi
ConnectNewDebug

Ну а в общем случае нужно это всё вручную фиксить что бы заработало.

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 14:30 New!
Цитата · Личное сообщение · #4

VOLKOFF пишет:
Насколько помню, антидебаг в netc.dll (также проверяет чексамы памяти GTA что тоже будет обламывать отладку). Также там вроде прерывания добавляли для антиотладки в коде.

Я хз работает, или нет, но попробуйте это --> GTA Anti-Debug Fix <--

К сожалению там скрипт хук только под гта файв.
difexacaw пишет:
Почему нельзя подключить отладчик, нужно больше инфы.

if STATUS_PORT_ALREADY_SET
NtSuspendProcess
NtRemoveProcessDebug
fi
ConnectNewDebug

Ну а в общем случае нужно это всё вручную фиксить что бы заработало.

Есть идеи/предложения как это сделать? Не компилировать же мне свой фейк-клиент.
Встроенный античит не дает вообще что либо стороннее подгрузить/загрузить в клиент.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 14:35 · Поправил: difexacaw New!
Цитата · Личное сообщение · #5

0pc0d3R

Узнать для начала что мешает подключить отладчик. Самый простой способ что бы это сделать без коденга, это открыть отладчик отладчиком и установить точки останова на сервисы подключения отладчика и открытия процесса. Если окажется что там используются драйвера для защиты, то тогда по простому никак не получится.

Можно конечно запустить апп под отладчиком, но я хз зачем вам именно налету его подключать.

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 14:41 · Поправил: 0pc0d3R New!
Цитата · Личное сообщение · #6

difexacaw пишет:
0pc0d3R

Узнать для начала что мешает подключить отладчик. Самый простой способ что бы это сделать без коденга, это открыть отладчик отладчиком и установить точки останова на сервисы подключения отладчика и открытия процесса. Если окажется что там используются драйвера для защиты, то тогда по простому никак не получится.

Можно конечно запустить апп под отладчиком, но я хз зачем вам именно налету его подключать.


Самое странное что Scylla Hide (Та что в отладчике Mr.Exodia) спокойно позволяет снять дамп процесса - но если попробывать что либо другое присойденить или как ты выразился открыть прогу сразу под ним, моментальный детект.

Добавлено спустя 16 минут
Сама дллка античита ничем не накрыта, если кому интересно взглянуть на это чудо вырубающее отладчик и всё угодно то вот.
difexacaw пишет:
0pc0d3R

Узнать для начала что мешает подключить отладчик. Самый простой способ что бы это сделать без коденга, это открыть отладчик отладчиком и установить точки останова на сервисы подключения отладчика и открытия процесса. Если окажется что там используются драйвера для защиты, то тогда по простому никак не получится.

Можно конечно запустить апп под отладчиком, но я хз зачем вам именно налету его подключать.


Самое странное что Scylla Hide (Та что в отладчике Mr.Exodia) спокойно позволяет снять дамп процесса - но если попробывать что либо другое присойденить или как ты выразился открыть прогу сразу под ним, моментальный детект.

Добавлено спустя 16 минут
Сама дллка античита ничем не накрыта, если кому интересно взглянуть на это чудо вырубающее отладчик и всё угодно то вот.
http://rgho.st/6HpdQCl9n


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 15:13 New!
Цитата · Личное сообщение · #7

0pc0d3R

Ваш модуль типичный юзер апп, в импорте нет каких то особенных функций. Что с ним делать ?

Последовательность ваших действий:

1. Открываете отладчик отладчиком.
2. Устанавливаете точку останова на ntdll.ZwDebugActiveProcess и ZwOpenProcess.
3. Аттачите отлаживаемый отладчик к апп.
4. Срабатывает точка останова, трассируете до возврата из функции и показываете сюда значение регистра Eax.

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 16:04 · Поправил: 0pc0d3R New!
Цитата · Личное сообщение · #8

difexacaw пишет:
0pc0d3R

Ваш модуль типичный юзер апп, в импорте нет каких то особенных функций. Что с ним делать ?

Последовательность ваших действий:

1. Открываете отладчик отладчиком.
2. Устанавливаете точку останова на ntdll.ZwDebugActiveProcess и ZwOpenProcess.
3. Аттачите отлаживаемый отладчик к апп.
4. Срабатывает точка останова, трассируете до возврата из функции и показываете сюда значение регистра Eax.

Бряк на OpenProcess сработал еще при открытии окошка с выбором процесса.
Значение EAX на момент возврата из DebugActivaProcess - [EAX] 00000000
P.S - отлаживал олли через x32dbg.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 16:12 New!
Цитата · Личное сообщение · #9

0pc0d3R

Я ничего не говорил про DebugActiveProcess. Я говорил про ZwDebugActiveProcess.

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 16:22 New!
Цитата · Личное сообщение · #10

difexacaw пишет:
0pc0d3R

Я ничего не говорил про DebugActiveProcess. Я говорил про ZwDebugActiveProcess.

На zwOpenProcess при ретурне EAX 00000000
На zwDebugActiveProcess аналогично по нолям.

Добавлено спустя 2 минуты
Хм странно, когда отладчик под отладкой то можна присойденится к процессу.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 16:29 · Поправил: difexacaw New!
Цитата · Личное сообщение · #11

0pc0d3R

Запустите от админа

Значит всё успешно аттачится.

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 16:36 New!
Цитата · Личное сообщение · #12

difexacaw пишет:
0pc0d3R

Запустите от админа

Значит всё успешно аттачится.

А то


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 16:40 · Поправил: difexacaw New!
Цитата · Личное сообщение · #13

0pc0d3R

Какой то глюк в отладчике, если при его отладке всё успешно. Пойдёт и так, иначе придётся использовать сервисный монитор или км отладчик, что бы выяснить суть проблемы. Раз работает, то нет смысла лезть в дебри, так как копание в механизмах затянется на долго.

Ранг: 135.1 (ветеран)
Статус: Участник

Создано: 19 августа 2017 16:42 New!
Цитата · Личное сообщение · #14

А может дело в опции Scylla "Remove Debug Privileges", или прочих "лишних" галках, если аттач с рекурсией дебаггеров есть?

Вообще в итоге все равно придется сильно потрудиться чтобы "отключить" библиотеку античита, в ином случае без драйвера все равно не обойтись. По основам вам гитхаб должен помочь (в силу опенсурсности МТА), однако самое вкусное придется реверсить, т.к. файлы в бинарниках релизятся без сырков.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 16:46 · Поправил: difexacaw New!
Цитата · Личное сообщение · #15

VOLKOFF

По дефолту плаги тс должен был выключить. Это глючное говно и их поведение зависит от фазы луны.

Не вижу задачи что бы использовать драйвера.

Ранг: 390.5 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 19 августа 2017 16:46 New!
Цитата · Личное сообщение · #16

а если банально стартануть под отладчиком файл??

0pc0d3R пишет:
Самое интересное что сам ехешник игры ничем не накрыт

с таким же успехом внутри ексешника могут быть вложения из других ексешников, которые накрыты - типа матрешки, а-ля SafeDisk

у netc.dll в экспорте -
Code:
  1. .text:1014A910                 public NtTerminateProcess

я так подозреваю, конечная цель ТС это пошифрованная:
Code:
  1. .text:1009CF50 ; __stdcall RoGetActivationFactory(x, x, x)

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 16:53 New!
Цитата · Личное сообщение · #17

ELF_7719116 пишет:
а если банально стартануть под отладчиком файл??

0pc0d3R пишет:
Самое интересное что сам ехешник игры ничем не накрыт
с таким же успехом внутри ексешника могут быть вложения из других ексешников, которые накрыты - типа матрешки, а-ля SafeDisk

у netc.dll в экспорте -
Code:
.text:1014A910                 public NtTerminateProcess

я так подозреваю, конечная цель ТС это пошифрованная:
Code:
.text:1009CF50 ; __stdcall RoGetActivationFactory(x, x, x)

Сначало он брякнится как и положено - но после "разморозки" процесса моментально Thread exited with code и адресс. Мб там брейкпоинты палит как то хз, аналогичный исход и при отладке через (отладчик на отладчике)
Вообщем решив одну проблему - вылазит вторая.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 16:54 New!
Цитата · Личное сообщение · #18

0pc0d3R

Опишите задание подробно(во всех мелких деталях), какая цель отладки ?

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 16:57 · Поправил: 0pc0d3R New!
Цитата · Личное сообщение · #19

difexacaw пишет:
0pc0d3R

Опишите задание подробно(во всех мелких деталях), какая цель отладки ?

Вытащить "расшифрованую модель" хардварным бряком на загрузке.
Адресса LoadClumpFile & LoadModel найти не составит особого труда, но без отладки я попросту не выцеплю
нужное в расшифрованом виде.
Стало быть уже давно модно среди модмейкеров и владельцев серверов MTA защищать свои "модельки" посредством различных методов шифрования, но ни для кого не секрет что прежде чем "загрузить" свою модель в игрушку, её предварительно нужно "декриптануть" а значит можна выцепить в момент подгрузки.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 17:10 · Поправил: difexacaw New!
Цитата · Личное сообщение · #20

0pc0d3R

Есть куча готовых решений, в крайнем случае можно даже запустить ваше апп под визором и сделать всё что угодно, вывести в лог каждую итерацию шифрования или обнаружить ссылки на декриптор по известной сигнатуре. Но для этого нужно чёткое тз.

Ранг: 135.1 (ветеран)
Статус: Участник

Создано: 19 августа 2017 17:14 New!
Цитата · Личное сообщение · #21

difexacaw пишет:
Не вижу задачи что бы использовать драйвера

Емнип античит драйвер-бэйсед и не даст нормально отлаживать, или модифицировать память в юзермоде.


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 17:23 New!
Цитата · Личное сообщение · #22

VOLKOFF

Это у тс не юзается и для обхода также врядле нужен км. Есть иные методы. Всё что называется защитой памяти это школьные поделки, говорю потому что данную тему изучил досконально.

Ранг: 3.1 (гость)
Статус: Участник

Создано: 19 августа 2017 17:30 New!
Цитата · Личное сообщение · #23

difexacaw пишет:
VOLKOFF

Это у тс не юзается и для обхода также врядле нужен км. Есть иные методы. Всё что называется защитой памяти это школьные поделки, говорю потому что данную тему изучил досконально.

Вы явно недооцениваете силу античита


Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 19 августа 2017 17:37 New!
Цитата · Личное сообщение · #24

0pc0d3R

Вы думаете что я за хз сколько лет все эти поделки и их методы не изучил. Это скорее вы не знаете современные методы, защита и не узнает что работает под виртуальной машиной и никакая память не изменяется. Как я ранее говорил это всё методы 2005 года.

Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 20 августа 2017 01:44 New!
Цитата · Личное сообщение · #25

Зачем реверсить оупенсорсный проджект ?
--> Git <--

| Сообщение посчитали полезным: difexacaw



Ранг: 316.5 (мудрец)
Статус: Участник

Создано: 20 августа 2017 01:49 · Поправил: difexacaw New!
Цитата · Личное сообщение · #26

unknownproject

С сурками любой дурак задачу решит, тогда нет смысла задавать вопрос и всё это обсуждать

Ранг: 3.1 (гость)
Статус: Участник

Создано: 20 августа 2017 06:38 New!
Цитата · Личное сообщение · #27

unknownproject пишет:
Зачем реверсить оупенсорсный проджект ?
--> Git <--

В этих сурсах нет исходного кода античита (netc.dll) а компилировать фейк клиент не вариант.
С ним не пустит на сервер если не знать как подделать auth-ключ подключения который нужно реверсить.
 eXeL@B —› Вопросы новичков —› Как прицепить отладчик к MTA:SA
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS