U
UnderD0g
Original poster
Здравствуй мой маленький любитель форумов. У каждого человека - мальваро-хантера бывает такой момент когда он находит семпл мальвары, но она накрыта протектором! И сегодня я научу вас вскрывать один из самых известных протекторов ConfuserEx.
Как мы видим у нас есть этот файл который я достал из проклятого мордора, и теперь нам понадобится DIE
Detect It Easy - это бесплатная кроссплатформенная программа для анализа файлов, которые вы загружаете в приложение. Он обнаруживает, среди прочего, используемый компилятор и компоновщик, подписи и другую информацию о файлах.
Теперь после того как мы узнали что такое DIE можем спокойно кинуть в неё наш файл под протектором:
Как мы видим у нас написан название протектора который использует наш файлик:
Теперь нам понадобится использовать программу dnSpy
dnSpy - это инструмент для обратного проектирования сборок .NET. Он включает в себя декомпилятор, отладчик и редактор сборок (и многое другое), и его можно легко расширить, написав собственное расширение. Он использует dnlib для чтения и записи сборок, поэтому он может обрабатывать запутанные сборки (например, вредоносные программы) без сбоев.
Теперь после того как мы узнали что такое dnSpy посмотрим что скажет эта программа:
Теперь нам надо перейти к точке доступа, для этого жмем правой кнопкой и жмем "перейти к точке доступа":
И как мы видим код не очень сильно напоминает код:
Теперь нам понадобится программа ConfuserEx Dynamic Unpacker "его можно где-нибудь найти". После того как вы скачали его запускаем консольно и кидаем exe в консоль, также надо написать ключ -s:
После этого мы должны увидеть такую картину:
Теперь нам надо скачать de4dot
de4dot-это открытый исходный код (GPLv3) .Чистая deobfuscator и распаковщика, написанных на C#. Он попытается свое самое лучшее для того чтобы восстановить упакованный и запутанный агрегат к почти первоначально агрегату. Большую часть обфускации можно полностью восстановить (например. string encryption), но переименование символов невозможно восстановить, так как исходные имена не являются (обычно) частью запутанной сборки.
Теперь после этого опять кинем в DIE и посмотрим что будет:
Как мы видим нечего не изменилось, а давайте теперь кинем DnSpy:
Опа вот мы и получаем код! Так легко можно снять протектор. А на этом все! Учите C# детки
Как мы видим у нас есть этот файл который я достал из проклятого мордора, и теперь нам понадобится DIE
Detect It Easy - это бесплатная кроссплатформенная программа для анализа файлов, которые вы загружаете в приложение. Он обнаруживает, среди прочего, используемый компилятор и компоновщик, подписи и другую информацию о файлах.
Теперь после того как мы узнали что такое DIE можем спокойно кинуть в неё наш файл под протектором:

Как мы видим у нас написан название протектора который использует наш файлик:

Теперь нам понадобится использовать программу dnSpy
dnSpy - это инструмент для обратного проектирования сборок .NET. Он включает в себя декомпилятор, отладчик и редактор сборок (и многое другое), и его можно легко расширить, написав собственное расширение. Он использует dnlib для чтения и записи сборок, поэтому он может обрабатывать запутанные сборки (например, вредоносные программы) без сбоев.
Теперь после того как мы узнали что такое dnSpy посмотрим что скажет эта программа:

Теперь нам надо перейти к точке доступа, для этого жмем правой кнопкой и жмем "перейти к точке доступа":

И как мы видим код не очень сильно напоминает код:

Теперь нам понадобится программа ConfuserEx Dynamic Unpacker "его можно где-нибудь найти". После того как вы скачали его запускаем консольно и кидаем exe в консоль, также надо написать ключ -s:

После этого мы должны увидеть такую картину:

Теперь нам надо скачать de4dot
de4dot-это открытый исходный код (GPLv3) .Чистая deobfuscator и распаковщика, написанных на C#. Он попытается свое самое лучшее для того чтобы восстановить упакованный и запутанный агрегат к почти первоначально агрегату. Большую часть обфускации можно полностью восстановить (например. string encryption), но переименование символов невозможно восстановить, так как исходные имена не являются (обычно) частью запутанной сборки.

Теперь после этого опять кинем в DIE и посмотрим что будет:

Как мы видим нечего не изменилось, а давайте теперь кинем DnSpy:

Опа вот мы и получаем код! Так легко можно снять протектор. А на этом все! Учите C# детки