![]() |
eXeL@B —› Вопросы новичков —› Распаковка Dll накрытой Themida |
Посл.ответ | Сообщение |
|
Создано: 17 марта 2016 23:16 · Личное сообщение · #1 Здравствуйте, У меня возникла некоторая проблема с распаковкой библиотеки, которая защищена Themida, а именно: -Я сняла дамп с библиотеки, восстановлен импорт и для изучения в IDA вполне подходит, но самые важные функции накрыты виртуальной машиной. -Немного изучила некоторый материал и поняла, что это довольно старая версия темиды и таки можно сделать девиртуализацию. И я надеюсь, что здесь есть люди опытнее меня, которые подскажут направления (!!мне не нужно готовое, я просто хочу иметь этот навык :s1 ![]() P.S. я использовала плагины VMSweeper и Oreans UnVirualizer, но, к сожалению, у меня нет полного алгоритма и все попытки приводили либо к краху Olly, либо просто ничего не происходило... P.S.S. извините, если я что-то неверно оформила, напишите и я исправлю ----- В облачке многоточия ![]() |
|
Создано: 18 марта 2016 00:08 · Личное сообщение · #2 |
|
Создано: 18 марта 2016 01:06 · Поправил: Boostyq · Личное сообщение · #3 |
|
Создано: 18 марта 2016 01:44 · Личное сообщение · #4 |
|
Создано: 18 марта 2016 07:55 · Поправил: VodoleY · Личное сообщение · #5 |
|
Создано: 18 марта 2016 08:48 · Личное сообщение · #6 |
|
Создано: 18 марта 2016 10:54 · Поправил: Boostyq · Личное сообщение · #7 script_kidis пишет: да вы тут лучше нас разбераетесь) с анпаком и девиртуализацией фимиды) Извините, я совсем не хотела Вас обидеть! Я имела ввиду, что хоть я и занималась раньше реверсом игр/написание хаков ![]() ----------------------------------- Сейчас изучаю материалы Vamit, в частности его отчеты после написания VMSweeper и случай очень похожий, код указанный в BodyVM очень похож (за исключением мусора, он, видимо, генерируется автоматически...) Но, к сожалению, не удается использовать его плагин, при нажатии "Search all the reverences" olly просто крашит, даже до появления окна, лишь один раз я ввела параметры, но все равно крашнуло после нажатия. ----------------------------------- Таргет, кстати, не простой, если заинжектить его в процесс с отладкой - dll ка просто не появится (!!это очень странно, до этого было норм, как будто он эволюционировал о_о). Ну а если его заинжектить в обычный процесс, то он скрывает модули (или я не знаю, просто olly их не видит) и я не могу использовать Oreans UnVirtualizer, т.к. он пишет Unknown Module при поиске. ----- В облачке многоточия ![]() |
|
Создано: 18 марта 2016 11:19 · Личное сообщение · #8 Boostyq дык вы еще и девушка? тогда есть шанс получить вменяемый ответ.. 1. не ищите в свипере ничего.. разве что теорию.. он под вмпрот и кодевирт.. но общие концепции там очень даже верные.. 2. если вы хотите девиртить код.. то вам надо будет очень много времени.. готовых ВАН КЛИК инструментов нету ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 18 марта 2016 11:42 · Личное сообщение · #9 VodoleY пишет: 1. не ищите в свипере ничего.. разве что теорию.. он под вмпрот и кодевирт.. но общие концепции там очень даже верные.. 2. если вы хотите девиртить код.. то вам надо будет очень много времени.. готовых ВАН КЛИК инструментов нету А разве CodeVirtualizer не является разработкой Oreans, Themida их же, и я слышала, что на старой версии они были очень похожи... Мне все таки удалось увидеть модули из отладчика: я установила 2 плагина (phantom + strongod) и перебирая настройки, я запустила свой пустой exe-шник, в него заинжектила таргет, а затем присоединилась olly, появились модули и у меня выпал шанс использовать Code UnVirtualizer. Плагин вроде как начал работать, но то что он выдал - меня удивило: Code:
Значит ли это, что эти защищенные функции лишь вызывают незащищенные и все? ![]() ----- В облачке многоточия ![]() |
|
Создано: 18 марта 2016 15:21 · Личное сообщение · #10 Boostyq пишет: Значит ли это, что эти защищенные функции лишь вызывают незащищенные и все? Да, для этого вм и используют в основном, как я заметил - чтоб потерялись, куда дальше идти ![]() Бывает, но реже, простые вычисления попадаются ) ----- IZ.RU ![]() |
|
Создано: 18 марта 2016 15:45 · Личное сообщение · #11 Boostyq пишет: А разве CodeVirtualizer не является разработкой Oreans, Themida их же, и я слышала, что на старой версии они были очень похожи... вы путаете понятия.. но это скорее более филосовский вопрос. вам былобы очень не плохо почитать теорию.. ВАМит.. в процессе свипера очень не плохо все расписал.. вам ща главный цикл ВМ найти надо.. потом распознать примитивы (подфунции) но это со старта .. очень веселая работа ЗЫ тяжело искать черную кошку в черной комнате Добавлено спустя 2 минуты во.. проще наверно так.. напишите хелоу ворлд свой.. и накройте фимкой.. и посмотрите что получится.. а потом уже сравнивайте с таргетом ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 18 марта 2016 17:02 · Поправил: Boostyq · Личное сообщение · #12 Спасибо всем за помощь! Я немного научилась использовать плагин Oreans UnVirtualizer, дело в том, что у меня не было доступа к нормальному видео-туториалу и незнание терминов ВМ так же мешало мне. Отдельно спасибо Вамит'у за описания ВМ, очень порадовал нужный материал на родном языке ![]() -------------------------------------- Плагин, вроде как справляется с задачей. Очень жаль, что это не плагин нашего соотечественника ![]() Тем не менее, буду изучать дальше до полной распаковки (очень много IDA просто показывает как массив байт). ----- В облачке многоточия ![]() |
|
Создано: 18 марта 2016 20:13 · Личное сообщение · #13 Boostyq пишет: (очень много IDA просто показывает как массив байт). так и будет.. но проблема не в этом.. ознакомтесь с терминами 1. главный цикл ВМ 2. набор примитивов 3. лента пи-кода.. (RISCO CISCO) машины.. и жизнь у вас станет проще.. ЗЫ. и переименуйте топик.. это нифига не распаковка ВМ ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 18 марта 2016 20:38 · Поправил: deniskore · Личное сообщение · #14 Boostyq пишет: (очень много IDA просто показывает как массив байт) Это либо мусор, либо IDA распознать не может, вы можете сконвертировать в код выделив байты и нажав на клавишу 'C' ![]() |
|
Создано: 19 марта 2016 12:04 · Поправил: Boostyq · Личное сообщение · #15 Думаю нашла нужные функции и просто хочу поделиться опытом: ------------------------------------------- Пыталась найти все виртуальные функции сразу, но проблема в том, что IDA находила макс. 15, CheatEngine вообще только 10, но некоторых нужных там не было и меня это толкнуло на мысль - если они вызываются: Code:
То можно сделать маску для всех вызовов, так я и сделала - 68 ?? ?? ?? 10 E9, и просканировала всю память через плагин Olly SigMaker (только он увидел все вызовы) и тут я офигела! Таких функций было (!) 77 и они ссылались не на одну VM, а на целых 3. ------------------------------------------- Начала искать ссылки на них (где вызываются эти функции), но нашла всего 7. Я девиртуализировала их, думая, что эти 7 вызывают остальные, но к моему удивлению - нет. Но мне стало интересно, что же делают остальные, т.к. плагин работает только если нажать Ctrl+U/I на прыжке, то мне пришла идея самой сделать прыжки на них все. Перейдя в конец файла Dll-ки, я стала строчить джампы, параллельно девиртуализируя эти функции. Но оказалось, что это инструкции типа (много дубликатов и все очень похожи между собой): Code:
Я думаю, что это просто мусор, добавленный чтобы испугать меня :O ------------------------------------------- Насчет регионов, которые IDA не распознает - это в основном и есть пикод трех VM, их примитивы, а также главные циклы трех VM. Я думаю, что это можно даже вырезать, но пока не стала. На этом все, всем спасибо ![]() ----- В облачке многоточия ![]() |
|
Создано: 19 марта 2016 13:43 · Личное сообщение · #16 Браво, создатели протов! И девушки способны вскрывать ваши поделки ![]() ----- IZ.RU ![]() |
|
Создано: 19 марта 2016 19:19 · Поправил: plutos · Личное сообщение · #17 Boostyq пишет: Я думаю, что это просто мусор, добавленный чтобы испугать меня Не на такую нарвались! Нашу девушку никаким мусором не испугаешь! Напугали девушку голым ежиком! Нет, не так! Напугали ежика голой девушкой! Т.е. не "девушкой", а чем там? Ну, в общем: Браво, девушка! ----- Give me a HANDLE and I will move the Earth. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Распаковка Dll накрытой Themida |