В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
скорее всего там последняя версия крякнутого вмп (3.8.1, 3.8.4), поэтому ты вряд-ли в интернете найдешь паблик анти дебаггер
можешь впринципе попробовать титанхайд какой-нибудь или гиперхайд (не уверен в том что говорю, ибо я не дебажил екзекютбл на котором висит вмп с анти дебаггером)
скорее всего там последняя версия крякнутого вмп (3.8.1, 3.8.4), поэтому ты вряд-ли в интернете найдешь паблик анти дебаггер
можешь впринципе попробовать титанхайд какой-нибудь или гиперхайд (не уверен в том что говорю, ибо я не дебажил екзекютбл на котором висит вмп с анти дебаггером)
Понял, а такой вопрос, я типо ваще пряник во всем этом, как вообще установить плагин титанхайд или гиперхайд? Скуллахайд легко устанавливается, а с другими по типу этих я ваще не понимаю че делать, очень много файлов, и я вообще хз.
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
Чтобы помочь людям отвечу вам публично(а не в лс).
UM решение: я уже публиковал статью,насчётспособа обхода(с костылём,но вас это мало должно волновать)
Вам нужно заставить думать,что build number является ложным,чтобы заставить VMP мапить ntdll с диска,где уже можно просто обмануть.
KM решение: любой хук в ядре на обработку следующих моментов(это фикс для TitanHide,но я не буду расписывать как всё правильно делать,ибо спасибо никто не скажет):
PEB->BeingDebugged(просто перезапись в UM на FALSE)
NtQueryInformationProcess:ProcessDebugPort и ProcessDebugObjectHandle с bug check.
NtClose можно проверить HANDLE на 0XDEADC0DE и вернуть STATUS_INVALID_HANDLE.
KiDispatchException:STATUS_SINGLE_STEPдолжен обрабатывать дебаггер и нужно скрыть аппаратные точки остановы при обработке этого исключения.
Поскольку автор VMP идёт по следующему странному пути:"Любая симпатия – это ложная жалость, которую покупатели не примут в качестве оправдания."
В результате чего я публикую фикс для TitanHide,а именно обработку ProcessDebugObjectHandle (просто измените код):
P.S чтобы загрузить неподписанный драйвер включите Test Mode( bcdedit.exe -set TESTSIGNING ON) и отключите временно Secure Boot(а лучше выполняйте всё на VM).
Я лично не вижу особого смысла распаковывать приложение т.к можно попросту сделать runtime patch + вам потребуется больше времени(в зависимости от защиты)
Ахтунг! Сегодня речь пойдёт об антиотладке VMProtect, которая сильно импрувнулась начиная с версии 3.1, в итоге её не берут никакие плагины по типу ScyllaHide. Связано это с тем что разрабы перестали вызывать функции из системных длл, они начали это делать шеллкодом в выделенной памяти через...
Чтобы помочь людям отвечу вам публично(а не в лс).
UM решение: я уже публиковал статью,насчётспособа обхода(с костылём,но вас это мало должно волновать)
Вам нужно заставить думать,что build number является ложным,чтобы заставить VMP мапить ntdll с диска,где уже можно просто обмануть.
KM решение: любой хук в ядре на обработку следующих моментов(это фикс для TitanHide,но я не буду расписывать как всё правильно делать,ибо спасибо никто не скажет):
PEB->BeingDebugged(просто перезапись в UM на FALSE)
NtQueryInformationProcess:ProcessDebugPort и ProcessDebugObjectHandle с bug check.
NtClose можно проверить HANDLE на 0XDEADC0DE и вернуть STATUS_INVALID_HANDLE.
KiDispatchException:STATUS_SINGLE_STEPдолжен обрабатывать дебаггер и нужно скрыть аппаратные точки остановы при обработке этого исключения.
Поскольку автор VMP идёт по следующему странному пути:"Любая симпатия – это ложная жалость, которую покупатели не примут в качестве оправдания."
В результате чего я публикую фикс для TitanHide,а именно обработку ProcessDebugObjectHandle (просто измените код):
P.S чтобы загрузить неподписанный драйвер включите Test Mode( bcdedit.exe -set TESTSIGNING ON) и отключите временно Secure Boot(а лучше выполняйте всё на VM).
Я лично не вижу особого смысла распаковывать приложение т.к можно попросту сделать runtime patch + вам потребуется больше времени(в зависимости от защиты)
Я не смотрел всё,что автор изменил после публикации статьи. Одним из мемов стал sys_query_proc(NtQueryInformationProcess) т.к автор вызывает manual syscall, даже если переписать его в стеке на NULL(т.е там идёт доп.переменная,что мы получили вообще syscall_id), но это относится только к sys_query_proc и нужно думать,как он собирает manual syscall(вроде,автор добавил другой способ). Я не видел,чтобы он добавлял bug check,но просто измените хуки на прослушивание и проанализируйте полученный результат.
скорее всего там последняя версия крякнутого вмп (3.8.1, 3.8.4), поэтому ты вряд-ли в интернете найдешь паблик анти дебаггер
можешь впринципе попробовать титанхайд какой-нибудь или гиперхайд (не уверен в том что говорю, ибо я не дебажил екзекютбл на котором висит вмп с анти дебаггером)
Можно просто поставить execution бреакпоинт на всю секцию текст,как только он у тебя сработает все файл распоковался и началось выполнять оригинальный код.Ты уже на ентри поинте.Жмешь кнопку дамп в x64dbg и надеваешь праздничные трусики ты победил.
P.S.Можно и как парни сверху писали,но смысл заморачиваться если можно анпакнуть одним брейкпоинтом??????
Можно просто поставить execution бреакпоинт на всю секцию текст,как только он у тебя сработает все файл распоковался и началось выполнять оригинальный код.Ты уже на ентри поинте.Жмешь кнопку дамп в x64dbg и надеваешь праздничные трусики ты победил.
P.S.Можно и как парни сверху писали,но смысл заморачиваться если можно анпакнуть одним брейкпоинтом??????
Увы и ах,если виртуализация OEP стоит - вам это не поможет нормально в распаковке.
Не забываем о фиксе импортов и релоков + если используется VMP SDK(всё,кроме VMProtectIsProtected(вроде)) - вам нужно будет фиксить чтение памяти,иначе ваша программа уйдет в STATUS_ACCESS_VIOLATION.
Можно пойти специфическим путём,например,если программа в headers->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_CUI/IMAGE_SUBSYSTEM_WINDOWS_GUI(IMAGE_FILE_DLL) и используется CRT - VMP,вроде,не совсем корректно обрабатывает scrt_common_main_seh и dllmain_dispatch(если исправили в последней версии - скажите),то можете просто поменять EP на scrt_common_main_seh или dllmain_dispatch. Это специфический случий,ибо такой халявы увидите,но не забываем про фикс VMP SDK,релоков и импортов.
Вроде,небольшой вспомогательный метод пофиксили(или нет т.к мне лень думать в час ночи) т.к делюсь инфой часто,хотя счастье любит тишину:
VMP вызывает NtProtectVirtualMemory (manual syscall ,если VMP поддерживает этот билд(или спарсил syscall) или вызывает в ntdll ,если что-то пошло не так).Нужно найти последний вызов NtProtectVirtualMemory и после его выполнения, нужно поставить bp(Guard hook ) на выполнение 1 секции VMP и .text секцию.
.text - вы в шоколаде ,а если .vmp0 - вы только найдёте виртуализированный код,но первоначальный код программы не будет выполнен(речь про код оригинальной программы, хотя я тестил только с int3(CC) и могу ошибиться).
А если пользователь не допустит ту же ошибку, что показана на скриншоте? Описанный тобой метод эффективен только для приложений, где минимально задействован VMProtect.