eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Несколько вопросов по C# обфускации (SmartAssembly, internal функции)
Посл.ответ Сообщение

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

Создано: 25 мая 2015 10:49 New!
Цитата · Личное сообщение · #1

Здравствуйте! Экспериментирую с различными обфускаторами, чтобы защитить свой код от повторного использования. Основная задача - сделать анализ с целью повторного использования настолько трудоемким, чтобы дешевле было написать свой код, а не использовать мой. Уточню - не преследую цель сделать анализ НЕвозможным,- просто, максимально усложнить! Пока остановился на SmartAssembly (версии 6). Деобфусцировал с помощью de4dot. Результат оценивал в Reflector. В связи с этим есть ряд вопросов. В вопросах подразумевается, что анализируемый exe или dll был ранее обфусцирован SmartAssembly.

Вопросы:
1. Можно ли с помощью какого либо метода (деобфускация, создание дампа процесса, отладка или что либо другое) без значительных трудозатрат восстановить исходный код (можно без имен переменных) internal и private функций с условием, что они не вызываются из public функций? Если можно, то как?
2. Аналогичный вопрос по поводу исходных имен параметров функций и локальных переменных, используемых в internal и private функциях.
3. Какой обфускатор посоветуете использовать вместо SmartAssembly (только чтобы лицензия была не дороже 150-200$)?

Несколько наблюдений (исходя из моих экспериментов):
1. De4dot не восстанавливает имена локальных переменных после SmartAssembly (только переименовывает исходя из их типов http://prntscr.com/78puxr для облегчения анализа). А вот структуру кода нормально восстанавливает. Еще восстанавливает имена параметров публичных функций.
2. internal и private функций я не нашел http://prntscr.com/78pvh4 в восстановленном с помощью De4dot файле. Причем, их код не находится даже если вызываешь прямо из него (из кода internal или private функции) public функцию http://prntscr.com/78pxcf (в то время как ее вызов из публик функции виден http://prntscr.com/78pxf8 и http://prntscr.com/78pxhs)
3. Однако если приватная функция вызывается публичной, то ее можно обнаружить http://prntscr.com/78q5pm и распознать структуру .


Ранг: 747.9 (! !)
Статус: Участник
bytecode!

Создано: 25 мая 2015 11:03 New!
Цитата · Личное сообщение · #2

Форумом ошиблись


Ранг: 70.9 (постоянный)
Статус: Участник

Создано: 25 мая 2015 11:29 New!
Цитата · Личное сообщение · #3

Какой обфускатор посоветуете использовать вместо SmartAssembly

Перенести код в нативную DLL на C++/Дельфи/VB6 и не париться с обфускаторами.
А на шарпе оставить только интерфейс.


Ранг: 1964.1 (!!!!)
Статус: Модератор
retired

Создано: 25 мая 2015 11:30 New!
Цитата · Личное сообщение · #4

Не тот форум.
 eXeL@B —› Основной форум —› Несколько вопросов по C# обфускации (SmartAssembly, internal функции)
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS