Сейчас на форуме: tyns777, cppasm, dutyfree (+7 невидимых)

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

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

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

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



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

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

if STATUS_PORT_ALREADY_SET
NtSuspendProcess
NtRemoveProcessDebug
fi
ConnectNewDebug

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

-----
vx




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

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

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

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

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

if STATUS_PORT_ALREADY_SET
NtSuspendProcess
NtRemoveProcessDebug
fi
ConnectNewDebug

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

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

-----
vx




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

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

difexacaw пишет:
0pc0d3R

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

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


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

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

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

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


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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

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

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

-----
vx




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

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

difexacaw пишет:
0pc0d3R

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

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

-----
vx




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

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

difexacaw пишет:
0pc0d3R

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

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

-----
vx




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

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

difexacaw пишет:
0pc0d3R

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

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

А то





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

-----
vx




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

VOLKOFF

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

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

-----
vx




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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

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

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

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




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

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

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

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

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

-----
vx




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

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

difexacaw пишет:
0pc0d3R

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

-----
vx




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

VOLKOFF

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

-----
vx




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

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

difexacaw пишет:
VOLKOFF

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

0pc0d3R

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

-----
vx




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

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

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

-----
TEST YOUR MIGHT


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


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

unknownproject

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

-----
vx




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

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

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

В этих сурсах нет исходного кода античита (netc.dll) а компилировать фейк клиент не вариант.
С ним не пустит на сервер если не знать как подделать auth-ключ подключения который нужно реверсить.


 eXeL@B —› Вопросы новичков —› Как прицепить отладчик к MTA:SA
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати