Сейчас на форуме: (+6 невидимых)

 eXeL@B —› Протекторы —› Снятие пакера PECompact
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 июля 2012 20:40 · Поправил: Worldmasters
· Личное сообщение · #1

Здравствуйте, вот попалась под руки программа. Закрытая вроде бы простым пакером PECompact 2.x -> Jeremy Collake [Overlay]. Перечитал кучу документации на различных форумах. Также были испробованы все доступные унпакеры для данного типа. ((
Результат некудышный. С грехом пополам получилось найти OEP - 005CC6E3
Olly смогла работать с прогой при наличии Fantom с настрйоками Hide PEB, Load Driver, hide ollyDB windows.
Снял дамп с помощью PETool. На этом стопор. Никак не получается восстановить таблицу импорта. Также перепробовал кучу разных реконструкторов.
Помогите пожалуйста. Может ктонибудь сталкивался с подобным стилем упаковщика.
Прилагаю --> архив <-- , содержащий оригинал программы, а также дамп снятый с точки OEP PETool'ом. Пароль 1234567890
Отмечу что кейген для проги мне не нужен. Цель снять защиту. С генератором я сам разберусь.
Заранее спасибо.



Ранг: 31.0 (посетитель), 70thx
Активность: 0.140
Статус: Участник

Создано: 24 июля 2012 20:54
· Личное сообщение · #2

если тебе нужен тупо анпак то тебе в запросы! А вообще плохо ищешь туторы по этому пакеру на tuts4you.com их достаточно! В нете есть анпакеры хорошо ищи, дал бы ссылку но пишу с телефона!



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 июля 2012 20:58
· Личное сообщение · #3

schokk_m4ks1k пишет:
если тебе нужен тупо анпак то тебе в запросы!


Да уже не знаю что мне нужно... унпакеров перепробовал уже немеряно. И все они не дают нормального результата. Скрипты для оли также ничего толкового не сделали. Все равно полученная прога не загружается ...
Щас поищу на сайте тутор. Спасибо.




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 24 июля 2012 21:47 · Поправил: FrenFolio
· Личное сообщение · #4

Worldmasters пишет:
Здравствуйте, вот попалась под руки программа. Закрытая вроде бы простым пакером PECompact 2.x -> Jeremy Collake [Overlay]. Перечитал кучу документации на различных форумах. Также были испробованы все доступные унпакеры для данного типа. ((

Worldmasters пишет:
Щас поищу на сайте тутор. Спасибо.

Автоанпакеры или же тутор по снятию PECompact тебе не помогут. Потому как тут PECompact навешан поверх какого-то протектора, и адрес 005CC6E3 - это переход на защищенный им код. Затрудняюсь сказать, что именно там висит, но увидел защиту импорта + обфускацию кода. Возможно, это какой-то прот для ебуков, так как здесь именно книга.

-----
Программист SkyNet




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 24 июля 2012 22:08 · Поправил: Veliant
· Личное сообщение · #5

Следующий выход на oep ведет на 530888. Это погаженный стаб от delphi вроде как. Уж не vmprot ли между pecompact и delphi (выход на oep по ret 0xNN уж больно смахивает)?



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 24 июля 2012 22:46
· Личное сообщение · #6

PeCompact, под ним - VMP




Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 24 июля 2012 22:56
· Личное сообщение · #7

если и vmp - то уж очень древний



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 июля 2012 23:56
· Личное сообщение · #8

Так вскрыть то это можно как нибудь???
Или это тухлый номер??? Очень хотелось бы расковырять ... уже просто спортивный интерес....
Пытался анализировать то что в olly видно. Но там как то неудобно. Нашел функцию проверки, там чтото код видимо не полностью показан и не понятно кто и куда прыгает.
Помогите пожалуйста.




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 25 июля 2012 04:23
· Личное сообщение · #9

Worldmasters пишет:
Результат некудышный. С грехом пополам получилось найти OEP - 005CC6E3

Code:
  1. /*401000*/  MOV EAX,602278===> адресс обработки исключения идём по нему.
  2. /*401005*/  PUSH EAX
  3. /*401006*/  PUSH DWORD PTR FS:[0]
  4. /*40100D*/  MOV FS:[0],ESP
  5. /*401014*/  XOR EAX,EAX
  6. /*401016*/  MOV [EAX],ECX

вот мы стоим на адрессе 602278 и прокручиваем листинг вниз и видем такой код
Code:
  1. /*602332*/  MOV EAX,ESI
  2. /*602334*/  POP EDX
  3. /*602335*/  POP ESI
  4. /*602336*/  POP EDI
  5. /*602337*/  POP ECX
  6. /*602338*/  POP EBX
  7. /*602339*/  POP EBP
  8. /*60233A*/  JMP EAX========>JMP OEP

всё действие занимает 5 сек

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 07:00 · Поправил: Worldmasters
· Личное сообщение · #10

Так это я и сам уже сделал. Только толку от этой OEP нету ни грамма. Таблица импорта то спрятана где то. К тому же по адресу OEP расположены не те команды которые ожидалось увидеть.



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 25 июля 2012 11:01 · Поправил: Veliant
· Личное сообщение · #11

Если не хочешь снимать vmprotect, то ставь аппаратный бряк на адрес 530888 и отлаживай себе. Ищи нужные тебе строки или алгоритмы.

Например проверка ключа при вводе осуществляется здесь 520ce0, по адресу 520d35 сравнивается длина ключа с 24. После этого проверяются символы на допустимые, сохраняет и просит перезапустить прогу



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 12:36
· Личное сообщение · #12

Veliant пишет:
ставь аппаратный бряк на адрес 530888 и отлаживай себе

Ну пытался так сделать ... но тут в оле как то все проблематично. Хотя может я чего не знаю.
Задать текущую команду для выполнения не нашел как ...




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 25 июля 2012 13:22
· Личное сообщение · #13

Worldmasters
Если в Оле проблематично, то ставим аппаратный бряк, куда сказали, прерываемся, снимаем дамп тем же Pe Tools, далее дамп засовываем в IDA Pro и смотрим код там. Правда, не думаю, что это поможет. Стопудово, алго проверки вмпротом погажен.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 13:24
· Личное сообщение · #14

А допустим я в памяти olly изменю все что мне необходимо. Дальше то как мне сохранить файл чтобы он был работоспособен???



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 13:32
· Личное сообщение · #15

Хех ... я получил заветное "Добро пожаловать"
как теперь сохранить работоспособный дамп так чтобы не запортить таблицы импорта ???



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 25 июля 2012 13:36
· Личное сообщение · #16

Лучше закейгенить. Потому что vmprot достаточно сложный протектор



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 13:42
· Личное сообщение · #17

Veliant пишет:
Лучше закейгенить. Потому что vmprot достаточно сложный протектор


тут куча проверок одного ключа. и всего один байт который сообщает что ключ валидный. Достаточно изменения 4 команд и все работает.
К чему усложнять все кейгенами?
Должен же быть способ изменить файлик и сложить его назад из памяти в целости и сохранности??




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 25 июля 2012 13:44
· Личное сообщение · #18

Worldmasters пишет:
Хех ... я получил заветное "Добро пожаловать"
как теперь сохранить работоспособный дамп так чтобы не запортить таблицы импорта ???

Если разобрался, как пропатчить, то делай инлайн-патч, это будет проще, чем корректно распаковать и пофиксить анти-дамп. Однако в этом случае виртуализованные инструкции и заморфленный код так и останется без изменений, так как его нужно реверсить и обрабатывать уже вручную или с помощью дополнительных инструментов. Но совсем просто будет сделать лоадер.

И если алгоритм генерации и проверки ключа не обфусцирован протектором, тогда станет идеальным вариантом написание кейгена. Ты же вроде и хотел именно кейген писать изначально?

-----
Программист SkyNet




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 13:58
· Личное сообщение · #19

Кейген хотел ... но когда увидел что дело всего в 4 инструкциях ... захотелось побыстрее разобратся...
но щас вот нашел функцию проверки ...
Может подскажите какие нибудь тулзы для восстановления asm в Си ??? Время не в мою пользу ... надо скорее все сделать и покончить с этим.




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 25 июля 2012 14:34 · Поправил: DimitarSerg
· Личное сообщение · #20

Veliant
Не уверен, что в данном случае кейген легче.
Проверка вроде тут начинается:
00520E08 /. 55 PUSH EBP

а вот внутри есть прыжки в ВМ ?! я прав ?

о... еще и хеш какой-то (может md5)... В общем, если бы не куски в ВМ, то можно кейгенить.

Worldmasters пишет:
Есть вызов функции по адресу 520Е58 (если кому интересно).

Только истинным гуру. Это и есть вход в ВМ...

-----
ds




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 14:40
· Личное сообщение · #21

В общем с кейгеном тухляк какой то ...
Есть вызов функции по адресу 520Е58 (если кому интересно).
после прохода функции в памяти появляется строка нового кода, посчитанного из ключа и то что ввел пользователь. Однако пройти эту функцию по шагам не получиолсь ... каким то чудесным образом он выпригивает из этой функции.. и лично у меня понять откуда взялся код не получилось.
А по адресу 405164 расположена еще функция которая каким то образом сравнивает куски из полученного кода и введенного. там тоже какой то бред.

Может вы как более опытные знатоки, глянете что там как???
Спасибо.



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 15:11 · Поправил: Worldmasters
· Личное сообщение · #22

Ну так как все это распаковать???? Существует ли какой нибудь пошаговый алгоритм???

Хэш врядли. Потому что этот код меняется в зависимости от того что ввел пользователь.
И номер ключа это привязка к компу. Тоже меняется на разных машинах.
Тут в заголовке файла указано MZP ... это о чем нибудь говорит???



Ранг: 49.7 (посетитель), 19thx
Активность: 0.050
Статус: Участник

Создано: 25 июля 2012 17:38
· Личное сообщение · #23

э-э... у меня возникла такая нехорошая мысль:
зачем нужно после ввода ключа перезапускать ебук?
видимо, затем, чтобы осуществить раскриптовку.
например, сколько раз вызывается TWOFISH (см. аттач), а это неломаемое крипто (т.е. без ключа - не вынешь книгу)

...когда Asprotect 1.xx висит на проге и когда там функи покриптованы RSA, тоже после ввода ключа надо перезапустить прогу, чтоб зарегистрировать...

1098_25.07.2012_EXELAB.rU.tgz - dumped_kanal.txt



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 18:02
· Личное сообщение · #24

sivorog пишет:
э-э... у меня возникла такая нехорошая мысль:зачем нужно после ввода ключа перезапускать ебук?

Чего то не понял ... чего сделать то надо???
Или думаете там Asprotect чтоли???




Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 25 июля 2012 18:25
· Личное сообщение · #25

Worldmasters
если уж топик в теме "протекторы" - так занимайся снятием протов или закрывай топик



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 18:51
· Личное сообщение · #26

r99 пишет:
если уж топик в теме "протекторы" - так занимайся снятием протов или закрывай топик


Так я помощи попросил, или это тоже запрещено чтоли??? Если бы я сам смог снять эти проты то уж наверное не стал бы писать сюда.



Ранг: 11.4 (новичок), 8thx
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 19:07
· Личное сообщение · #27

Worldmasters
в этом топе есщо не появлялся кто сможет помочъ

жди ,может он в отпуске



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 19:10
· Личное сообщение · #28

Johnny Mnemonic пишет:
в этом топе есщо не появлялся кто сможет помочъ жди ,может он в отпуске


То есть это все чем мне могут помочь???




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 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.




Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 19:31
· Личное сообщение · #30

ЯсноARCHANGEL
Спасибо за толковое разъяснение. В целом понятно.
кейген не выйдет так как там функции как то запрятаны что кода в оле не видно.
С лодером интереснее...

Ну теперь можно топик и закрыть.
Спасибо тем кто давал советы.


. 1 . 2 . >>
 eXeL@B —› Протекторы —› Снятие пакера PECompact
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати