Сейчас на форуме: Rio, vsv1, site-pro (+6 невидимых)

 eXeL@B —› Софт, инструменты —› Ariadne Framework & Deobfuscator
<< . 1 . 2 . 3 .
Посл.ответ Сообщение


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 29 ноября 2011 23:50 · Поправил: reversecode
· Личное сообщение · #1

http://ariadne.group-ib.ru/ru/

Ariadne – это фреймворк для всех, кто занимается reverse engineering и смежными задачами (анализ вирусов, защита ПО и ее анализ, forensic и т.д.). Во всех этих случаях Ariadne позволит сэкономить существенную часть времени за счет предоставления решения нудных типовых задач. А ведь создание кода, решающего эти нудные типовые задачи, может занимать до 80% времени! При этом никто не застрахован от повторения уже неоднократно совершенных кем- то ошибок, исправление которых отнимает время. Ariadne позволит сэкономить время и творческий потенциал для решения действительно инновационных задач.

http://ariadne.group-ib.ru/ru/download
демо версия ariadne.zip

http://www.slideshare.net/dschelkunov/on-deobfuscation-in-practice
какая то презентация, если кто может скачайте и переложите на нормальный фо

ps мне почему то кажется это работа кого то с форума, не?

| Сообщение посчитали полезным: mak, vden

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

Создано: 03 декабря 2011 12:26 · Поправил: HaRpY
· Личное сообщение · #2

PE_Kill пишет:
Т.е. она реализована, она есть, но увидеть ее не получится, ибо в паблик релизах работа только с трассой. Применение оптимизации трассы (не полное покрытие кода), я, даже подумав немного, придумать не могу.

Дык, я специально и дал простой примерчик в надежде узреть результат такой реализации...
Ariadne пишет:
Если кому-нибудь, тем не менее, нужна полноценная деобфускация CFG, то мы готовы обсуждать это, но конкретно с заказчиком. В таком случае это будет сугубо индивидуальный продукт для конкретного заказчика под его требования на базе нашего движка.

Получается, что "эта самая реализация" - совсем отдельный проект(ы), которые, скорее всего, будут затачиваться под конкретные обфускаторы. Панацеи нету.

PE_Kill пишет:
Применение оптимизации трассы (не полное покрытие кода), я, даже подумав немного, придумать не могу.

Ну, как вспомогательное средство, будет полезным. Допустим, быстро найти "нужную" развилку или что-то в этом роде.



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

Создано: 03 декабря 2011 20:06
· Личное сообщение · #3

Раз возникли вопросы, хотелось бы пояснить некоторые моменты. Во-первых, это фреймворк для работы с кодом, а не просто деобфускатор. Т.е. все вещи можно дописывать самому по мере необходимости.
Теперь что касается генерации, оптимизации, а также статика и динамика. Генерация и оптимизация, в основном - достаточно отдельные компоненты. Сначала генерируется промежуточный код на основе снятия трассы эмулятором. А потом проходит статик и/или динамик оптимизация этого уже переведённого кода. Соответветственно, если была сделана генерация трассы, то и оптимизация пойдет только переведённого кода, т.е. тоже трассы. А статик и динамик - это просто разные методы оптимизации. Динамик использует при оптимизации эмулятор и позволяет работать с указателями, а также содержит некоторые специфичные приёмы оптимизации.
Полное покрытие у нас имеется. Пример мы приводили выше. Если интересно, можем прогнать и пример для CRC на полном покрытии, но алгоритмы полного покрытия обсуждаются отдельно и пока не присутствуют в продукте.
HaRpY пишет:
Ну, как вспомогательное средство, будет полезным. Допустим, быстро найти "нужную" развилку или что-то в этом роде.

Как вариант.
HaRpY пишет:
Получается, что "эта самая реализация" - совсем отдельный проект(ы), которые, скорее всего, будут затачиваться под конкретные обфускаторы. Панацеи нету.

Generic-тулза либо будет плохо работать в силу той же консервативности и плохо оптимизировать, либо безбожно бажить. С другой стороны, отчасти благодаря тому, что многие дерут техники друг у друга под копирку, можно создать некоторое generic-ядро, которое содержит базовые техники, которые наверняка сработают, которое можно заточить под конкретные трюки и под конкретный обфускатор и сделать относительно безбажный продукт. Наш движок в публичном виде и является таким generic-ядром с определенной интерактивностью в виде плагина для IDA.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 03 декабря 2011 20:57 · Поправил: reversecode
· Личное сообщение · #4

меня вот другое интересует
рано или позно количество клиентов которые купят фреймворк выростет
и все внимание и время на багрепорты итд будет направлено на них
рассматривали ли вы условия при которых будете уделять внимание тех кто не покупает но пользуется демо и захотят каких то фиксов?
тоесть что бы все не превратилось в андеграунд как с IDA где ильфак давно сказал что если вы не оффициальный клиент - то идите лесом, на вас время нет

да и я надеюсь на самом сайте будете обновлять инфо о обнвовленном sdk после баг фиксов
и не прийдется угадывать что вышла новая или пофикшеная версия методом сравнения md5



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

Создано: 03 декабря 2011 21:31
· Личное сообщение · #5

reversecode пишет:
рассматривали ли вы условия при которых будете уделять внимание тех кто не покупает но пользуется демо и захотят каких то фиксов?

Мы сильно заинтересованы в качестве движка. От этого многое зависит для нас. Внимание уделять однозначно будем и будут баги - будем фиксить. Будут предложения - будем стараться учитывать. Демка будет обновляться. Планируется, что версия демки будет обновляться по мере обновления движка. По багам можно на этот ник в личку стучать, чтобы было пооперативнее.
reversecode пишет:
да и я надеюсь на самом сайте будете обновлять инфо о обнвовленном sdk после баг фиксов

Вот как-раз сейчас готовится очередной фикс Естественно, будет инфа. Сайт пока не совсем стартовал - могут быть косяки там.



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

Создано: 04 декабря 2011 12:33
· Личное сообщение · #6

Ariadne пишет:
Полное покрытие у нас имеется. Пример мы приводили выше. Если интересно, можем прогнать и пример для CRC на полном покрытии, но алгоритмы полного покрытия обсуждаются отдельно и пока не присутствуют в продукте.
Мне просто было интересно оценить работу и возможности Вашего движка. Надеюсь, Вы понимаете, что в качестве результата, ожидалось получить именно процедуру максимально приближенную к исходной... Что надо сделать, используя Ваш фреймворк, чтобы получить такой результат? Насколько это будет трудоемко?



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

Создано: 04 декабря 2011 21:06
· Личное сообщение · #7

HaRpY пишет:
Надеюсь, Вы понимаете, что в качестве результата, ожидалось получить именно процедуру максимально приближенную к исходной...

Конечно. Очень хорошо понимаем. Хочется решения, чтобы сразу пыщ, и все деобфусцировалось до исходного, да еще и с помощью публичной демки И говорим - обращайтесь, если нужна деобфускация полного покрытия и неохота самим с этим делом заморачиваться ;)
HaRpY пишет:
Что надо сделать, используя Ваш фреймворк, чтобы получить такой результат? Насколько это будет трудоемко?

Используя наше API и написать генерацию из машинного кода не в трассу IR, как сейчас на паблике в демке, а в полное покрытие. Иными словами, отдать алгоритмам деобфускации CFG, а не трассу.

Кстати, во вложении деобфусцированный алгоритм для CRC с учетом полного покрытия С учетом, что, в среднем, на асм-инструкцию приходится 3 - 4 IR, получилось, на наш взгляд, достаточно неплохо.

было: 3439 instructions, 808 variables, 96 blocks
стало: 169 instructions, 21 variables, 55 blocks



2e94_04.12.2011_EXELAB.rU.tgz - test.txt



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

Создано: 04 декабря 2011 22:31 · Поправил: HaRpY
· Личное сообщение · #8

Ariadne пишет:
Кстати, во вложении деобфусцированный алгоритм для CRC с учетом полного покрытия

Ну что же, я удовлетворен такими результатами демонстрации возможностей Вашего фреймворка.
Но с оговоркой - публичная версия такими возможностями не обладает.




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 05 декабря 2011 23:37
· Личное сообщение · #9

Есть портянка с кодом указываю начало, указываю конец. на выходе пустота. что не так?

-----
zzz




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

Создано: 06 декабря 2011 13:36
· Личное сообщение · #10

zeppe1in пишет:
указываю начало, указываю конец. на выходе пустота. что не так?

Если он сказал, что оптимизировано успешно, и ошибок никаких не было, то возможно этот код и не делает реально ничего, потому и пусто? Возможно и баг. Они вполне могут быть. Все-таки речь идет о ранней бете. Поэтому, если у кого-то что-то не заработало, плз, кидайте в личку. Мы обязательно посмотрим и постараемся пофиксить.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 11 декабря 2011 16:25
· Личное сообщение · #11

вообщем увы, плагин не генерит asm код в ida
а его результат только отдельное окно с псевдо IR-asm кодом



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

Создано: 11 декабря 2011 17:13
· Личное сообщение · #12

В самом фреймворке есть возможность генерить асм-код, это вынесено в АПИ. Это было сделано, чтобы была возможность сохранять результат работы в исполняемый файл. Но для анализа на наш взгляд больше подходит промежуточный код ввиду большей компактности. Поэтому да, всё верно, результатом работы плагина служит только окно с промежуточным кодом, генерация асм-кода в плагине не используется.



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

Создано: 17 октября 2012 21:38 · Поправил: vnekrilov
· Личное сообщение · #13

Решил написать в этой, почти год заброшенной теме, чтобы не плодить еще одну тему. Столкнулся с одной программой (DLL), в которой обфусцирована часть кода, связанная с формированием запроса на сервер разработчика. DLL написана на Borland Delphi, и мне нужно деобфусцировать код. Трассирование кода дает мегабайты текстового файла, который сложно анализировать и он, по большому счету, не нужен. Попытался применить Ariadne Framework & Deobfuscator, но получил нулевой файл, хотя в строке состояния написано, что все прошло успешно. До этого деобфускацией особо не занимался, поскольку не было необходимости. Так, немного по Asprotect, но там обфускация очень слабая. EXECryptor тоже имеет слабую обфускацию кода, и оригинальный код, при некотором терпении можно восстановить вручную. Других деобфускаторов я что-то не встречал - или они приватные, или плохо искал. CodeDoctor тут тоже не сработал. Возможно, что кто-то сможет подсказать, где еще можно посмотреть деобфускаторы. Заранее благодарен за любую подсказку.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 17 октября 2012 22:15
· Личное сообщение · #14

optimice на гугл коде

| Сообщение посчитали полезным: vnekrilov


Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 18 октября 2012 20:29
· Личное сообщение · #15

vnekrilov
http://gdtr.wordpress.com/2012/10/03/decv-a-decompiler-for-code-virtualizer-by-oreans/
Вот я так понял он в иде деобфусцирует питоновым скриптом.

-----
zzz


| Сообщение посчитали полезным: vnekrilov


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 18 октября 2012 22:02 · Поправил: reversecode
· Личное сообщение · #16

DeCV вроде только Ореан снимает,
а optimice чуть более универсальный хотя слабенький, но замусореные инструкции вроде чистит хорошо

NikolayD вроде не помню такой...



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 18 октября 2012 22:15
· Личное сообщение · #17

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


<< . 1 . 2 . 3 .
 eXeL@B —› Софт, инструменты —› Ariadne Framework & Deobfuscator
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати