Перейти к содержимому
Aback Tools Logo

Извлекатель ресурсов .NET

Извлекайте и декодируйте встроенные ресурсы из исходного кода .NET. Обнаруживает строки в кодировке Base64, массивы байтов в hex-формате, вызовы GetManifestResourceStream, поиск в ResourceManager, полезные нагрузки Convert.FromBase64String и встроенные данные конфигурации. Показывает каждое обнаружение с закодированными и декодированными значениями рядом, оценками достоверности и контекстом исходного кода. Бесплатно, конфиденциально и без регистрации.

.NET Resource Extractor

Extract and decode embedded resources from .NET source code. Detects Base64 strings, hex-encoded byte arrays, GetManifestResourceStream calls, ResourceManager lookups, Convert.FromBase64String usage, and embedded configuration data. Shows encoded and decoded values side by side with confidence ratings.

Examples:

Paste .NET source code above and click Extract Resources to detect and decode embedded resources. The tool identifies Base64 strings, hex-encoded byte arrays, GetManifestResourceStream calls, ResourceManager lookups, and embedded configuration data. Try loading an example to see how it works!

Возможности

  • 6 методов обнаружения ресурсов: автоматически находит встроенные строки Base64, массивы байтов в hex-кодировке, вызовы GetManifestResourceStream, шаблоны Convert.FromBase64String, поиск в ResourceManager и встроенные строки конфигурации в исходном коде .NET. Каждый метод использует целевое сопоставление шаблонов с оценкой достоверности.
  • Декодирование Base64 и hex в реальном времени: ресурсы в кодировке Base64 автоматически декодируются с помощью нативного atob() браузера, раскрывая URL, строки подключения, ключи API и данные конфигурации. Массивы байтов в hex-кодировке преобразуются в читаемые строки путём восстановления символов.
  • Обнаружение шаблонов доступа к ресурсам: определяет шаблоны доступа к ресурсам .NET, включая Assembly.GetManifestResourceStream, ResourceManager.GetString, поиск ресурсов .resx и ссылки на встроенные файлы. Каждое обнаружение содержит номера строк исходника и окружающий контекст кода для удобной навигации.
  • 100 % локально в браузере и конфиденциально: всё извлечение ресурсов выполняется полностью в вашем браузере. Ваш исходный код .NET, обнаруженные ресурсы и декодированные значения никогда не покидают устройство. Без загрузки на сервер, без вызовов API, без хранения данных и без какого-либо отслеживания.

Что такое извлечение ресурсов .NET?

Извлечение ресурсов .NET - это процесс выявления и декодирования встроенных данных внутри сборок .NET. Приложения .NET часто внедряют ресурсы, такие как файлы конфигурации, строки, изображения и сериализованные данные, прямо в скомпилированные сборки через действие сборки «Внедрённый ресурс» или файловую систему Resources.resx. Обфусцированные и вредоносные приложения .NET идут дальше и кодируют конфиденциальные данные — например, URL C2-серверов, конечные точки API, лицензионные ключи и зашифрованные полезные нагрузки — как строки Base64, массивы байтов в hex-кодировке или обфусцированные потоки ресурсов, доступные через Assembly.GetManifestResourceStream() или ResourceManager.GetString() . Извлечение и декодирование этих ресурсов необходимо, чтобы понять, что на самом деле делает обфусцированное или неизвестное приложение .NET.

Как работает наш извлекатель ресурсов

Извлекатель сканирует исходный код .NET с помощью специализированных детекторов шаблонов для каждой техники кодирования ресурсов. Для строк Base64 он находит длинные литералы в кодировке Base64 и декодирует их встроенной функцией браузера atob(), раскрывая скрытые URL, строки подключения и сериализованные данные. Для массивов байтов в hex-кодировке он определяет шаблоны вида new byte[] и преобразует hex-пары в читаемые символы. Для доступа к потокам ресурсов он обнаруживает вызовы GetManifestResourceStream() , ResourceManager.GetString() и GetObject() , извлекая имена ресурсов и параметры. Для данных конфигурации он находит строковые литералы с URL, путями к файлам и другими встроенными шаблонами конфигурации. Каждое обнаружение содержит номера строк исходника и окружающий контекст.

Техники кодирования ресурсов в .NET

Обфускаторы .NET и вредоносное ПО используют несколько техник, чтобы скрыть ресурсы в скомпилированных сборках. Кодирование Base64 - самое распространённое: целые полезные нагрузки и файлы конфигурации кодируются в Base64 и декодируются во время выполнения через Convert.FromBase64String() . Массивы байтов в hex-кодировке хранят данные как массивы hex-литералов, преобразуемых с помощью Encoding.UTF8.GetString() . XOR-шифрование применяет операции XOR с ключевым байтом для обфускации встроенных данных. Потоки ресурсов используют GetManifestResourceStream() для доступа к данным, скрытым в разделах ресурсов сборки под вводящими в заблуждение именами. Шаблоны доступа к ResourceManager индексируют скомпилированные данные .resx по строковым ключам. Понимание этих техник помогает определить, какие данные могут быть скрыты и как их декодировать.

Приватность и безопасность

Этот инструмент работает полностью в вашем браузере. Ваш исходный код .NET, обнаруженные ресурсы, декодированные значения и результаты анализа никогда не загружаются на сервер, не сохраняются в базах данных и не передаются по сети. Весь анализ, сопоставление шаблонов и декодирование выполняются локально на вашем устройстве на клиентском JavaScript. Здесь нет вызовов API, аналитического отслеживания, cookie и сбора данных любого рода. Это делает инструмент полностью безопасным для анализа проприетарных приложений .NET, сторонних сборок, образцов вредоносного ПО или чувствительного корпоративного исходного кода.

Часто задаваемые вопросы

Инструмент обнаруживает шесть распространённых типов ресурсов .NET: строки в кодировке Base64 (длинные литералы Base64, декодируемые через atob()), массивы байтов в hex-кодировке (шаблоны вида new byte[] {0x48, 0x65, ...}), вызовы GetManifestResourceStream (доступ к потокам ресурсов сборки), вызовы ResourceManager.GetString/GetObject (поиск ресурсов .resx), использование Convert.FromBase64String (декодирование Base64 во время выполнения) и встроенные строки конфигурации (URL, пути к файлам, строки подключения в строковых литералах).

Инструмент ищет строковые литералы с 20 и более символами корректного содержимого Base64 (A-Z, a-z, 0-9, +, /, заполнение =). Он проверяет Base64, пытаясь декодировать его через atob() и проверяя, содержит ли результат читаемый ASCII-текст. URL, конечные точки API и строки конфигурации, декодируемые в читаемое содержимое, получают самые высокие оценки достоверности (5 - очень высокая).

Assembly.GetManifestResourceStream() - это метод .NET, дающий доступ к встроенным ресурсам внутри скомпилированной сборки. Разработчики могут встроить любой файл как ресурс, задав действие сборки «Внедрённый ресурс». Обфускаторы и авторы вредоносного ПО часто прячут полезные нагрузки и данные конфигурации как встроенные ресурсы с вводящими в заблуждение именами, а затем обращаются к ним во время выполнения через этот метод. Инструмент обнаруживает такие вызовы и извлекает имя ресурса для дальнейшего исследования.

Нет — этот инструмент анализирует исходный код .NET, а не скомпилированные сборки. Сначала нужно декомпилировать EXE или DLL .NET с помощью инструмента вроде dnSpy, ILSpy или dotPeek. Скопируйте декомпилированный исходный код C# или VB.NET и вставьте его в этот инструмент. Декомпилятор покажет вызовы GetManifestResourceStream, строки Base64 и литералы массивов байтов, которые извлекатель затем обнаружит и декодирует.

Инструмент обнаруживает шаблоны из 3 и более последовательных hex-байтовых литералов (0x48, 0x65, 0x6C) в инициализаторах массивов или встроенных выражениях. Он собирает десятичные значения из каждого hex-литерала, преобразует их в символы с помощью String.fromCharCode() и проверяет, является ли полученный текст читаемым ASCII. Этот приём часто используется, чтобы скрыть строки, собирая их побайтово вместо прямого использования строковых литералов.

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

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

Да — на 100 % бесплатный, без регистрации, аккаунта и ограничений на использование. Извлекайте ресурсы из столько кода .NET, сколько нужно, сколько угодно раз. Никаких премиум-тарифов, скрытых платежей и ограничений по частоте. Инструмент работает полностью в вашем браузере — ваш код никогда не покидает устройство.