Сейчас на форуме: (+6 невидимых) |
![]() |
eXeL@B —› Протекторы —› Снятие пакера PECompact |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 24 июля 2012 20:40 · Поправил: Worldmasters · Личное сообщение · #1 Здравствуйте, вот попалась под руки программа. Закрытая вроде бы простым пакером PECompact 2.x -> Jeremy Collake [Overlay]. Перечитал кучу документации на различных форумах. Также были испробованы все доступные унпакеры для данного типа. ![]() Результат некудышный. С грехом пополам получилось найти OEP - 005CC6E3 Olly смогла работать с прогой при наличии Fantom с настрйоками Hide PEB, Load Driver, hide ollyDB windows. Снял дамп с помощью PETool. На этом стопор. Никак не получается восстановить таблицу импорта. Также перепробовал кучу разных реконструкторов. Помогите пожалуйста. Может ктонибудь сталкивался с подобным стилем упаковщика. Прилагаю Отмечу что кейген для проги мне не нужен. Цель снять защиту. С генератором я сам разберусь. ![]() Заранее спасибо. ![]() |
|
Создано: 24 июля 2012 20:54 · Личное сообщение · #2 |
|
Создано: 24 июля 2012 20:58 · Личное сообщение · #3 schokk_m4ks1k пишет: если тебе нужен тупо анпак то тебе в запросы! Да уже не знаю что мне нужно... ![]() Щас поищу на сайте тутор. Спасибо. ![]() |
|
Создано: 24 июля 2012 21:47 · Поправил: FrenFolio · Личное сообщение · #4 Worldmasters пишет: Здравствуйте, вот попалась под руки программа. Закрытая вроде бы простым пакером PECompact 2.x -> Jeremy Collake [Overlay]. Перечитал кучу документации на различных форумах. Также были испробованы все доступные унпакеры для данного типа. (( Worldmasters пишет: Щас поищу на сайте тутор. Спасибо. Автоанпакеры или же тутор по снятию PECompact тебе не помогут. Потому как тут PECompact навешан поверх какого-то протектора, и адрес 005CC6E3 - это переход на защищенный им код. Затрудняюсь сказать, что именно там висит, но увидел защиту импорта + обфускацию кода. Возможно, это какой-то прот для ебуков, так как здесь именно книга. ![]() ----- Программист SkyNet ![]() |
|
Создано: 24 июля 2012 22:08 · Поправил: Veliant · Личное сообщение · #5 |
|
Создано: 24 июля 2012 22:46 · Личное сообщение · #6 |
|
Создано: 24 июля 2012 22:56 · Личное сообщение · #7 |
|
Создано: 24 июля 2012 23:56 · Личное сообщение · #8 Так вскрыть то это можно как нибудь??? ![]() Или это тухлый номер??? Очень хотелось бы расковырять ... уже просто спортивный интерес.... Пытался анализировать то что в olly видно. Но там как то неудобно. Нашел функцию проверки, там чтото код видимо не полностью показан и не понятно кто и куда прыгает. Помогите пожалуйста. ![]() |
|
Создано: 25 июля 2012 04:23 · Личное сообщение · #9 Worldmasters пишет: Результат некудышный. С грехом пополам получилось найти OEP - 005CC6E3 Code:
вот мы стоим на адрессе 602278 и прокручиваем листинг вниз и видем такой код Code:
всё действие занимает 5 сек ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 25 июля 2012 07:00 · Поправил: Worldmasters · Личное сообщение · #10 |
|
Создано: 25 июля 2012 11:01 · Поправил: Veliant · Личное сообщение · #11 Если не хочешь снимать vmprotect, то ставь аппаратный бряк на адрес 530888 и отлаживай себе. Ищи нужные тебе строки или алгоритмы. Например проверка ключа при вводе осуществляется здесь 520ce0, по адресу 520d35 сравнивается длина ключа с 24. После этого проверяются символы на допустимые, сохраняет и просит перезапустить прогу ![]() |
|
Создано: 25 июля 2012 12:36 · Личное сообщение · #12 |
|
Создано: 25 июля 2012 13:22 · Личное сообщение · #13 Worldmasters Если в Оле проблематично, то ставим аппаратный бряк, куда сказали, прерываемся, снимаем дамп тем же Pe Tools, далее дамп засовываем в IDA Pro и смотрим код там. Правда, не думаю, что это поможет. Стопудово, алго проверки вмпротом погажен. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 25 июля 2012 13:24 · Личное сообщение · #14 |
|
Создано: 25 июля 2012 13:32 · Личное сообщение · #15 |
|
Создано: 25 июля 2012 13:36 · Личное сообщение · #16 |
|
Создано: 25 июля 2012 13:42 · Личное сообщение · #17 Veliant пишет: Лучше закейгенить. Потому что vmprot достаточно сложный протектор тут куча проверок одного ключа. и всего один байт который сообщает что ключ валидный. Достаточно изменения 4 команд и все работает. К чему усложнять все кейгенами? Должен же быть способ изменить файлик и сложить его назад из памяти в целости и сохранности?? ![]() |
|
Создано: 25 июля 2012 13:44 · Личное сообщение · #18 Worldmasters пишет: Хех ... я получил заветное "Добро пожаловать" как теперь сохранить работоспособный дамп так чтобы не запортить таблицы импорта ??? Если разобрался, как пропатчить, то делай инлайн-патч, это будет проще, чем корректно распаковать и пофиксить анти-дамп. Однако в этом случае виртуализованные инструкции и заморфленный код так и останется без изменений, так как его нужно реверсить и обрабатывать уже вручную или с помощью дополнительных инструментов. Но совсем просто будет сделать лоадер. ![]() И если алгоритм генерации и проверки ключа не обфусцирован протектором, тогда станет идеальным вариантом написание кейгена. Ты же вроде и хотел именно кейген писать изначально? ![]() ----- Программист SkyNet ![]() |
|
Создано: 25 июля 2012 13:58 · Личное сообщение · #19 |
|
Создано: 25 июля 2012 14:34 · Поправил: DimitarSerg · Личное сообщение · #20 Veliant Не уверен, что в данном случае кейген легче. Проверка вроде тут начинается: 00520E08 /. 55 PUSH EBP а вот внутри есть прыжки в ВМ ?! я прав ? о... еще и хеш какой-то (может md5)... В общем, если бы не куски в ВМ, то можно кейгенить. Worldmasters пишет: Есть вызов функции по адресу 520Е58 (если кому интересно). Только истинным гуру. Это и есть вход в ВМ... ----- ds ![]() |
|
Создано: 25 июля 2012 14:40 · Личное сообщение · #21 В общем с кейгеном тухляк какой то ... ![]() Есть вызов функции по адресу 520Е58 (если кому интересно). после прохода функции в памяти появляется строка нового кода, посчитанного из ключа и то что ввел пользователь. Однако пройти эту функцию по шагам не получиолсь ... ![]() А по адресу 405164 расположена еще функция которая каким то образом сравнивает куски из полученного кода и введенного. там тоже какой то бред. ![]() Может вы как более опытные знатоки, глянете что там как??? Спасибо. ![]() |
|
Создано: 25 июля 2012 15:11 · Поправил: Worldmasters · Личное сообщение · #22 Ну так как все это распаковать???? Существует ли какой нибудь пошаговый алгоритм??? Хэш врядли. Потому что этот код меняется в зависимости от того что ввел пользователь. И номер ключа это привязка к компу. Тоже меняется на разных машинах. ![]() Тут в заголовке файла указано MZP ... это о чем нибудь говорит??? ![]() |
|
Создано: 25 июля 2012 17:38 · Личное сообщение · #23 э-э... у меня возникла такая нехорошая мысль: зачем нужно после ввода ключа перезапускать ебук? видимо, затем, чтобы осуществить раскриптовку. например, сколько раз вызывается TWOFISH (см. аттач), а это неломаемое крипто (т.е. без ключа - не вынешь книгу) ...когда Asprotect 1.xx висит на проге и когда там функи покриптованы RSA, тоже после ввода ключа надо перезапустить прогу, чтоб зарегистрировать... ![]() ![]() |
|
Создано: 25 июля 2012 18:02 · Личное сообщение · #24 |
|
Создано: 25 июля 2012 18:25 · Личное сообщение · #25 |
|
Создано: 25 июля 2012 18:51 · Личное сообщение · #26 |
|
Создано: 25 июля 2012 19:07 · Личное сообщение · #27 |
|
Создано: 25 июля 2012 19:10 · Личное сообщение · #28 |
|
Создано: 25 июля 2012 19:26 · Личное сообщение · #29 Топик перерастает в бред. Перезапускать программы, просящие ключ, нужно, потому что так устроен алгоритм проверки. Это усложняет его локализацию, т.е. допустим, вы поставили бряк на MessageBoxA, и нашли алго проверки ключа за 5 секунд. Дальше вы сможете его изучать, патчить и т.д. А так - ну нашли вы кусок, который выводит сообщение и завершает работу программы. А вам теперь надо разобраться, как происходит сохранение введенного ключа, проверка его на валидность, а это всё - функции, которые могут быть подвержены обфускации. Чем их больше, и чем алго сложнее, тем больше будет долбаться реверсер. sivorog пишет: когда Asprotect 1.xx висит на проге и когда там функи покриптованы RSA, тоже после ввода ключа надо перезапустить прогу, чтоб зарегистрировать ![]() Worldmasters пишет: Или думаете там Asprotect чтоли??? Нет, там точно связка PeCompact + vmprotect. Теперь в плане кейген vs Loader. Вмпрот непростой, но его сверху ужали пекомпактом, значит пришлось отрубить CRC файла на диске. А значит файл можно патчить (инлайн-патч) или делать лоадер, не используя Debug API, которые могли бы, например, взвести флаг BeingDebugged. Т.е. можно юзать WriteProcessMemory, но нельзя CreateProcess(...,DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS,...). В плане разбора вм - да прибудет с вами сила. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 25 июля 2012 19:31 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Протекторы —› Снятие пакера PECompact |
Эта тема закрыта. Ответы больше не принимаются. |