Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
gemma_crackme_tutorial — Пошаговое руководство по использованию локальной модели ИИ Google Gemma 4 E4B для реверс-инжиниринга Windows crackme с помощью Ghidra, включая настройку локального вывода и автоматическое переименование функций и переменных. | Kitploit
Инструменты/GitHubGitHub/markoglasgow/gemma_crackme_tutorial
Обратная инженерияОтладчикиАнализ Бинарных ФайловМашинное ОбучениеОбучение и ОбразованиеОбратная Разработка с Помощью ИИ
GitHubmarkoglasgow/gemma_crackme_tutorial

gemma_crackme_tutorial

Пошаговое руководство по использованию локальной модели ИИ Google Gemma 4 E4B для реверс-инжиниринга Windows crackme с помощью Ghidra, включая настройку локального вывода и автоматическое переименование функций и переменных.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
353345 месяцев назадПроверено Kitploit

Использование локальной модели ИИ Google Gemma 4 E4B для реверс-инжиниринга простого Crackme

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

Реверс-инжиниринг и ИИ

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

ИИ здесь очень помогает, и лично я добился больших успехов, используя API OpenAI для разметки бинарника или очистки вывода декомпилятора. Однако у использования этих API есть несколько недостатков:

  • Стоимость — Декомпиляция и дизассемблирование генерируют огромное количество токенов. API взимают плату за токен, поэтому анализ больших бинарников может обойтись в довольно крупную сумму. Если вы работаете с большой целью, содержащей множество бинарников, которые обновляются каждую неделю, эти расходы могут быстро накапливаться и становятся непомерными для реверсеров-любителей.

  • Конфиденциальность — При использовании удаленного API хост ИИ имеет доступ к информации о том, что вы делаете. Это неприемлемо в некоторых профессиональных сценариях.

  • Контроль — Когда вы полагаетесь на удаленный API, у вас нет контроля над тем, какие модели вам предоставляются, или над качеством этих моделей. Если вы полагаетесь на них для критически важных задач, это может стать проблемой, когда они замедляются или перестают работать в тот момент, когда они вам нужны, или когда качество их вывода ухудшается до такой степени, что они становятся бесполезными.

Запуск собственных локальных моделей ИИ решает некоторые из этих проблем:

  • Стоимость — Запуск локальной модели может быть гораздо дешевле, чем использование хостингового сервиса. Хотя ваша локальная модель, вероятно, меньше и медленнее, чем у хорошего провайдера, если она достаточно хороша и работает за приемлемое время, может иметь смысл сэкономить деньги, запуская свою модель, особенно если вы обрабатываете большие объемы данных для простых задач.

  • Конфиденциальность — Когда вы запускаете модель локально, сетевые вызовы не происходят, и вы полностью контролируете свою конфиденциальность. Никто не может видеть, для чего вы используете модель на своем собственном компьютере.

  • Контроль — Прелесть модели с открытыми весами в том, что никто не может её у вас отнять. OpenAI или Anthropic могут однажды сделать свои самые современные модели недоступными, либо за счет повышения цен, либо путем явного удаления своих API. Но с моделью с открытыми весами вы контролируете свою судьбу, к лучшему или к худшему.

Однако у локальных моделей ИИ есть и свои недостатки:

  • Размер — Чем больше модель, тем она интеллектуальнее. Однако большинство больших моделей не помещаются на потребительском оборудовании. Из-за этого, если вы запускаете локальную модель, скорее всего, вы запускаете модель, которая в 10-100 раз меньше самой современной (State-of-the-Art) модели. Это уменьшение размера напрямую приводит к снижению интеллекта модели, делая их непригодными для многих задач, которые люди считают само собой разумеющимися в современных моделях, таких как ChatGPT/Codex или Claude.

  • Скорость — Локальные модели, вероятно, будут работать на вашем компьютере медленнее, чем при использовании API ИИ. Опять же, это связано с ограничениями потребительского оборудования и некоторых хитростей, которые могут применять провайдеры API и которые обычно недоступны для вас.

  • Настройка — Запуск локальных моделей похож на попытку установить Linux на восстановленный ноутбук вместо того, чтобы зайти в магазин Apple и купить новый Macbook Air. Опыт Codex и Claude Code — это опыт магазина Apple в мире ИИ. Опыт локальных моделей ИИ — это парень в федоре в своем гараже, долбящийся с глючным компьютером, пытаясь заставить его работать. Как минимум, вам нужно беспокоиться о следующих вещах:

    • Приобретение подходящего оборудования
    • Драйверы GPU
    • Выбор и настройка правильного сервера вывода
    • Выбор модели, которая поместится на ваше оборудование, будет работать достаточно быстро, чтобы быть практичной, и будет достаточно интеллектуальной для поставленной задачи
    • Использование правильного шаблона чата с вашей моделью
    • Изучение квантизаций модели для поиска правильного компромисса между размером/скоростью и интеллектом модели.
    • Правильное формулирование промптов для модели
    • Выбор правильной обвязки (harness) или создание собственной, если ни одна из существующих не работает.

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

Настройка реверс-инжиниринга

  • Crackme — это чрезвычайно простой Windows crackme, скачанный с Crackmes.one вот здесь: https://crackmes.one/crackme/69e13f938afd9d6c48b488fd

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

  • Ghidra 12.04 используется для дизассемблирования и декомпиляции. Вам понадобится установить OpenJDK 21 для его использования: https://github.com/nationalsecurityagency/ghidra

  • Во время работы над этим туториалом я средствами vibe-coding с Claude Code создал плагин для Ghidra для переименования функций и переменных с помощью ИИ. Вы можете скачать плагин отсюда: https://github.com/markoglasgow/Ghidra_FastAIRenamer_Plugin

Чтобы установить его, просто переместите zip-файл ghidra_12.0.4_PUBLIC_20260427_FastAIRenamerPlugin.zip в ${GHIDRA_HOME}\Extensions\Ghidra, затем запустите Ghidra, выполнив ${GHIDRA_HOME}\ghidraRun.bat. Чтобы активировать плагин, в начальном окне Ghidra в верхнем меню выберите File -> Install Extensions, затем в браузере плагинов установите флажок рядом с FastAIRenamerPlugin и нажмите Ok. Ghidra предложит перезапуститься, сделайте это сразу.

Скачать инструмент