Улучшение кода с помощью ИИ
«ИИ Помощник» (AI Helper) обрабатывает код, уже восстановленный VB Decompiler: C# из сборок .NET и Visual Basic 5.0/6.0 из P-Code или Native Code. Для обработки можно использовать локальную модель через Ollama или сервис, подключённый через интеграцию с OpenAI API.
ИИ может предложить более понятные управляющие конструкции, имена переменных, объявления и выражения. Он не может достоверно восстановить информацию, отсутствующую в двоичном файле, или гарантированно исправить фрагменты, неверно интерпретированные декомпилятором. Перед использованием результата при восстановлении исходного кода или в отчёте о расследовании сравните его с исходным листингом декомпилятора, дизассемблированными инструкциями и кодом связанных процедур.
Обработка процедуры
- Откройте нужную процедуру в «Обозреватель решений» (Solution explorer) и изучите её код в представлении «Декомпилятор» (Decompiler).
- Переключитесь на «ИИ Помощник» и настройте поставщика сервиса, адрес сервера и модель, как описано ниже.
- Запустите обработку кнопкой рядом со списком моделей.
- Проверьте полученный код в «ИИ Помощник» и сравните его с исходным результатом декомпиляции.
Обработка с помощью ИИ выполняется в отдельном потоке. Если модель слишком долго отвечает, нажмите «Отмена» (Cancel). Дополнительные параметры подключения можно свернуть, чтобы освободить место для кода.
Локальная модель через Ollama
- Установите Ollama с официальной страницы загрузки и запустите её.
- Загрузите рекомендуемую модель командой
ollama pull qwen3:8bв терминале. - В «ИИ Помощник» выберите локального поставщика LLM/Ollama. В поле «Ollama хост» (Ollama host) укажите адрес сервера. Для локальной установки по умолчанию используется
http://localhost:11434. - Выберите установленную модель в поле «Модель» (Model) и запустите обработку.
Рекомендуется qwen3:8b: встроенные промпты «ИИ Помощник» адаптированы для этой легковесной модели. Более новые модели могут работать медленнее, не улучшая результат обработки кода.
Выбор модели не ограничен: можно использовать любую модель, установленную в выбранном экземпляре Ollama. Если формат её ответа неизвестен декомпилятору, в результате могут остаться служебные теги или другой вспомогательный текст.
Оборудование для локального запуска Ollama
Локальная обработка ИИ выполняется на компьютере, где запущена Ollama, и требует значительно больше ресурсов, чем декомпиляция. Ниже приведены практические ориентиры для qwen3:8b с квантованием весов Q4_K_M, стандартным кэшем контекста f16 и обработкой одного запроса за раз. Контекст измеряется в токенах: 4K — это 4096 токенов, а 128K — 131072 токена. В этот объём входят инструкции модели, исходный код и сформированный ответ.
| Компонент | Практический минимум: контекст 4K | Рекомендуется: контекст 128K |
|---|---|---|
| Операционная система | 64-разрядная Windows 10 (22H2) или Windows 11 | 64-разрядная Windows 10 (22H2) или Windows 11 |
| Процессор | Современный x64-процессор с AVX2 и не менее чем 4 физическими ядрами | Современный x64-процессор с AVX2 и не менее чем 8 физическими ядрами |
| Оперативная память (RAM) | 16 ГБ | 64 ГБ |
| Видеокарта | Совместимая с Ollama видеокарта с выделенной видеопамятью не менее 8 ГБ | Совместимая с Ollama видеокарта с выделенной видеопамятью не менее 32 ГБ |
| Накопитель | SSD, не менее 20 ГБ свободного места для Ollama и этой модели | SSD, не менее 20 ГБ свободного места для Ollama и этой модели |
Выберите размер контекста ползунком в настройках Ollama. Видеокарты с 8 ГБ памяти, подходящей для 4K, недостаточно для приведённой конфигурации с контекстом 128K. Размер загружаемой модели — около 5.2 ГБ, но это не весь необходимый объём памяти. При 128K один только кэш контекста f16 занимает примерно 18 ГиБ; дополнительно нужны память для весов модели и рабочих буферов. Оставляйте запас памяти для Windows и других приложений.
При достаточном объёме RAM Ollama может выполнять вычисления на процессоре, однако обработка кода может быть очень медленной. Компьютеры на Pentium M и сопоставимые устаревшие системы не подходят для локального запуска qwen3:8b. Общая память старых встроенных Intel HD Graphics не заменяет указанную в таблице выделенную видеопамять. Эти требования относятся к компьютеру с Ollama; при подключении к удалённому серверу или внешнему API вычисления выполняются на их оборудовании.
Для небольших процедур начните с 4K. Увеличение контекста повышает расход памяти и время обработки больших входных данных. Если обработка слишком медленная, отмените её, уменьшите контекст и проверьте использование GPU командой ollama ps. Фактический расход памяти зависит от версии Ollama, вычислительного бэкенда и других запущенных задач.

Подключение через OpenAI API
В поле «Провайдер» (Provider) выберите OpenAI API. Заполните поля «Хост» (Host), «API-ключ» (API key) и «Модель» для нужного сервиса. Укажите действующий ключ API и доступную по этому ключу модель. Не включайте ключи API в скриншоты и материалы для совместного анализа.
Через поставщика OpenAI API также можно подключить DeepSeek. Укажите адрес сервера DeepSeek, ключ API и идентификатор модели в соответствующих полях. Пример настройки приведён ниже.

Где обрабатывается код
«ИИ Помощник» отправляет текущий декомпилированный код выбранному сервису. Для полностью локальной обработки используйте сервер Ollama на своей рабочей станции и модель, выполняемую на ней же. При подключении к Ollama на другом компьютере, облачной модели Ollama или внешнему API код может передаваться за пределы рабочей станции.
При восстановлении конфиденциального исходного кода и расследовании инцидентов выбирайте сервер и сервис с учётом требований организации к обработке данных. Наличие Ollama или адреса localhost само по себе не означает, что код обрабатывается без доступа к внешним сервисам.
Устранение неполадок
- Если локальная модель не отображается, убедитесь, что она установлена именно в том экземпляре Ollama, адрес которого указан в настройках.
- Если сервис не отвечает, проверьте, что он запущен и доступен. Адрес сервера, учётные данные и идентификатор модели должны соответствовать одному и тому же сервису.
- Если обработка слишком медленная, отмените её. При использовании другой локальной модели попробуйте рекомендуемую
qwen3:8b. - Если в ответе незнакомой модели остаются служебные теги или вспомогательный текст, попробуйте
qwen3:8bили удалите этот текст вручную при проверке результата. - Если в результате неожиданно изменились условие, вызов, константа или тип, сверьтесь с низкоуровневым листингом. Более читаемый код не обязательно сохраняет исходное поведение.
Ollama и сервисы внешних поставщиков моделей — сторонние продукты. Их доступность, поведение моделей и правила работы не зависят от VB Decompiler.
