Сейчас на форуме: (+6 невидимых) |
![]() |
eXeL@B —› Протекторы —› Denuvo - мнение\опыт\обсуждение |
<< . 1 . 2 . 3 . 4 . >> |
Посл.ответ | Сообщение |
|
Создано: 31 августа 2016 18:24 · Поправил: v00doo · Личное сообщение · #1 Мы тут обещали: Готовый пример на 50 мин. видео по распаковке Denuvo и обходу CPUID [RUS] Зеркала: https://mega.nz/#!XdtDGbCS!qdAemhodvvVq5_2gVhpaN4RMFB0sK0xCq42OCezKnDM Уже найдено в сети: https://youtu.be/M4-8VLGQWnY https://www.youtube.com/watch?v=4LlVenBI1WE Английский вариант будет позже ближе к ночи, еще не рендерили. Мы так же знаем, о наличии x86 билда Denuvo, который уже повесили на игры, интрига остается... Принимаем критику\идеи\опыт. Два основных условия топика: 1. Не просить кряки! Топик создан для исследования принципов и механизмов работы защиты. 2. Флуд в теме не приветствуется, но допускается в разумных количествах, всех нарушителей, кто перейдет черту - будут удалять. По активности темы можно будет понять насколько это интересует людей. ![]() |
|
Создано: 03 сентября 2016 18:59 · Личное сообщение · #2 Понимаю, что это косвенно связано с денувой, но все же.К стиму разные игры по-разному привязаны.Некоторые не юзают апи в теле, а запускаются в контексте, соответственно и либа steam(steam_api64.dll) подгружается опосля.Собственно, в качестве примера оставлю здесь ссылку, на GasGuzzlersDemo, отвязанную от Steam мной.Важно - стим стаб (упаковщик) никогда не портит импорт и его не надо восстанавливать.Достаточно поправить EntryPoint в дампе и запатчить вызовы SteamApi в теле.Секция .bind удаляется по желанию. GGED.zip: Code:
Если что-то непонятно, то можете проверить распакованный и запатченные варианты с помощью cmpdisasm, ибо мне пофиг ![]() PS.Если игра переключилась на английский язык, то нужно зайти в документы по адресу "\Gamepires\GasGuzzlersExtremeDemo", открыть GasGuzzlers.xml и изменить строчный параметр Language c en на ru. ----- TEST YOUR MIGHT ![]() |
|
Создано: 03 сентября 2016 20:06 · Личное сообщение · #3 unknownproject, CEG давно вымер. Зачем вообще выкладывать файлы, без остального импорта? unknownproject пишет: GasGuzzlers_dump.exe [Распакованный файл с поправленной точкой входа - требует наличие запущенного Steam] Этого достаточно, качаешь: https://github.com/AyriaPublic/AyriaPlatform Собираешь и все работает так как нужно, не портя логику игры, это слишком простая игра, а патчить апи в больших играх, так вообще сломает половину игры. ![]() |
|
Создано: 03 сентября 2016 20:58 · Поправил: Jenienbod · Личное сообщение · #4 |
|
Создано: 04 сентября 2016 01:01 · Личное сообщение · #5 Читаю оху...ю. Bronco ты чо концерт делаешь? Ну угараешь понимаю. Не хватает те веселья. Но чо издеваться то? Отвечай по теме и всё. Кто захочет правильный вопрос задать ответь без сарказма и все. Остальных рассуждателей хотетялей рабочих дампов на шару игнорь и все. Тут же весь офтоп и кончится. я так понял тя и на ресурсе игнорят знающие по каким то своим убеждениям(ну мож неправильно понимаю этот идиотский своеобразный форум). Да и пох.... Всем кто в теме с бронко могу только пожелать не делать из этого какой-то культ. Я бы хотел видеть вас может как наставников даже чтобы люди развивались. Но по личным наблюдениям на этом форуме научиться можно но спрашивать у кого-то нельзя никогда, потому-что тя говном измажут сразу. Ну честн все желание отбиваете. ![]() |
|
Создано: 04 сентября 2016 02:00 · Личное сообщение · #6 rus935 пишет: Читаю оху...ю. Bronco ты чо концерт делаешь? ваще не понял, это что за наезды? ![]() в орбитрах не нуждаюсь, поток орков прогнозируемый, ситуация контролируемая. старые тёрки тебя так же не касаются. Так что ничем не выделился и встрял не по теме. ![]() Как предмет дискуссий "защита" мало кого интересует,поэтому в её орбите тупо не здоровая атмосфера с самого начала. Знание ПЕ формата, это хребет, который обязателен, для общения на этом форуме. Вопросы ставить не обязательно, достаточно описать задачу или этап на котором застрял. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 04 сентября 2016 10:47 · Поправил: oldman · Личное сообщение · #7 Парни, спасибо за видосы, очень круто - даж вдохновило тоже полазить посмотреть что там да как.. Воопщем есть Doom, в нужное время активнутый бипасом. Версия не самая новая, до update2 hotfix-a, спокойно себе работает в оффлайн режиме. Запускается без проблем, но если пытаешься c под x64dbg стартануть, даже без установленных бряков: Last chance exception on 000000015A2418FC (C0000005, EXCEPTION_ACCESS_VIOLATION)! Code:
ScyllaHide свежая , от апреля этого года, профиль стоит VMProtect. Про антидебаг читал в первоначальном топике: ![]() |
|
Создано: 04 сентября 2016 11:11 · Личное сообщение · #8 oldman, мало инфо. Что в раксе? Ну и подробней как запускал. По Скиле приатачил конфиг. ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 04 сентября 2016 11:28 · Личное сообщение · #9 Bronco пишет: oldman, мало инфо. Что в раксе? Ну и подробней как запускал. По Скиле приатачил конфиг. Спасибо за конфиг. В раксе = 0x2ea Стим запущен в оффлайн режиме. С проводника на doomx64.exe - "Debug with x64dbg", запускается дебагер, стоим на EP.. Бряков вообще нет, ну и поехали - F9. Получаем тоже самое, эксепшн на том же адресе, в раксе = 0x2ea Добавлено спустя 24 минуты Бронко, подумал щаз, может вся эта канитель изза болгарских длл-ей: bink2w64.dll, VOKSI64.dll, да плюс патченный стим внутри папки с думом.. Попробовал запустить с под дебагера Ларку с итальянским аспирином - закрывается процесс в дебагере. Scylla с твоим конфигом. Без дебагера - игра стартует. Да, ос - вин7 64.. Мож того, пора на 10-ку переползать? ![]() ![]() |
|
Создано: 04 сентября 2016 12:17 · Личное сообщение · #10 oldman пишет: в нужное время активнутый бипасом Хм..тогда почему-то у нас билды разные. Скинь версию билда. По адресам другие инструкции, что в вулкане, что в в жл. Егор в стартовом коде, значит вм_оеп или не нашёл, или уже проскочил. Найди выход из этого вложения вм , тыкни аппаратный на исполнение, посмотри по стеку, после какой передачи управления егор на доступе. Добавлено спустя 2 минуты oldman пишет: Бронко, подумал щаз, может вся эта канитель изза болгарских длл-ей: bink2w64.dll, VOKSI64.dll, да плюс патченный стим внутри папки с думом.. Ну для их канители аттачиться к процессу надо, у них старт с консоли. Добавлено спустя 19 минут oldman пишет: Попробовал запустить с под дебагера Ларку с итальянским аспирином - закрывается процесс в дебагере. Да это цпю балуется, чтоб жёлтые не дебажили и не тырили ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 04 сентября 2016 13:32 · Личное сообщение · #11 Bronco пишет: Хм..тогда почему-то у нас билды разные. Скинь версию билда. По адресам другие инструкции, что в вулкане, что в в жл. Егор в стартовом коде, значит вм_оеп или не нашёл, или уже проскочил. Найди выход из этого вложения вм , тыкни аппаратный на исполнение, посмотри по стеку, после какой передачи управления егор на доступе. Да, то что билды у нас разные я с твоего микс-ролика в котором ты в том числе дум ковыряешь, увидел. У меня: Code:
Щаз для пробы скачал свежий билд, там: Code:
Он конечно отказывается работать и просит вывести стим из оффлайн режима. Вообщем продолжил ковырять тот билд что у меня, по аналогии с деусом нашёл то что у тебя в ролике про deus называется << hr1 - как я понял создаются страницы по 1000 в верхней памяти: Code:
Так вот сюда - 015A42D751 - я попадаю ещё до краша, все странички по 1000 успешно создаются, а вот дальше.. Нашёл (или мне так кажется) то что называется в ролике c deusom << hpage: Code:
Так вот в деусе сперва срабатывает бряк на <<hpage, а потом на <<hr1, в Думе же сперва <<hr1, ну а потом уже ловлю краш, до <<hpage не добираюсь, или не то место. Bronco пишет: Ну для их канители аттачиться к процессу надо, у них старт с консоли. Ты имеешь ввиду если запускать через дланчер? Вот 1 раз запускаешь через дланчер, стартует этот патченный стим с одним думом в нём, игра запускается. Выходишь с нее, стим остается открытый, теперь можно запускать сразу doomx64.exe. При этом все voksi64.dll есесно все равно подгружается. У тебя в ролике даже видно момет где открыта карта памяти и там этот dll загружен. Я вот и подумал, может какой-то конфликт идёт длл-ки с дебагером/защитой. ![]() |
|
Создано: 04 сентября 2016 14:33 · Личное сообщение · #12 oldman пишет: или не то место. В rax будет указатель на entry_metod_cpuid_or_syscall (можно пройтись по нему посмотреть), в rcx указатель на ячейку в секции кода, куда положат значение из rax. Там ошибиться трудно. эту страницу заполняют раньше тех что по 0х1000. В Думе функа смены атрибутов секций образа находится в секции кода,на неё выходят по разному, могут через стек, могут через "фантик" в странице, и обычно после неё шлёпают на стартовый код, который под слоем вм. Там переход как в упыксе прописан длинным прыжком или последний call. Вот если доберёшься туда, чуть пройдись потом жми в дебагере ртр. выйдешь на выход из блока передачи управления и востановления основного контекста цпу. Железяку на него и логируй после какого егор.)) Дум на шаблоность смотрел, пару раз запустил и забыл про него. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 05 сентября 2016 01:29 · Личное сообщение · #13 |
|
Создано: 05 сентября 2016 15:49 · Личное сообщение · #14 Bronco пишет: В rax будет указатель на entry_metod_cpuid_or_syscall (можно пройтись по нему посмотреть), в rcx указатель на ячейку в секции кода, куда положат значение из rax. Там ошибиться трудно. эту страницу заполняют раньше тех что по 0х1000 Ошибся я всё таки первый раз, настоящий hpage мутят тут: Code:
Теперь всё как надо, бряк на 15D598337 срабатывает раньше чем, на 15A42D74B где vpage по 1000 создаются. Дальше стал по твоему ролику действовать, после входа в call qword ptr ss:[rsp + 60] и чуть далее поставил бряк на ret в virtualprotect и F9, раз наверное 40-45, там уже смотрю в стеке нетолько с дума его вызывают, а уже даже GameOverlayRenderer64.dll маячит, потом опять дум.. Вообщем пытался выйти на vm_oep, как у тебя в ролике, нашел 4 места с imul esp,ecx, xxxxxxx, аппаратные бряки поставил - но они не сработали, раньше упал в тот самый эксепшн. Мне всё таки кажется, падает из за болгарина, чето он там намутил в своих дллах, возможно как и итальянцы - борется с дебагером, причем хитро, роняя денуву ![]() ![]() |
|
Создано: 05 сентября 2016 18:53 · Личное сообщение · #15 oldman пишет: Мне всё таки кажется, падает из за болгарина Мля.. напрягаете Дум ковырять, как бы не этично, перебегать дорогу раскрученной тиме, Дум её материал ![]() Странно но подобный функционал в стартовом коде, в Деусе появился после 3-го патч_фикса. И мне казалось, что это реакция на решение ЦПЮ. Code:
Voksi как видишь тут не при делах. ![]() ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 06 сентября 2016 09:09 · Личное сообщение · #16 Bronco пишет: Мля.. напрягаете Дум ковырять, как бы не этично, перебегать дорогу раскрученной тиме, Дум её материал Нормально, слишком долго телятся, кто бы они ни были, приходится самим впрягаться ![]() Bronco пишет: Странно но подобный функционал в стартовом коде, в Деусе появился после 3-го патч_фикса. И мне казалось, что это реакция на решение ЦПЮ. У тебя самый свежий апдейт дума? "Версия игры Update 2 HotFix, загружена 20.08.2016" ? Даже если так, получается этот функционал в Думе был скорее ответом на бипас от Вокси, а вот почему его в Деус с самого начала не воткнули - это вопрос.. Bronco пишет: Voksi как видишь тут не при делах. Ты писал про деус что этим кодом с вм_оеп чекают все страницы. Проясни плиз этот момент с вызовом VirtualQuery, хотя бы в общих чертах (про саму функцию в апи естественно я читал), это своего рода антидебаг? Ты считаешь, что у меня Дум ловит c0000005 под дебагером изза этого? ![]() |
|
Создано: 06 сентября 2016 13:11 · Личное сообщение · #17 Ну для начало немного мистики. Дамп который снимал в миксе, чтобы показать что он здоровый,лежит на диске по дате от 31 авг, а оригинал смотрю, что какого-то хера от 4 сен. ![]() ![]() oldman пишет: У тебя самый свежий апдейт дума? Нет, тот билд где вулкан появился. oldman пишет: функционал в Думе был скорее ответом на бипас от Вокси Сеорее всего это было в интерфейсе защиты, просто разрабы игр не заказывали. Ибо больше опций, больше кеша.. ![]() oldman пишет: Проясни плиз этот момент с вызовом VirtualQuery Проверяют все страницы и разделы в образах модулей, потом снапшот, потом процессы. В соседнем топе кидал инфо. Нах это , я не вникал, ибо на двух билдах Деуса, оно не кобенилось, а на предпоследнем билде, уже некогда было разбираться, дамп тупо забрал с аттача. oldman пишет: Ты считаешь, что у меня Дум ловит c0000005 под дебагером изза этого? Ну Пайпу он в начале для чего то создаёт. Повторюсь, что для сбора данных в скрипты, о выделенных страницах это не мешает. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 06 сентября 2016 13:27 · Личное сообщение · #18 Спасибо за инфу. Bronco пишет: Повторюсь, что для сбора данных в скрипты, о выделенных страницах это не мешает. Я тебя понял, забью пока на борьбу с антидебагом, просто напрягло немного, у тебя сколько роликов уже было, где ты запускаешь и Ларку, Деус, Жс3 с под дебагера и они бодро работают до запуска игры. А тут Дум блин крашится, для проверки достал с полки Ларку лицензию, покупал ещё в самом начале, как вышла, обновил до последнего билда в стиме. Стим в оффлайн перевёл, файл steam_appid.txt c 391220 внутри в папке с ларкой создал, игра нормально стартует прямо с rottr.exe с папки. Но как только запускаю с "Debug with x64dbg" , F9 - закрывается процес и пофигу ей на Скиллу с твоим конфигом. ![]() |
|
Создано: 06 сентября 2016 13:44 · Поправил: Bronco · Личное сообщение · #19 oldman пишет: F9 - закрывается процес и пофигу ей на Скиллу с твоим конфигом. Упс..это не антидебаг,смотри внимательней видос ![]() Тут дельту юзают для запуска. Пока она не меняется. Возможно юзают тайминги, а под дебагером идёт потеря этих данных, или уже другая разница в величинах. Куда пишут найти не сложно, но надо пройтись по выходу из первого вложения вм. //Хотя сейчас в стартовом коде минимум уже три вложения вм. В стеке будет указатель на небольшой метод(визуально увидишь:s3 ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 06 сентября 2016 16:10 · Личное сообщение · #20 Bronco пишет: Упс..это не антидебаг,смотри внимательней видос Тут дельту юзают для запуска. Пока она не меняется. Возможно юзают тайминги, а под дебагером идёт потеря этих данных, или уже другая разница в величинах. Вот даже так? Теперь я понял, куда попал ![]() Как и говорил, борьбу с безумным антидебагом пока бросил и занялся тем, что и хотел изначально сделать.. а именно получить рабочий дамп дума. Пока получилось найти в своем билде дума адреса для первых двух скриптов DumpHPage, DumpVpage, главное всё таки нашел адрес "<< VM OEP CODE START STEAM_DENUVO" и выше его как раз идут вызовы virtualprotect - устанавливают атрибуты секций, воопщем еще немного подготовительных мероприятий и можно делать дамп. ![]() |
|
Создано: 07 сентября 2016 22:00 · Личное сообщение · #21 |
|
Создано: 08 сентября 2016 02:46 · Личное сообщение · #22 Nospamwss пишет: Не мучай себя ребята с CPY красавчики и уже скинули таблу на дума Респект Conspiracy. Но я совершено не мучаюсь,для себя ж разбираюсь - интересно просто. Первые два скрипта выполнил, дамп сделал, секции правлю, ну и дальше там ещё делов немеряно.. У меня задача относительно простая - по возможности повторить на Думе то, что сделали Бронко и Пайнтер с Деусом в мувике. Без спешки,так сказать в познавательных целях. ![]() |
|
Создано: 08 сентября 2016 08:30 · Личное сообщение · #23 Небольшая статистика по MadMax, версия файла 1.0.3.0 Выделенных страниц аж 25 ![]() Указателей на hpage аж 75 ![]() Часть родного оеп немного под слоем вм. Указатель после ВинМайна для динамических цпуид всего 1. Весь концепт защиты, как и стартовый код Хренуво не менялся на протяжении полутора лет. В течении этого времени наращивалась только массовка.. Потратил на танцы с бубном 1 час. С эмулем стима завёлся с пол оборота. Сейвы работают. ![]() Млять...так и будете ждать по 2 недели подачек от CPY ? Релизить не собирась, ак не мой, библиотека там большая. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 08 сентября 2016 08:53 · Личное сообщение · #24 Bronco пишет: Потратил на танцы с бубном 1 час. С эмулем стима завёлся с пол оборота. Сейвы работают. Млять...так и будете ждать по 2 недели подачек от CPY ? Ну молодец :D Конечно будем ждать ![]() ![]() ![]() |
|
Создано: 08 сентября 2016 09:19 · Поправил: Bronco · Личное сообщение · #25 Nospamwss пишет: твой способ мб им не подходит или мб просто непонятен Ну да, есть же статический метод извлекать логику, прямо в пожато_пошифрованной секции кода.. ![]() У меня тут затык, у Хренувы ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 08 сентября 2016 23:59 · Личное сообщение · #26 |
|
Создано: 09 сентября 2016 00:46 · Личное сообщение · #27 Haoose-GP пишет: Привет. Прив. Парень толковый, сечёт с полуслова, толк будет. Он сам всё раскажет. GamiltonBrau пишет: Бронко боится ФБР и агентов Блашковича) Вот почему у тебя голова квадратная, и в чужую жопу заглядываешь ? ![]() С твоими минусами и бесполезными постами, ожидай вечный бан по айпи. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 09 сентября 2016 01:21 · Поправил: Haoose-GP · Личное сообщение · #28 |
|
Создано: 09 сентября 2016 10:08 · Личное сообщение · #29 |
|
Создано: 09 сентября 2016 18:11 · Личное сообщение · #30 oldman пишет: я хочу сам вкурить тему Такой подход самый лучший. Морфинг слабый, методы короткие, с апдейтом движка скрипт работает 3 минуты. Сдампленная страница инициализирована, плюс цпуид и сускол динамические и за её пределами. Задача простая. Сделать их статическими, найти трассой "неправильную" команду и исправить указатель в ней, на свои адреса инструкций. В чём между ними разница можно посмотреть после исполнения шапки скрипта. ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 10 сентября 2016 08:13 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . >> |
![]() |
eXeL@B —› Протекторы —› Denuvo - мнение\опыт\обсуждение |