Перейти к содержанию
dr_dizel

Поддержка упаковщика TheMida

Recommended Posts

IT-Shark
Погоди, с какой это стати нужно темиду объявлять вне закона? :angry: Хороший коммерческий продукт, дело свое знает хорошо. И шароварщики ею реулярно пользуются. :)

Повторяю еще раз: обфускацию предлагается не детектить, а корректно раскручивать (т.е. снимать). Раскручивать и смотреть что же там внутри, под ней. Надеюсь такой подход не встретит возражений? :rolleyes:

Такой подход возражений не встретит. Хотя бы потому, что той же TheMida добропорядочные граждане пользуются. (Я пока не пользовался.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
А, скажем, существование недетектящегося вируса тоже ставит под сомнение целесообразность существования антивирусов? ;) ...

Скажем так:

Существование одного несчастного недетектящегося вируса - это -1 для антивируса.

А вот существование криптора, с помощью которого можно хоть всю базу за историю человечества перепаковать, то это уже -1 * undetected_cryptors * virus_base.

Получаем:

  • KAV = -1 * 2 * 554'110 = -1'108'220
  • DrWeb = -1 * 2 * 300'567 = -601'134

cryptors.gif

post-4003-1202457501_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Deja_Vu

Не могу согласиться с тезисом:

themida - обфускатор.

themida - не обфускатор, это защита программы от декомпиляции, работуящая по определенному принципу(не обфускации)

(Обфускация — запутывание кода программы, то есть приведение исходного текста или исполняемого кода к виду, сохраняющему функциональность программы, но затрудняющему анализ,)

К тому же, что-то я не пойму о чем вы спорите?

p.s.

Как может повлиять обфускатор на обнаружение, неужели сигнатуры содержат имена внутренних переменных?

Если нет, то любая обфускаяция на уровне машинного кода не сможет сокрыть вирус, т.к. использование алгоритма diff все расставит по своим местам.

p.p.s

Если уж хотите проверять обфускаторы, то нужно исползовать VIRTUALIZER того же производителя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Не могу согласиться с тезисом:

themida - обфускатор.

themida - не обфускатор, это защита программы от декомпиляции, работуящая по определенному принципу(не обфускации)

(Обфускация — запутывание кода программы, то есть приведение исходного текста или исполняемого кода к виду, сохраняющему функциональность программы, но затрудняющему анализ,)

Ну давайте пробежимся по списку:

  • Automatic decompilation and scrambling techniques in target application
  • Virtual Machine emulation in specific blocks of code
  • Advanced Mutator engine
  • Multiple polymorphic layers with more than 50.000 permutations
  • Random garbage code insertion between real instructions
  • Metamorphic engine to scramble original instructions
  • Full mutation in protection code to avoid pattern recognition
  • Many many more...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Deja_Vu
Ну давайте пробежимся по списку:
  • Automatic decompilation and scrambling techniques in target application
  • Virtual Machine emulation in specific blocks of code
  • Advanced Mutator engine
  • Multiple polymorphic layers with more than 50.000 permutations
  • Random garbage code insertion between real instructions
  • Metamorphic engine to scramble original instructions
  • Full mutation in protection code to avoid pattern recognition
  • Many many more...

И? .... я так же могу привести список продуктов MS - что это доказывает?

Themida® 1.9

Advanced Windows software protection system, developed for software developers who wish to protect their applications against advanced reverse engineering and software cracking

Не вижу ни слова про обфускацию

Code Virtualizer ® 1.3

Powerful code obfuscation system that helps developers to protect their sensitive code areas, in applications and device drivers, against Reverse Engineering.

Другое дело, да и принцип работы у него, какраз как у обфускатора.

(хотя надо признаться, тут diff'ом не обойдешься, но как понимаю эта система включается в работу, только после перекопиляции, что уже делает её не такой страшной)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
И? .... я так же могу привести список продуктов MS - что это доказывает?...

Если это может объяснить: ругань на безопасный код и пропуск вирусов - обработанных Themida - современными антивирусами , то приводите.

Не вижу ни слова про обфускацию

Не надо путать пиар и применяемые методы.

И TheMida и Code Virtualizer сильно паскудят ассемблированный код, но вот у первого закос в сторону защиты от отладки и исследования, а у второго в сторону возведения обфускации в ранг культа. Т.о. у них методы во многом совпадают, а вот специализация разная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Deja_Vu
И TheMida и Code Virtualizer сильно паскудят ассемблированный код, но вот у первого закос в сторону защиты от отладки и исследования, а у второго в сторону возведения обфускации в ранг культа. Т.о. у них методы во многом совпадают, а вот специализация разная.

Вообще разные системы.

Если первый делает что-то с исходным кодом realtime в RAM (например возрат нулей при декомпиляции - что уже не является обфускацией), то вторая система подключается при компиляции.

===

Но все же ... я так и не пойму сути спора между вами, что вы пытаетесь доказать .. можно ваши тезисы привести?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Вообще разные системы.

Если первый делает что-то с исходным кодом realtime в RAM (например возрат нулей при декомпиляции - что уже не является обфускацией), то вторая система подключается при компиляции.

Бегаете по верхам, но не хотите видеть суть. Вы запутались в терминологии?

===

Но все же ... я так и не пойму сути спора между вами, что вы пытаетесь доказать .. можно ваши тезисы привести?

Какие споры? Всем было всё ясно, а тут вы появляетесь и запутываете самого себя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Deja_Vu
Бегаете по верхам, но не хотите видеть суть. Вы запутались в терминологии?

джа нэ.

удачи вам с "обфускаторами"

(на будущее, с такими вот заявлениями в общесто программистов только не ходите, что б совсем стыдно не было)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
А вот существование криптора, с помощью которого можно хоть всю базу за историю человечества перепаковать, то это уже -1 * undetected_cryptors * virus_base.

Получаем:

* KAV = -1 * 2 * 554'110 = -1'108'220

* DrWeb = -1 * 2 * 300'567 = -601'134

Ещё раз указываю на ошибку: количество записей в вирусной базе != количество детектируемых вирусов!

Кроме того, формула -1 * undetected_cryptors * virus_base не верна. Скорее так:

-1 * undetected_cryptors * (virus_base - детект поверх) + детект поверх

Тоже наверняка формула не точная, но точнее, чем у Вас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
IT-Shark

dr_dizel, возьмусь напомнить Вам кое - что во избежание недоразумений.

Итак,

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

Взято отсюда

Я не намекаю ни на что - Боже упаси!

Просто напоминаю - на всякий случай.

С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
джа нэ.

удачи вам с "обфускаторами"

(на будущее, с такими вот заявлениями в общесто программистов только не ходите, что б совсем стыдно не было)

Сколько пафоса... Давайте я просто укажу на пару больших ошибок ваших?

Если первый делает что-то с исходным кодом realtime ..., то вторая система подключается при компиляции.

Какая ещё компиляция? Мы говорим про обфускаторы машинного кода, а не исходников. Единственный случай с исходниками - Code Virtualizer-у макросами можно сделать сигнатурные метки по которым указывается начало/конец виртуализации определённых участков кода и всё. Code Virtualizer виртуализирует машинный код. Он может полностью виртуализировать программу, но без антиотладочных приёмов и шифрования.

TheMida же виртуализирует только начало программы, преобразует машинный код для стирания всяких сигнатур, шифрует, пичкает программу антиотладочными приёмами и т.п.

В обоих этих продуктах используются техники обфусцирования. Code Virtualizer - "настоящий" обфускатор. TheMida - слабый обфускатор, но сильный шифровальщик-антиотладчик.

Как итог - мы имеем в обоих случаях изменённую до неузнаваемости программу, на которой обламывается антивирус.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASMax
Другое дело, да и принцип работы у него, какраз как у обфускатора.

(хотя надо признаться, тут diff'ом не обойдешься, но как понимаю эта система включается в работу, только после перекопиляции, что уже делает её не такой страшной)

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

В обоих этих продуктах используются техники обфусцирования. Code Virtualizer - "настоящий" обфускатор. TheMida - слабый обфускатор, но сильный шифровальщик-антиотладчик.

Как итог - мы имеем в обоих случаях изменённую до неузнаваемости программу, на которой обламывается антивирус.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Ещё раз указываю на ошибку: количество записей в вирусной базе != количество детектируемых вирусов!

Ещё раз? А первый где? :blink: Такие вещи всем известны. Вообще это была полушутливая формула не претендующая на место некоего коэффициента полезности антивирусов в тестах. Но её можно прокачать.

Кроме того, формула -1 * undetected_cryptors * virus_base не верна. Скорее так:

-1 * undetected_cryptors * (virus_base - детект поверх) + детект поверх

Тоже наверняка формула не точная, но точнее, чем у Вас.

Что такое "детект поверх"? И почему вы уменьшили и выкинули из операции умножения (которая более весомее суммирования) все вирусы, что детектятся одной сигнатурой? Все эти вирусы после извращения их кода детектиться тоже же не будут.

Тут не -, а + что-то должно быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Что такое "детект поверх"?

Это детект без распаковки. Странно, что Вы не знакомы с этим термином. Т.е. распаковать не можем, но знаем, что это точно вредонос. Добавить в базу надо. Поэтому добавляем детект файла "как он есть", нераспакованный вариант. Когда распаковка будет реализована, записи с детектом поверх удаляются из базы, и остаются только варианты вирусов в распакованном виде.

Тут не -, а + что-то должно быть.

Я написал, что формула неточная. Общую формулу же для всех антивирусов всё равно не найдёте - Вам исходных данных столько не дадут.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASMax
Скажем так:

Существование одного несчастного недетектящегося вируса - это -1 для антивируса.

А вот существование криптора, с помощью которого можно хоть всю базу за историю человечества перепаковать, то это уже -1 * undetected_cryptors * virus_base.

Получаем:

  • KAV = -1 * 2 * 554'110 = -1'108'220
  • DrWeb = -1 * 2 * 300'567 = -601'134

А почему количество вирусов берется из антивирусных баз? На мой взляд, количество вирусов в мире - это константа. ;) Следовательно ничего умножать не нужно, достаточно просто отнимать единичку за неподдерживаемый пакер, прибавлять ее за поддерживаемый и назвать это "Тест на поддержку пакеров", как обычно и делается. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Ещё раз? А первый где? blink.gif

Первый был недавно, другому участнику обсуждения. Странно, что Вы не знаете и об этой особенности антивирусов, рассуждая о таких серьёзных вещах.

Вообще это была полушутливая формула не претендующая на место некоего коэффициента полезности антивирусов в тестах.

Я не заметил намёка на шутку в том сообщении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Deja_Vu
В обоих этих продуктах используются техники обфусцирования. Code Virtualizer - "настоящий" обфускатор. TheMida - слабый обфускатор, но сильный шифровальщик-антиотладчик.

Как итог - мы имеем в обоих случаях изменённую до неузнаваемости программу, на которой обламывается антивирус.

TheMida - система имеющая некоторые функции обфускатора, но коим она не является.

Самосвал тоже с колесами и ездиет, но это не гоночная машина.

Я не придераюсь к словам, просто тот кто не понимает терминов, которыми он оперирует = не понимает что он говорит.

Вы заявили что Themida обфускатор и тему ушла в сторону опасности обфускаторов. Хотя на самом деле, роль обфускатора имеет далеко не первую роль влияющую на детект "защищенных" вирусов.

Тут гораздо большую роль играет шифрование и прочие защиты.

Так что заявлять:

на сегодняшний день любой вирус можно обработать этим обфускатором и он перестанет детектиться антивирусами.

нельзя.

  • Downvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
...

Предлагаю ввести термины: чистый виртуализатор и грязный виртуализатор. :rolleyes:

... Добавить в базу надо. Поэтому добавляем детект файла "как он есть", нераспакованный вариант. Когда распаковка будет реализована, записи с детектом поверх удаляются из базы, и остаются только варианты вирусов в распакованном виде.

Уж столько этих терминов развелось. :D

Ну и конечно при добавлении известного, но запакованного вируса, как нового - отдельной сигнатурой, вы увеличиваете общее число вирусов "детектируемых" данным антивирусом. Это даже выгодно - не поддерживать упаковщик. ;)

Но антивирусы на то и антивирусы, что должны уметь распаковывать всё. А сигнатурный детект и много чего ещё - это прошлый век.

Наравне с графическими, физическими процессорами - нам нужны антивирусные процессоры. По достойной цене. Различной продвинутости, шириной шины и объёмом памяти. KAV8600GT - звучит!

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

Напротив - он очень полезен. Он показывает сколько семейств вирусов должен детектить антивирус, но из-за упакощика не может.

И особенно он выручает при необходимости давать короткие быстрые оценки:

Вам не нужно при каждом "низачоте" писать -1 как пионер! Теперь ваше, скажем, -1108220 вполне обосновано. B)

  • Downvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Первый был недавно, другому участнику обсуждения. Странно, что Вы не знаете и об этой особенности антивирусов, рассуждая о таких серьёзных вещах.
То, что я знаю это - написано рядом - после смайлика. Это общеизвестный факт. Не надо вводить в заблуждение себя и читателей. Будьте внимательны.
Я не заметил намёка на шутку в том сообщении.

А сама терминология -1 вам ничего не сказала? Хм. Пркачвайте юмор, иначе можно просто сгореть на работе.

А почему количество вирусов берется из антивирусных баз? На мой взляд, количество вирусов в мире - это константа. ;) Следовательно ничего умножать не нужно, достаточно просто отнимать единичку за неподдерживаемый пакер, прибавлять ее за поддерживаемый и назвать это "Тест на поддержку пакеров", как обычно и делается. :)

Количество вирусов - пременная величина. Одна её часть (новые) растёт быстрее, чем другая (старые) уменьшается. Если бы она была константой, то развитие бы остановилось на цифре 1.

P.S. Распаковывать - восстанавливать код или логику программы в первоначальном виде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
TheMida - система имеющая некоторые функции обфускатора, но коим она не является.

...

Я не придераюсь к словам, просто тот кто не понимает терминов, которыми он оперирует = не понимает что он говорит.

Придираетесь очень даже.

Большинство продуктов в себе совмещают разные технологии. Те же антивирусные продукты нельзя назвать чистыми антивирусами: тут вам и поведенческие анализаторы, мониторы реестра, фаерволы и т.п. Каждый термин - как идеальный газ - существует только в головах.

Так и TheMida - комплекс технологий, в которые входит виртуализация, упаковка, шифрование, антиотладка и т.п. Когда мы говорим о ней одним словом - пакер (например), то подразумеваем то, что она модифицирует код программ, заворачивает в обёртку так сказать. Тот же вирустотал обзывает её пакером, но она и криптор, и виртуализатр и т.п. Мы можем выделять её какую-то особенность из числа других, и называть тем же антиотладчиком. Это не будет ошибкой.

А когда я говорил про запаковку любого вируса, то конечно же это речь шла об общем случае. Мы не рассматриваем частные. Если сказать: "большинство вирусов после упаковки (примечание: TheMida и Obsidium - обсуждение в теме) перестанет детектится" - то это вас устроит? Но ситуацию это не изменит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ASMax
Количество вирусов - пременная величина. Одна её часть (новые) растёт быстрее, чем другая (старые) уменьшается. Если бы она была константой, то развитие бы остановилось на цифре 1.

Что ж, буду изъясняться более бюрократически. На момент начала проверки файла F антивирусом, в мире существует ровно N вирусов, которые могут оказаться в F. Число N в момент времени T является константой и не зависит от антивируса и размера его баз. Поэтому вышеупомянутые -1 следует умножать именно на N. -2N, -33N... - лепота! :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Что ж, буду изъясняться более бюрократически. На момент начала проверки файла F антивирусом, в мире существует ровно N вирусов, которые могут оказаться в F. Число N в момент времени T является константой и не зависит от антивируса и размера его баз.

N - число вирусных воплощений, а не сигнатур, да?

K - число известных антивирусу A сигнатур.

А заявляет: я знаю K сигнатур.

Будем говорить: +K

(N-K) - пролетают мимо кассы.

Вводим новый упаковщик U1, после которого вирус не детектится.

После U1(K) имем в идеале K "новых" вирусов. В нашей методологии это -K.

Вводим другой упаковщик U2. U2(K) -> -K.

n - незнакомые A пакеры, k - знакомые.

Получаем: -1 * U[n] * K.

А вот если добавлять или отнимать единички за пакеры, то это не учитывает размер K.

Нужно: 1 * U[k] * K + -1 * U[n] * K.

:rolleyes:

Поэтому вышеупомянутые -1 следует умножать именно на N. -2N, -33N... - лепота! :lol:

Я чую в вас большой потенциал развития. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
A.

... Заняться вам нечем ...

теоретики ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel

... пятница же... ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • PR55.RP55
      .xml  файлы taskschd.msc Могут быть подписаны  цифровой подписью. Думаю будет нелишним, если uVS будет это фиксировать. т.е. проверять не только подпись целевого файла, но и подпись самого файла\задачи. и писать в ИНфО .  
    • demkd
      ---------------------------------------------------------
       4.15.2
      ---------------------------------------------------------
       o Исправлена ошибка при работе с образом автозапуска.
         Для некоторых процессов команда unload не добавлялась в скрипт при нажатии кнопки "принять изменения".  o Добавлена плашка окна на таскбаре для окна удаленного рабочего стола.
         (при работе с удаленной системой) -----------------------------------------------------------
      Есть проблема с локализацией глюка в редких случаях приводящему к аварийному завершению uVS при активном флаге "Проверять весь HKCR".
      На основе дампов его найти не получается, нужна копия реестра системы с такой проблемой, если кому-то попадется такая проблема, то присылайте архив с копией реестра системы мне на почту.  
×