Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Протекторы —› Виртуальная машина Themida |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2017 20:16 · Поправил: Boostyq · Личное сообщение · #1 Всем привет Изучаю один таргет, он упакован Темидой, версия от 2014 года (возможно позже) Ранее я изучала предыдущую версию программы, и все было немного проще Обфускации особой нет, проверки не интересуют, сломанный импорт и базовый мусор убрала через плагин LCF-AT. Осталась одна проблема: это виртуальная машина, после распаковки я увидела вход виртуалки, только теперь все по-другому: ранее было push aabbccdd, jmp vm_entry, теперь же push aabbccdd, push eeffgghh, jmp vm_entry. По сигнатуре нашла все вызовы, их оказалось 351, и, как я поняла, большая часть файла занимает секция вм. При этом - ни одна из функций не вызывается, я уже видела такое, и в том случае я намерено делала прыжки, чтобы пройтись плагином Oreans UnVirtualizer, теперь он не работает, так как рассчитан на более старые версии. Цикл вм выглядит так: Вопросы: 1) Могу ли я изучить статически виртуальную машину? У меня нет возможности запускать код, так как он нигде не используется, я также нашла инструмент VMattack. Так же меня интересует алгоритм в целом, я не могу зацепиться за что-либо, знаю принцип вм, но не представляю, что мне предстоит делать? 2) Есть ли какая-либо документация по вм темиды? Я знаю, что существует множество Fish/Risc/Cisc..? Не могли вы бы дать ссылки, если у вас есть. 3) Существуют ли какие-либо группы/проекты по изучению? Я имею опыт в реверсинге в целом, но не в виртуальных машинах, так что могла бы помочь тоже.. 4) Почему после 2014 года пропали авторы плагинов LCF-AT, Deathway, а так же статьи? Неужели темида больше не актуальна? 5) Имеются ли у кого-то исходники плагинов девиртуализации? Спасибо ----- В облачке многоточия |
|
Создано: 03 марта 2017 20:36 · Личное сообщение · #2 Boostyq До обработки декомпилем было понятно, а после - нет. Это не абстрагирование, так как символов появляется больше и выражений, чем в исходном нэйтивном коде. Это какой то изврат имхо. Скрин выше это пиздец Этот инструмент который вы заюзали судя по выхлопу предназначен для дальнейшей свёртки, тоесть это какой то его внутренний промежуточный результат. Хотя суть ясна - из за не понимания нэйтива(набор инструкций, архитектура) она транслируется в другой формат, в данном случае сишный ----- vx | Сообщение посчитали полезным: DenCoder |
|
Создано: 03 марта 2017 20:46 · Поправил: Boostyq · Личное сообщение · #3 Эм... это ида про Лично я тут вижу: 1) вначале он проверяет используется ли вм в данный момент, если да, то ждет пока ее освободит 2) далее, что он сбрасывает базу для примитивов 3) затем, я думаю, на основе параметров на входе прыгает на какой-то примитив Кстати я нашла типо таблицы этих примитивов Code:
Каждый выглядит примерно так: Code:
Может это какие-то инструкции, только не пойму как он выбирает куда идти дальше, вроде берет базу + смещение, каждый раз вычисляется по разному... Одна лишь идея: возможно при генерации вм все инструкции разбиваются на участки и для каждого генерируется обфусцированный код, затем все собирается в таблицу и, наверное, в каждом из них прописана последовательность ----- В облачке многоточия |
|
Создано: 03 марта 2017 21:07 · Личное сообщение · #4 DenCoder Слушайте, вот вы выше со мной согласились. Посмотрите выхлоп выше: Code:
Может я глупый, или не хватает чего то - знаний или внимания, концентрации, что бы понять такое. Вы вот например можите в этом рандоме(множеству символов) уловить суть ? Добавлено спустя -54 минут Boostyq > Каждый выглядит примерно так: Вы что думаете что тут роботы ? ----- vx |
|
Создано: 03 марта 2017 21:51 · Личное сообщение · #5 |
|
Создано: 03 марта 2017 23:40 · Личное сообщение · #6 Vamit, осмелюсь предположить, что он никогда не использовал это никому не нужное говно, вот мотор бы сюда прицепить, да под ring0... | Сообщение посчитали полезным: difexacaw |
|
Создано: 03 марта 2017 23:52 · Поправил: Boostyq · Личное сообщение · #7 |
|
Создано: 04 марта 2017 01:51 · Личное сообщение · #8 |
|
Создано: 04 марта 2017 02:28 · Личное сообщение · #9 DimitarSerg пишет: Boostyq Вы не в теме, это v00doo так толсто Инде затроллил ))) Так что не обращайте внимания. А так в паблике по вашим вопросам ничего не было после плагина deathway. Я так и поняла, это печалит, я не про паблик, а про то, что этих вм столько наплодилось И рыба и дельфин и тигр и т.п. Получается, что нужно изучать в каждом отдельном случае, в моем это CISC старой версии, как я поняла тут динамический контекст, набросала структуру Code:
Но даже понятия не имею где тут регистры, где вообще что... Поняла основной принцип вызова вм: 1) Идет 1 push, он пушит смещение относительно базы до каких-то данных, видимо это сами инструкции, но не совсем. значение записывается в data_addr и в блоках оно увеличивается так: Code:
2) Идет 2 push, он пушит индекс начальной инструкции на какую прыгнет хандлер после инициализации вм. следующие инструкции выбираются из параметров по смещению data_addr. 3) Идет прыжок на вход в вм, там сохраняются регистры и флаги, также вход самовызывается, проверяет не занято ли, сбрасывает смещение на инструцкии и прыгает на первую из них, исходя из параметров Все ясно, изучать конкретно каждый таргет, ясно, что посмотреть каждую инструкцию и понять что делает на нормальном языке и заменить вызов вм на оригинал.. Вот только VM_BLOCKS[1291], а 1291 раз разбирать трехэтажные инструкции вручную с динамическим контекстом нереально, ни у кого больше нет идей? ----- В облачке многоточия |
|
Создано: 04 марта 2017 02:44 · Поправил: DenCoder · Личное сообщение · #10 difexacaw пишет: Слушайте, вот вы выше со мной согласились. Посмотрите выхлоп выше: Ну мне давно работа хексрейса не нравилась, я вообще привык без него обходиться. ) К сожалению, лучше ничего так и нет. Эти проблемы понятны с одной стороны, но с другой - как-то можно б было настроек побольше расшарить... Для дельфи есть IDR, ни разу не пробовал, но мнение по отзывам сложилось, что он на порядок лучше хексрейса. ----- IZ.RU |
|
Создано: 04 марта 2017 10:42 · Поправил: Vamit · Личное сообщение · #11 Boostyq пишет: Все ясно, изучать конкретно каждый таргет, ясно, что посмотреть каждую инструкцию и понять что делает на нормальном языке и заменить вызов вм на оригинал.. Задача то у вас какая? Получить исходный асм код из под вм или просто понять что делает виртуализованный код... Для первого случая руками не обойтись (если ещё и вм несколько), а для второго может помочь трассировка. Почитайте вложение для более полного понимания вм 47ee_04.03.2017_EXELAB.rU.tgz - Protect&Sweeper.pdf ----- Everything is relative... | Сообщение посчитали полезным: Boostyq, ==DJ==[ZLO] |
|
Создано: 04 марта 2017 12:38 · Личное сообщение · #12 Boostyq Возможно есть смысл разобрать плагин Deathway. Не думаю что кардинально все изменилось в других ореановских вм... | Сообщение посчитали полезным: Boostyq |
|
Создано: 04 марта 2017 12:43 · Поправил: Boostyq · Личное сообщение · #13 Vamit пишет: Задача то у вас какая? Получить исходный асм код из под вм или просто понять что делает виртуализованный код... Для первого случая руками не обойтись (если ещё и вм несколько), а для второго может помочь трассировка. Почитайте вложение для более полного понимания вм Моя задача понять что он делает, и по возможности получить исходный асм. Вм в первом файле, который изучаю точно одна, занимает 70% места в файле, при этом ни одного прыжка на вм в реально работе нет: я это проверила дважды - первый раз когда давно изучала предыдущую версию файла и попросту не знала о вм, никаких странных прыжков не было, я изучила весь функционал не трогая вм. А второй совсем недавно, мне удалось перехватить связь с драйвером (он кастомный для таргета) и отключить блокировку чтения и др., так что поставив бряк на точку входа вм ничего не произошло во время инициализации программы. И мне просто интересно на кой черт там стоит эта вм тогда, попробую трассировку, как вы сказали. За документ спасибо, я кстати, читала уже что-то ваше, но по вмп вроде. SReg пишет: Возможно есть смысл разобрать плагин Deathway. Не думаю что кардинально все изменилось в других ореановских вм... Да, я уже смотрела его в иде, он не защищен, но там, конечно, все поменялось, если даже следование совсем по-другому идет, попробую тоже, спасибо. ----- В облачке многоточия |
|
Создано: 04 марта 2017 13:10 · Личное сообщение · #14 |
|
Создано: 04 марта 2017 13:44 · Поправил: Boostyq · Личное сообщение · #15 Apocalypse пишет: Девушка-реверсер... ну это уже перебор Вы б чего-нибудь нового придумали, LCF-AT скажи такое п.с. возможно эта вм сделана для самой темиды, мб там весь протекторный стафф, а ссылок нет т.к. вызовы происходят во время инжекта, а не во время инициализации программы, до которой темида уже затерла вызовы... ----- В облачке многоточия |
|
Создано: 04 марта 2017 15:18 · Личное сообщение · #16 Apocalypse пишет: Девушка-реверсер... ну это уже перебор Boostyq пишет: Вы б чего-нибудь нового придумали, LCF-AT скажи такое Заголовок ольги намекает на "поднебесное происхождение", адресом не поделитесь, я бы не прочь там поселиться? https://forum.tuts4you.com/screenshots/monthly_11_2010/b72ec3d4763c324763a9b2461367af8e-2010-11-25%2012-19-43.gif |
|
Создано: 04 марта 2017 16:31 · Личное сообщение · #17 |
|
Создано: 04 марта 2017 16:47 · Поправил: Darkwing Duck · Личное сообщение · #18 Bronco пишет: Да тут по ходу подруга боевая, за полгода смотри как понахваталась, уже фимку разбирает, дровы в утиль скидывает...респект. Да это она ещё очень скромничает, судя по её вопросам, темп развития её умственного потенциала довольно высок Кроме смеха, сам факт её относительно недавней регистрации на форуме не обязательно соответствует дате старта начала отсчёта её становления как опытного реверс-инженера Я сам периодически просматриваю топики про разбор виртуальных машин, бывает, интересно у опытных завсегдатаев поучиться... ну, хотя бы слэнгу, уже чувствуешь себя отдалённо в теме |
|
Создано: 04 марта 2017 19:36 · Поправил: Boostyq · Личное сообщение · #19 Darkwing Duck пишет: Да это она ещё очень скромничает, судя по её вопросам, темп развития её умственного потенциала довольно высок Кроме смеха, сам факт её относительно недавней регистрации на форуме не обязательно соответствует дате старта начала отсчёта её становления как опытного реверс-инженера Я сам периодически просматриваю топики про разбор виртуальных машин, бывает, интересно у опытных завсегдатаев поучиться... ну, хотя бы слэнгу, уже чувствуешь себя отдалённо в теме Я зарегистрировалась почти сразу как начала этим заниматься, но тут еще нужно учитывать фазы, я не всегда сижу, когда настроение есть и я онлайн на форуме - значит что-то делаю. Но мне кажется вы преувеличиваете: 1) предыдущее поколение все сделало за меня, теперь такие тулзы как ида, плагины которые делают автоматом, поэтому все проще, но без них то мало что могу, ибо не я их писала... 2) Начала-то я недавно, но похоже успела только к закату, людей почти нет, как-то скучно... Теперь по делу: Я ковыряю Oreans Unvirtualizer от Deathway и внутри я увидела, что поддержка для двух пушей и прыжка есть, и называется эта виртуальная машина FISH, я попробовала вручную создать прыжок на вызов вм и вызвать плагин, он определил что FISH, как я и думала, но девиртуализировать отказывается, пишет "[AntiFISH] Can't find the correct keys" - кто знает о чем он? ----- В облачке многоточия |
|
Создано: 04 марта 2017 19:51 · Личное сообщение · #20 |
|
Создано: 04 марта 2017 23:04 · Личное сообщение · #21 Boostyq пишет: Я зарегистрировалась почти сразу как начала этим заниматься, но тут еще нужно учитывать фазы, я не всегда сижу, когда настроение есть и я онлайн на форуме - значит что-то делаю. Но мне кажется вы преувеличиваете: 1) предыдущее поколение все сделало за меня, теперь такие тулзы как ида, плагины которые делают автоматом, поэтому все проще, но без них то мало что могу, ибо не я их писала... 2) Начала-то я недавно, но похоже успела только к закату, людей почти нет, как-то скучно... На чём основан ваш опыт работы с отладчиком? Пишите на каком-нибудь языке высокого уровня? Статью об исследовании той же темиды в режиме "прямого эфира" можете написать с чётким объяснением всех своих действий? Если да, то я вас даже ещё недооцениваю А если нет, то на одних только статьях опытных авторов подобрались к исследованию довольно сильного протектора? Boostyq пишет: людей почти нет, как-то скучно... ну а мы тут... видимо, боты собрались? |
|
Создано: 05 марта 2017 08:02 · Личное сообщение · #22 Darkwing Duck > темп развития её умственного потенциала довольно высок Маловероятно что тс - девушка. Часто такой трюк используется, представиться бабой, что бы было какое то преимущество, так как отношение к ним снисходительное", так как это не обычно и основано на понятии что женщине это всё трудно. А тут я смотрю что то много баб появилось. Да невозможно такое физически, женский мозг способен аналитику выполнять не хуже мужского, но внимание женское не полноценное, нет должной концентрации на задачи, именно посему у них и не получается обычно. ----- vx | Сообщение посчитали полезным: unknownproject |
|
Создано: 05 марта 2017 08:29 · Личное сообщение · #23 |
|
Создано: 05 марта 2017 08:52 · Личное сообщение · #24 |
|
Создано: 05 марта 2017 09:36 · Личное сообщение · #25 |
|
Создано: 05 марта 2017 09:39 · Поправил: unknownproject · Личное сообщение · #26 Клерк шарит.Маскироваться под бабу довольно просто.Тем более, когда цель - выудить побольше инфы.Примитивные яйценосы ведутся только в путь.А вот хексрейс реально убогое говно.Единственное, когда реально мне понадобился функционал иды, так это при разборе кодеса гамы от первой плейстейшн.Почти разобрал мортал комбат спешиал форсиз, но в итоге обошелся написанием анпакера ресурсов.Благо там самодостаточный формат. ----- TEST YOUR MIGHT |
|
Создано: 05 марта 2017 09:44 · Личное сообщение · #27 Желающие обсудить женскую долю, добро пожаловать в Оффтоп: Если неофит не только вопросы задаёт, но и собственные успехи показывает, то и ответы других участников появятся. Независим от гендера топикстартера. Что касается трудоспособности, так тут женщина иной раз даст фору мужчине равной квалификации. ----- EnJoy! |
|
Создано: 05 марта 2017 09:46 · Поправил: dosprog · Личное сообщение · #28 Bronco пишет: с твоей параноей в целом, и в отношении девчонок в частности. [offtop] Эмм.. в качестве оффтопа - а ты в курсе, каково среднестатистическое соотношение массы мосха у разнополых особей? А ведь это "оперативная память", так сказать. Я понимаю, что слабый самец может и уступать в этом отношении самке, но это аномалия. Зато у самок нормально развиты кэши трёх уровней, что, безусловно, круто, но недостаток ОП восполнить не всегда в состоянии. Этот кэш, кстати, - то, что мне в девчёнках не всегда нравится. Его содержимое и как используется. [/offtop] -- К модератору -- : |
|
Создано: 05 марта 2017 10:11 · Поправил: difexacaw · Личное сообщение · #29 Bronco Это не паранойя, у меня на разбор этих вещей уходит больше времени, чем на решение тех задач. Это когнитивная пихология, там всё очень очень трудно понять или осознать, так это немного иной слой реальности(попытки понять сам когнитивный механизм, можно весьма успешно двинуться на этом). Впрочем так всегда было, не понятно чему вы удивлены. Мне всегда было интересно покопаться в разуме, особенно в своём. Даже как то был немного перебор, пришлось обратиться к доброму доктору Доктор может быть и годный, а вот препараты нет.) ----- vx |
|
Создано: 05 марта 2017 10:43 · Личное сообщение · #30 unknownproject пишет: Маскироваться под бабу довольно просто. ну давай, по изображай, а я оценю твою латентность.. dosprog пишет: а ты в курсе, каково среднестатистическое соотношение массы мосха у разнополых особей? бытие определяет, если так рассуждаешь, то с лучшим даже не пересекался. difexacaw пишет: Это когнитивная пихология приоритеты измени, и по другому на мир посмотришь, а то он у тебя чёрно белый, и делиться на торчков и не торчков. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
. 1 . 2 . >> |
eXeL@B —› Протекторы —› Виртуальная машина Themida |