Набор инструментов для EVM-реверса: декомпиляция байткода в Solidity/Yul, дизассемблирование, декодирование calldata и трассировка вызовов без исходного кода. Позволяет исследовать неверифицированные контракты напрямую с цепи.
Инструмент безопасности Ethereum-контрактов от ConsenSys. Использует symbolic execution, concolic analysis и SMT-solving для обнаружения reentrancy, integer …
Коллекция PoC-эксплойтов для реальных DeFi-взломов через Foundry forge-тесты. Включает: reentrancy (Euler Finance $197M), flash loan attacks …
Статический анализатор смарт-контрактов Solidity от Trail of Bits. 80+ детекторов: reentrancy, integer overflow, tx.origin authentication, unprotected …
Фаззер смарт-контрактов на основе property-based testing от Trail of Bits. Генерирует случайные транзакции для нарушения инвариантов …
# Через cargo cargo install heimdall-rs # Или бинарник из релизов: # https://github.com/Jon-Becker/heimdall-rs/releases # Декомпиляция контракта по адресу (Ethereum mainnet) heimdall decompile 0xAbCd... --rpc-url https://eth-mainnet.g.alchemy.com/v2/KEY # Декодирование calldata heimdall decode 0xa9059cbb000000... # Дизассемблирование heimdall disassemble 0xAbCd... --rpc-url https://eth-mainnet.g.alchemy.com/v2/KEY

Heimdall — это продвинутый набор инструментов для EVM-смарт-контрактов, специализирующийся на анализе байткода и извлечении информации из непроверенных контрактов. Heimdall написан на Rust и разработан для быстроты, модульности и большей точности по сравнению с другими существующими инструментами.
В настоящее время Heimdall поддерживает следующие операции: * Дизассемблирование EVM-байткода * Генерация графа управления EVM-смарт-контракта * Декомпиляция EVM-смарт-контракта * Дамп хранилища смарт-контракта * Декодирование исходных данных вызова транзакции * Декодирование трассировки исходной транзакции
Убедитесь, что Rust и Cargo установлены:
curl https://sh.rustup.rs -sSf | sh
Менеджер обновлений и установки Heimdall, bifrost, можно установить с помощью следующей команды:
curl -L http://get.heimdall.rs | bash
Если вы хотите установить bifrost вручную, вы можете загрузить последний выпуск отсюда.
После установки bifrost вы можете использовать его для установки Heimdall, выполнив следующую команду в новом терминале:
bifrost
После компиляции команда heimdall станет доступна для использования в новом терминале. Дополнительные параметры см. в документации bifrost.
Возникли проблемы? Ознакомьтесь с разделом Устранение неполадок в wiki.
Документация по всему heimdall-rs доступна в wiki.
Если вы хотите внести вклад в Heimdall или добавить модуль, пожалуйста, откройте pull-реквест с вашими изменениями, а также подробной информацией о том, что было изменено, добавлено или улучшено.
Для более подробной информации см. руководство по участию.
Если вы нашли проблему или у вас есть вопрос, пожалуйста, создайте задачу здесь. Все задачи должны соответствовать их соответствующим шаблонам.
Heimdall — это исследовательский набор инструментов, созданный и поддерживаемый Jonathan Becker. Полный список наших 20+ contributors можно найти на боковой панели.
Если вас интересуют исследования, стоящие за Heimdall, ознакомьтесь с некоторыми из моих публикаций.
Heimdall был процитирован в следующих академических статьях и диссертациях:
Если вы использовали или планируете использовать Heimdall в своих исследованиях, пожалуйста, свяжитесь со мной через электронную почту или Twitter! Буду рад узнать, для чего вы используете heimdall :)