Кароче чем дальше тем больше нихрена не понятно причина молчания профи по трещинам , одно ясно что зубы они сломали о новую защиту не важно будь там вмп или денуво, но протект пока держит верх над пиратами, остается лишь ждать и смотреть вперед с надеждой, и ничего более... _Тему в целом можно считать мертвой или вовсе closed её до появления хоть какой нибудь трещины любого ноябрьского продукта.. таблетка comming soon
yoi386, Ну зачем же так критично. Скорее всего такой долгой задержки как раньше уже не будет, просто нужно время разобраться. А на счет вмп, сомневаюсь что дело только в ней, т.к. сомневаюсь в том, что остальное не ломают, потому что Ассассином все время заняты.
Ну зачем же так критично. Скорее всего такой долгой задержки как раньше уже не будет, просто нужно время разобраться. А на счет вмп, сомневаюсь что дело только в ней, т.к. сомневаюсь в том, что остальное не ломают, потому что Ассассином все время заняты.
Поддерживаю. Ванговать не стану. Но насколько я помню такая задержка была каждый раз когда что-то "новое" внедряют в защиту. Вот и в этот раз, по крайней мере из того что я понял на exelab и reddit, триггер защиты "прикрутили" даже к движению, тобишь любой чих в игре - защита. И как во всех предыдущих случаях, вместо того что бы выдирать код ручками с каждой строчки, одна из групп размышляет о универсальном взломе/обходе. Смею заметить каждый раз это было какое-нибудь красивое решение.
Reynor Я под словом протект имел ввиду в целом защиту не важно как она называется, и что бережет от взлома сам факт того что пока молчание, ну может к концу месяца что нибудь покажется..ванговать можно крайне долго, поживем, увидим как говорится;)
yoi386, аааа, не так понял, извини. Ну молчание от сцен групп это норма, всегда так было. Но, как уже замечали выше, есть вероятность того, что они специально не ломают сразу, что бы не провоцировать еще большего захламления защиты. Хотя это и крайне маловероятно, хотя бы потому, что им бы всем пришлось договориться. Но с другой стороны, раз уж две кряк группы объединились для парочки проектов, то и договор между ними не такая уж и нереальная вещь, как казалось раньше :) В общем да, поживем - увидим
Reynor Если договор между ними не трогать игру дабы больше не апгрейдили защиту, это похвально и всецелостно верно..., как говорится не ворошить улей..ну ждемс вестей с полей что сказать
Переходим по адресу 00007ffe0069fee2 и попадаем в раздел с системными вызовами библиотеки ntdll.dll Флаг условного перехода jne не активен, поэтому переход не осуществляется. Меняем jne на jz и прыгаем на первый ret. Выходим и попадаем в ядерную функцию KiUserCallbackDispatcher, в которой происходит обработка вызова режима пользователя Прототип KiUserCallbackDispatcher
// NtCallbackReturn никогда не вернётся, если что-то пошло не так for (;;) RtlRaiseStatus(Status); }
Снова вызывается NtCallbackReturn (срабатывает ранее измененный условный переход и syscall не происходит). И дальше начинается свистопляска с RtlRaiseStatus С mov B10 на call B4A бесконечный цикл (for (;;)) с исключением c000041d. В теории, обратные вызовы режима ядра к пользовательскому режиму жестко завязаны на архитектуре окон. По идеи где-то должен быть user32!_fnINLPCREATESTRUCT -> user32!DispatchClientMessage (и драйвер win32k.sys, который обрабатывает создание окна в режиме ядра), который судя по всем и выдает то сообщение. Но я кроме gdi32full.dll пока ничего не увидел.
В общем антидебаг отменный повешен, с ходу так и не разберёшь.
Это на ntdll.dll До вмок там ещё как до Китая. Очень много ядерных процедур проходит, прежде чем код вернётся в основной поток.
Может я конечно что-то и путаю (всё же не хакер, а просто программист), но продвинутся за syscall можно так: 1. Патчим ZwCallbackReturn по адресу 00007FFE0069FED0 2. Патчим ZwQueryInformationProcess по адресу 00007FFE006A0150 3. Патчим ZwTraceControl по адресу 00007FFE006A3540 4. Патчим ZwQueryDebugFilterState по адресу 00007FFE006A2500 5. Патчим je ntdll.7FFE006D2343 в jne ntdll.7FFE006D2343 по адресу 00007FFE006D2339
После этого я наконец-то увидел загрузку ACOrigins.exe в модуле ntdll.dll
k3rnel-pan1c, А НФС ковырял? Не знаешь по какой причине может быть такая задержка? Ну т.е. есть ли там что то, что могло бы задержать взлом? Или все же ее не ломают по другим причинам?
Вот кстати о чем-то подобном только хотел написать...никто не подумал, что может что-то случилось) причем скорее у стимпанков (если это вообще не один человек), всякое бывает, в больницу попал человек (если группа, то например тот кто особенно хорошо разбирается) или дома проблемы какие, не до взлома так сказать...а CPY как по мне вроде так и не стали ускоренно делать релизы, вот они может сидят разбирают ассассина
Походу ещё и RtlUnhandledExceptionFilter палит отладчик и её тоже нужно обходить. x64dbg создаёт процесс с флагами отладки. RtlUnhandledExceptionFilter, используя функцию NtQueryInformationProcess, определяет выполняется ли процесс по отладчиком, т.е. был ли он создан с флагами DEBUG_ONLY_THIS_PROCESS или DEBUG_PROCESS. Если процесс запущен под отладчиком RtlUnhandledExceptionFilter возвращает EXCEPTION_CONTINUE_SEARCH. [off]Тут нужно посмотреть SetUnhandledExceptionFilter, это пользовательский фильтр исключений (callback функция). Возможно здесь юбики и навесили антидебаг. В таком случае RtlUnhandledExceptionFilter помещает в глобальную переменную новый адрес пользовательской callback функции и возвращает адрес старой.[/off] После, RtlUnhandledExceptionFilter формирует диалоговое окно Application Error из функции NtRaiseHardError. Теоретически его можно избежать: либо вызвав функцию SetErrorMode с флагом SEM_NOGPFAULTERRORBOX до возникновения исключения, либо параметр AeDebug в реестре должен быть равен 1. В общем при отладке внутри RtlUnhandledExceptionFilter у меня сработала printf с ошибкой No Valid Win32 Error Mapping.
yoi386, да хз. Меня удивляет, что даже сами CPY не могут справиться. Ладно панки и кодекс. Кодекс так вообще непонятно, с какой целью зарелизили тени мордора, тем самым дав надежду и показав, что и они не пальцем деланные, что и они могут распотрошить игру на которой есть 'Д'. А потом так вообще объединяются с панками, чтоб взломать этот несчастный симулятор автобуса и южный парк?
Вам здесь уже даже разбирающийся человек наглядно показал,что неплохо доработали защиту в 4.7 версии, отсюда и задержки, а вы всё заговоры массонов ищите
Другое дело, что группы могли бы поломать старые релизы пока что с серьезными обновами, раз застой интеллектуальный, непонятно почему они это не делают,а вместо этого ломают симулятор автобуса с протектом(и не лень же им было )
Ripper174, Они,скорей всего,не геймеры,а программеры,вот и у них «спортивный интерес» защиту преодолеть,а не по рейтингу игр выстраивать приоритет взлома
roadrunner, ну в таком случае остался еще Handball 17 с трешкой,почему бы им его не сломать Да и Anno/Heroes 7 тяжело назвать взломанными,ибо аддоны серьезные вышли.
Те же кодексы релизят обновы на обычные игры только так,так что вряд ли они "не в курсе" что надо бы обновить игры с денувой старые,думаю у них не только спортивный интерес
Вам здесь уже даже разбирающийся человек наглядно показал,что неплохо доработали защиту в 4.7 версии, отсюда и задержки
Эм... где? Ты про посты о Assassin's Creed Origins? Так там про денуву ни слова, до нее он еще не добрался, все эти антиотладки к ней не имеют никакого отношения. Про NFS он же написал что не ковырял ее из-за отсутствия лицензии.
Дата: Воскресенье, 19.11.17, 03:04 | Сообщение # 9413
ЦитатаKidefo ()
Тогда к чему всё это было написано?
Почему то все бегут вперед паровоза) Что нужно чтобы спокойно трассировать vm'ки? Нужно закинуть экзешник в отладчик и (утрировано) сидеть отлавливать триггеры. Но кое-что мешает это сделать - антидебаг. Можно сказать это первый уровень защиты, второй и третий это vmp и denuvo. Пока не будет снят антидебаг, ни о какой речи про vmp и denuvo быть не может. Антидебаг здесь ядерный (так просто не отловить). В обычном смысле слова точкой входа является первая инструкция в программе (например main). Но мало кто догадывается, что перед тем как процессор начнёт выполнять main, в ядре ОС происходит целая процедура подготовительных работ. Начинается она с LdrpInitializeProcess (функция инициализации процесса). Здесь подготавливаются регистры, контекст, а также она вызывает Kernel32ThreadInitThunkFunction из kernel32.dll (функция BaseThreadInitThunk), которая подготавливает основной поток (процесс один, а потоков у него может быть много). В LdrpInitializeProcess происходит ещё целая серия инициализации других функций, но их значимость сейчас неинтересна. Далее процесс подготовки передаётся в функцию _LdrpInitialize. Здесь обрабатываются образы, пулы, wow64 и прочее. Затем процесс возвращает LdrpInitialize для дальнейшего перехода к LdrInitializeThunk. Именно в LdrInitializeThunk все потоки пользовательского режима начинают свое выполнение (можно сказать что это своеобразная точка входа для точки входа). Эта функция вызывает NtContinue и завершается. И вот только теперь начинается main. Вся эта хрупкая конструкция ломается в АСО на этапе передачи информации между ntdll.dll и kernel32.dll (BaseThreadInitThunk), в момент когда в регистр rcx попадает ловушка (подозреваю эта qword ptr [rcx+10]=[000000000038E010 <&Ordinal261>]=<acorigins.Ordinal261>). И всё, код выполняется совершенно по другой цепочке. На LdrInitializeThunk->NtContinue мы не попадаем, зато попадаем на NtCallbackReturn->syscall -> int 2e.
Дата: Воскресенье, 19.11.17, 03:23 | Сообщение # 9414
k3rnel-pan1c, скажи пожалуйста, какая у тебя сейчас цель? Посмотреть как работает денува и попробовать ее сломать? Тогда лучше работать с каким-нибудь Соником, к примеру, где нет такого антидебага, VMP и т.п. Или же ты конкретно хочешь сломать именно ACO? Тогда работа утраивается, ведь к денуве еще приплюсовывается антидебаг с VMP + не забудь об эмуляторе Uplay, универсального-то нет. Или у тебя цель просто засунуть ACO под отладчик, обойдя антидебаг?
Дата: Воскресенье, 19.11.17, 11:32 | Сообщение # 9415
k3rnel-pan1c, насчет "триггеров", их вообще не нужно трогать, если лицензия пропатчана/собрана полностью валидной по методу STEAMPUNKS и CPY. И насчет антидебага, ACO прекрасно дебажится, если поставить петлю кое-где и приаттачиться к процессу (разумеется, нужно произвести тщательную настройку ScyllaHide перед этим). Заметил, что ты много пересказываешь из того самого видео от Bronco и PainteR, многое сказанное тобой уже было показано в 1-й главе К тому же, как Haoose написал сверху, если цель исследовать новую Denuvo, начни с разбора нового Соника, там где нет слоя VMP.