[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
2. Переходим в Kernel Detective во вкладку "System Service Descriptor Table" и ищем "NtQuerySystemInformation" (должен быть красным) жмем правой кнопкой мыши и выбираем "Restore Selected", если же нету, то жмем "Refresh" и проверяем снова.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Альтернативный способ: во вкладке "System Service Descriptor Table" жмем Ctrl + A (все выделяеться) далее правой кнопкой мыши и "Restore All"
3. Выполнено! Теперь ваш процесс игры виден в Диспетчере задач и с ним можно работать.
+ бонус
Не работаю кликеры? Действия аналогичны, только переходим во вкладку "System Service Descriptor Table" и жмем Ctrl + A (все выделяеться) далее правой кнопкой мыши по любой функции и "Restore All" мы разблокировали все WinAPI функции, в том числе и обработчик нажатия мыши.
P.S. на счет L2PH, у меня не запускается. Проблему так и не выяснил. Буду рад услышать ваши предложения.
спс за информацию я тож много чего узнал про античить
и достиг кой чему я про файлы в Темпе active_temp
17,12,2012 чясик 11-00 по Моск времени буду на скайпе ник kerimov.ceyhun2
AA работает в режиме сервер-клиент. Создаются 2 файла:
client.xml
где описывается параметры запуска игры и проверка основных файлов.
В основном ставят проверку на aion.bin; skills.pak; system.ovr; проверяют по Md5 хэш-сумме
В файле это выглядит примерно так Проверка
Код:
<!-- Files Check -->
<filestocheck>
<file value="bin32\aion.bin" >
<hash value ="72-59-ad-f1-f4-07-42-c7-45-a4-7b-63-c2-88-3f-fc"/>
</file>
<file value="data\skills\skills.pak" >
<hash value ="e2-16-f7-1b-45-df-fe-31-05-92-79-5a-aa-4d-50-6d"/>
</file>
</filestocheck>
server.xml
тут логин, пасс, адрес к БД (подробностей не требует)
И опять же, только информация. Продвижения не наблюдается. Чтобы запустить L2PH нужно перехватить тот драйвер который хукает АА в процесс игры, но как я понял этот драёвер как раз и проверяет Md5 хэш файлов и отправляет на сервер для проверки. Зная оригинальных файлов Md5 можно перехватить эту отправку и послать свои? Оплата?
Сам платить не намерен, студент - народ бедный
Добавлено через 11 минут
Нашел исходные коды написанные на С# этого самого TestHook, но в нем я вообще не шарю 0_о
Гляньте, может поможет написать обновленный TestHook [Ссылки могут видеть только зарегистрированные пользователи. ]
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось mars2107; 17.12.2012 в 10:55.
Причина: Добавлено сообщение
прошу уточнить добрых людей на каком языке написан этот античит.
Добавлено через 10 часов 43 минуты
Обход античита будет реализован только на windows 7 64 битной версии в течении этой неделе.
в свободный доступ наврядли пущу, так что не надо засорять мне пм)
________________
я люблю talala,а talala любит весь форум
Последний раз редактировалось Battusai_; 17.12.2012 в 22:13.
Причина: Добавлено сообщение
AA работает в режиме сервер-клиент. Создаются 2 файла:
client.xml
где описывается параметры запуска игры и проверка основных файлов.
В основном ставят проверку на aion.bin; skills.pak; system.ovr; проверяют по Md5 хэш-сумме
В файле это выглядит примерно так Проверка
Код:
<!-- Files Check -->
<filestocheck>
<file value="bin32\aion.bin" >
<hash value ="72-59-ad-f1-f4-07-42-c7-45-a4-7b-63-c2-88-3f-fc"/>
</file>
<file value="data\skills\skills.pak" >
<hash value ="e2-16-f7-1b-45-df-fe-31-05-92-79-5a-aa-4d-50-6d"/>
</file>
</filestocheck>
server.xml
тут логин, пасс, адрес к БД (подробностей не требует)
И опять же, только информация. Продвижения не наблюдается. Чтобы запустить L2PH нужно перехватить тот драйвер который хукает АА в процесс игры, но как я понял этот драёвер как раз и проверяет Md5 хэш файлов и отправляет на сервер для проверки. Зная оригинальных файлов Md5 можно перехватить эту отправку и послать свои? Оплата?
Сам платить не намерен, студент - народ бедный
Добавлено через 11 минут
Нашел исходные коды написанные на С# этого самого TestHook, но в нем я вообще не шарю 0_о
Гляньте, может поможет написать обновленный TestHook [Ссылки могут видеть только зарегистрированные пользователи. ]
хэши не передаются в открытом виде.
это не исходники TestHook, а библиотека, которая использовалась в проекте TestHook.
Вот вся соль тестхук (c) puzer :
Код:
if (hookCallInfo.Params().GetAt(5).ULongVal == PRProtCtlCode(1))
{
hookCallInfo.Params().GetAt(5).LongVal = PRProtCtlCode(8);
}
Откуда эти xml-ки дернул? Есть серверный АА? Хотя бы старый..
Кста опять АА обновился. Теперь в папке клиента bin32 или bin64 валяется ActiveLauncher.exe. Собственно это и есть наш герой.
Цитата:
Сообщение от Battusai_
прошу уточнить добрых людей на каком языке написан этот античит.
Добавлено через 10 часов 43 минуты
Обход античита будет реализован только на windows 7 64 битной версии в течении этой неделе.
в свободный доступ наврядли пущу, так что не надо засорять мне пм)
Написано все на с++ в MSVS.
Что конкретно будет обходится?
Последний раз редактировалось captcher; 17.12.2012 в 22:42.
подменяется управляющий код, передаваемый драйверу active.sys с 1 на 8.
Ну то что подменяется я понимаю, а что именно подменивается?
Добавлено через 17 минут
На сколько мне известно, при событии FunctionCalled в active.sys или в самом AA отслеживается создание файла.
И если античит пытается создать файл с dwFileAttributes == FILE_ATTRIBUTE_READONLY, то атрибут подменивается на FILE_ATTRIBUTE_TEMPORARY. По поводу Temporary, могу ошибаться.
________________
Не стремлюсь в подполье...
Последний раз редактировалось -Emp-; 20.12.2012 в 18:05.
Причина: Добавлено сообщение
Конкретно не помню, но вообщем все сводилось к тому, что по коду 1 драйвер делал всякие плохие вещи (скрытие процесса и т.д.), а по коду 8 ни хера важного не делал. Сейчас это не актуально.
Цитата:
Сообщение от -Emp-
Добавлено через 17 минут
На сколько мне известно, при событии FunctionCalled в active.sys или в самом AA отслеживается создание файла.
И если античит пытается создать файл с dwFileAttributes == FILE_ATTRIBUTE_READONLY, то атрибут подменивается на FILE_ATTRIBUTE_TEMPORARY. По поводу Temporary, могу ошибаться.
Не понял. Откуда код? Из какого файла FunctionCalled? У тебя сорцы или декомпиль?
Подменять эти флаги античиту смысла нет, скорее всего они просто комбинируются при создании файла. Создается файл для чтения и не записывается на диск, а висит в ОЗУ.
Подменять эти флаги античиту смысла нет, скорее всего они просто комбинируются при создании файла. Создается файл для чтения и не записывается на диск, а висит в ОЗУ.
Может быть. Мне человек дал ссылку на библиотеку Deviare, от туда пример взял.
Запускаем 2 треда (здесь тоже всякие проверки и что-то отправляется на сервер, порты 11000 и 1862 (аион ин юа) )
Что касается клиент-серверного взаимодейтсвия - пока ничего толком не ясно. В пакетах точно передается инфа о целостности файлов АА и некоторых файлов клиента аион, но в каком виде и что туда еще намешано непонятно. Криптоанализатор показал сигнатуры md5 и SHA1, но от чего считаются хэши еще не смотрел.
Что касается взаимодействия с драйвером - тоже какая-то муть. Как видно при загрузке драйвера действия направлены на скрытие процесса. Обмен драйвера и dll или драйвера и exe тоже не совсем ясен, я нашел только одну функцию, которая вызывает DeviceIoControl и мне кажется, что это не то.
Последний раз редактировалось captcher; 21.12.2012 в 21:53.
сервис останавливается и удаляется - это видно по коду. я думаю, что суть такая: лаунчер запускает сервис и устанавливает драйвер, затем загружает dll в адресное пространство аион.бин через WriteProccessMemory, затем длл получает хэндл сервиса и через хэндл сервиса получает хэндл драйвера. т.е. сервис нужен что бы передать управление драйвером от лаунчера к длл. возможно я ошибаюсь.
.text:6411133A loc_6411133A: ; CODE XREF: DllMain(x,x,x)+114j
.text:6411133A call GetServiceHandle
.text:6411133F test eax, eax
.text:64111341 jz short loc_64111356
.text:64111343 push eax ; int
.text:64111344 push offset aErrorWhenOpeni ; "Error when opening service"
.text:64111349 call sub_64118FC0
.text:6411134E add esp, 8
.text:64111351 jmp loc_641113FC
.text:64111356 ; ---------------------------------------------------------------------------
.text:64111356
.text:64111356 loc_64111356: ; CODE XREF: DllMain(x,x,x)+131j
.text:64111356 call GetPRProtDeviceHandle
.text:6411135B mov edi, ds:ControlService
.text:64111361 mov ebx, ds:DeleteService
.text:64111367 test eax, eax
.text:64111369 jz short loc_64111373
.text:6411136B push eax
.text:6411136C push offset aErrorWhenObtai ; "Error when obtain device control"
.text:64111371 jmp short loc_641113CE
.text:64111373 ; ---------------------------------------------------------------------------
.text:64111373
.text:64111373 loc_64111373: ; CODE XREF: DllMain(x,x,x)+159j
.text:64111373 mov esi, hService
.text:64111379 lea edx, [esp+1D0h+ServiceStatus]
.text:6411137D push edx ; lpServiceStatus
.text:6411137E push 1 ; dwControl
.text:64111380 push esi ; hService
.text:64111381 call edi ; ControlService
.text:64111383 push esi ; hService
.text:64111384 call ebx ; DeleteService
.text:64111386 push esi ; hSCObject
.text:64111387 call ds:CloseServiceHandle
.text:6411138D call sub_641114E0
.text:64111392 test eax, eax
.text:64111394 jz short loc_641113BA
.text:64111396 cmp eax, 3
.text:64111399 jz short loc_641113B1
.text:6411139B cmp eax, 0Ch
.text:6411139E jz short loc_641113A8
.text:641113A0 push eax
.text:641113A1 push offset aErrorWhenStart ; "Error when start!"
.text:641113A6 jmp short loc_641113CE
по поводу скрытия процесса, согласен, что не совсем корректно. я описал, то что происходит в DriverEntry, а там как раз регистрируются различные обработчики, в том числе и которые прячут процесс. кста LoadImage и CreateProccess имеются ввиду колбаки PsSetLoadImageNotifyRoutine, PsSetCreateProcessNotifyRoutine.
Вся инфа, которую я даю, субъективна. Я могу во многих моментах ошибаться.
Последний раз редактировалось captcher; 22.12.2012 в 21:43.