Софт Вопрос Vmprotect unpack

Начинающий
Статус
Оффлайн
Регистрация
9 Апр 2024
Сообщения
3
Реакции[?]
1
Поинты[?]
1K
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
 
Пользователь
Статус
Оффлайн
Регистрация
23 Авг 2021
Сообщения
521
Реакции[?]
53
Поинты[?]
20K
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
скорее всего там последняя версия крякнутого вмп (3.8.1, 3.8.4), поэтому ты вряд-ли в интернете найдешь паблик анти дебаггер

можешь впринципе попробовать титанхайд какой-нибудь или гиперхайд (не уверен в том что говорю, ибо я не дебажил екзекютбл на котором висит вмп с анти дебаггером)
 
Начинающий
Статус
Оффлайн
Регистрация
9 Апр 2024
Сообщения
3
Реакции[?]
1
Поинты[?]
1K
скорее всего там последняя версия крякнутого вмп (3.8.1, 3.8.4), поэтому ты вряд-ли в интернете найдешь паблик анти дебаггер

можешь впринципе попробовать титанхайд какой-нибудь или гиперхайд (не уверен в том что говорю, ибо я не дебажил екзекютбл на котором висит вмп с анти дебаггером)
Понял, а такой вопрос, я типо ваще пряник во всем этом, как вообще установить плагин титанхайд или гиперхайд? Скуллахайд легко устанавливается, а с другими по типу этих я ваще не понимаю че делать, очень много файлов, и я вообще хз.
 
Начинающий
Статус
Оффлайн
Регистрация
25 Май 2021
Сообщения
40
Реакции[?]
5
Поинты[?]
0
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
just open idax64 and use hide plugins ????? thats easy
 
✊Rot Front✊
Пользователь
Статус
Оффлайн
Регистрация
2 Июл 2020
Сообщения
132
Реакции[?]
257
Поинты[?]
85K
В инете чит нашел, который просит ключ для доступа, крякнуть хотел, но там стоит вмпротект. Сам искал гайды на ютубе, наткнулся только на англоязычные видосы, делал все как в видосах и по всем гайдам выдавало одну и ту же ошибку. Кто нибудь знает, как можно анпактуть вмпротект?
Чтобы помочь людям отвечу вам публично(а не в лс).
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 (просто измените код):
C++:
 // Handle ProcessDebugObjectHandle early
if(ProcessInformationClass == ProcessDebugObjectHandle &&
        ProcessInformation != nullptr &&
        ProcessInformationLength == sizeof(HANDLE) &&
        Hider::IsHidden(pid, HideProcessDebugObjectHandle))
{
    __try
    {
        ProbeForRead(ProcessInformation, ProcessInformationLength, 4);

        if (ReturnLength != NULL)
            ProbeForWrite(ReturnLength, sizeof(ULONG), 1);
    }
    __except(EXCEPTION_EXECUTE_HANDLER)
    {
        return GetExceptionCode();
    }

    PEPROCESS Process;
    NTSTATUS Status = ObReferenceObjectByHandle(ProcessHandle,
                      PROCESS_QUERY_INFORMATION,
                      *PsProcessType,
                      ExGetPreviousMode(),
                      (PVOID*)&Process,
                      nullptr);
    if(!NT_SUCCESS(Status))
        return Status;

    // (The kernel calls DbgkOpenProcessDebugPort here)

    ObDereferenceObject(Process);

    __try
    {
        *(PHANDLE)ProcessInformation = nullptr;

        if (ReturnLength != nullptr)
            *ReturnLength = sizeof(HANDLE);
    }
    __except(EXCEPTION_EXECUTE_HANDLER)
    {
        return GetExceptionCode();
    }
    return STATUS_PORT_NOT_SET;
}
P.S чтобы загрузить неподписанный драйвер включите Test Mode( bcdedit.exe -set TESTSIGNING ON) и отключите временно Secure Boot(а лучше выполняйте всё на VM).
Я лично не вижу особого смысла распаковывать приложение т.к можно попросту сделать runtime patch + вам потребуется больше времени(в зависимости от защиты)
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
29 Мар 2024
Сообщения
6
Реакции[?]
0
Поинты[?]
0
 
Новичок
Статус
Оффлайн
Регистрация
3 Окт 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Чтобы помочь людям отвечу вам публично(а не в лс).
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 (просто измените код):
C++:
 // Handle ProcessDebugObjectHandle early
if(ProcessInformationClass == ProcessDebugObjectHandle &&
        ProcessInformation != nullptr &&
        ProcessInformationLength == sizeof(HANDLE) &&
        Hider::IsHidden(pid, HideProcessDebugObjectHandle))
{
    __try
    {
        ProbeForRead(ProcessInformation, ProcessInformationLength, 4);

        if (ReturnLength != NULL)
            ProbeForWrite(ReturnLength, sizeof(ULONG), 1);
    }
    __except(EXCEPTION_EXECUTE_HANDLER)
    {
        return GetExceptionCode();
    }

    PEPROCESS Process;
    NTSTATUS Status = ObReferenceObjectByHandle(ProcessHandle,
                      PROCESS_QUERY_INFORMATION,
                      *PsProcessType,
                      ExGetPreviousMode(),
                      (PVOID*)&Process,
                      nullptr);
    if(!NT_SUCCESS(Status))
        return Status;

    // (The kernel calls DbgkOpenProcessDebugPort here)

    ObDereferenceObject(Process);

    __try
    {
        *(PHANDLE)ProcessInformation = nullptr;

        if (ReturnLength != nullptr)
            *ReturnLength = sizeof(HANDLE);
    }
    __except(EXCEPTION_EXECUTE_HANDLER)
    {
        return GetExceptionCode();
    }
    return STATUS_PORT_NOT_SET;
}
P.S чтобы загрузить неподписанный драйвер включите Test Mode( bcdedit.exe -set TESTSIGNING ON) и отключите временно Secure Boot(а лучше выполняйте всё на VM).
Я лично не вижу особого смысла распаковывать приложение т.к можно попросту сделать runtime patch + вам потребуется больше времени(в зависимости от защиты)
на 3.8.8 тоже будет работать? в ченджлогах есть импрув антидебага
 
✊Rot Front✊
Пользователь
Статус
Оффлайн
Регистрация
2 Июл 2020
Сообщения
132
Реакции[?]
257
Поинты[?]
85K
на 3.8.8 тоже будет работать? в ченджлогах есть импрув антидебага
Я не смотрел всё,что автор изменил после публикации статьи. Одним из мемов стал sys_query_proc(NtQueryInformationProcess) т.к автор вызывает manual syscall, даже если переписать его в стеке на NULL(т.е там идёт доп.переменная,что мы получили вообще syscall_id), но это относится только к sys_query_proc и нужно думать,как он собирает manual syscall(вроде,автор добавил другой способ). Я не видел,чтобы он добавлял bug check,но просто измените хуки на прослушивание и проанализируйте полученный результат.
 
Пользователь
Статус
Оффлайн
Регистрация
20 Янв 2022
Сообщения
182
Реакции[?]
40
Поинты[?]
25K
скорее всего там последняя версия крякнутого вмп (3.8.1, 3.8.4), поэтому ты вряд-ли в интернете найдешь паблик анти дебаггер

можешь впринципе попробовать титанхайд какой-нибудь или гиперхайд (не уверен в том что говорю, ибо я не дебажил екзекютбл на котором висит вмп с анти дебаггером)
P.S. в новых версиях вмп есть детект титан хайда(включить его можно с помощью User Mode + Kernel Mode)
 
Начинающий
Статус
Оффлайн
Регистрация
21 Апр 2024
Сообщения
30
Реакции[?]
20
Поинты[?]
19K
Можно просто поставить execution бреакпоинт на всю секцию текст,как только он у тебя сработает все файл распоковался и началось выполнять оригинальный код.Ты уже на ентри поинте.Жмешь кнопку дамп в x64dbg и надеваешь праздничные трусики ты победил.

P.S.Можно и как парни сверху писали,но смысл заморачиваться если можно анпакнуть одним брейкпоинтом??????
 
✊Rot Front✊
Пользователь
Статус
Оффлайн
Регистрация
2 Июл 2020
Сообщения
132
Реакции[?]
257
Поинты[?]
85K
Можно просто поставить 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) и могу ошибиться).
 
Разработчик
Статус
Оффлайн
Регистрация
18 Мар 2020
Сообщения
442
Реакции[?]
871
Поинты[?]
196K
P.S.Можно и как парни сверху писали,но смысл заморачиваться если можно анпакнуть одним брейкпоинтом??????
А если пользователь не допустит ту же ошибку, что показана на скриншоте? Описанный тобой метод эффективен только для приложений, где минимально задействован VMProtect.
1714976468241.png

Будет ли приложение функционировать после распаковки, если я защищу пользовательский код виртуализацией, например, main функцию? Кстати, ответ на этот вопрос был дан ещё два года назад: Unpack vmprotect 3.4 | Сайт читов, скриптов и кодов для онлайн игр - YouGame.Biz
 
Начинающий
Статус
Оффлайн
Регистрация
21 Апр 2024
Сообщения
30
Реакции[?]
20
Поинты[?]
19K
Ну да наверное мой способ сильно ограничен ну если заморачиваться не хочется или ты не шаришь можно попробовать вдруг прокатит
 
Начинающий
Статус
Оффлайн
Регистрация
21 Апр 2024
Сообщения
30
Реакции[?]
20
Поинты[?]
19K
P.S. в новых версиях вмп есть детект титан хайда(включить его можно с помощью User Mode + Kernel Mode)
В новых это в каких?Я в 3.8.1 что слили спокойно анти дебаг с титанхайдом прохожу
 
Последнее редактирование:
Сверху Снизу