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

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

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

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

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

Категории

Все категории
Loading categories
ASM-Obfuscator — Запутывает ассемблерный код x86-64 с помощью инъекции инструкций, мусорного кода, обфускации констант и динамической дешифровки, чтобы затруднить реверс-инжиниринг и антианализ. | Kitploit
Инструменты/GitHubGitHub/gmh5225/asm-obfuscator
Оборонительные ИнструментыОбратная инженерияОтладчикиАнализ Бинарных Файлов
GitHubgmh5225/asm-obfuscator

ASM-Obfuscator

Запутывает ассемблерный код x86-64 с помощью инъекции инструкций, мусорного кода, обфускации констант и динамической дешифровки, чтобы затруднить реверс-инжиниринг и антианализ.

Репозиторий
7232 лет назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

ASM-Obfuscator

Продвинутый обфускатор ассемблерного кода x86-64. License

Описание

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

Возможности

  • Внедрение инструкций: Внедряет пользовательские байтовые последовательности перед каждой ассемблерной инструкцией, чтобы запутать дизассемблеры.

  • Рандомизация: Вносит случайность в структуру кода, делая его менее предсказуемым.

  • Обнаружение отладчика: Обнаруживает наличие отладчиков во время выполнения кода и применяет антиотладочные меры.

  • Антианалитические техники: Сбивает с толку инструменты динамического анализа с помощью условных ветвлений и проверок времени.

  • Динамическое дешифрование: Шифрует и динамически расшифровывает участки кода во время выполнения, повышая сложность.

  • Динамическая декомпрессия: Сжимает и динамически распаковывает участки кода, скрывая истинную природу кода.

  • Обфускация констант: Обфусцирует константы и значения данных с помощью таких техник, как XOR и манипуляции с битами.

  • Переименование переменных: Переименовывает переменные и регистры, делая код менее читаемым.

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

Принцип работы

1. Внедрение инструкций

Ядро процесса обфускации заключается во внедрении пользовательских байтовых последовательностей перед каждой ассемблерной инструкцией в файле кода. Эти стратегически разработанные байтовые последовательности предназначены для того, чтобы ввести в заблуждение как дизассемблеры, так и аналитиков. Рассмотрим этот процесс подробно:

Исходная инструкция:

root@kitploit:~
4005d2:   55                      push   rbp

В памяти (hex):

root@kitploit:~
0x55

После внедрения:

root@kitploit:~
400665:   eb 01                jmp    400668 <main+0x3>
400667:   b0 55                mov    al,0x55
400669:   eb 01                jmp    40066c <main+0x7>

В памяти (hex):

root@kitploit:~
0xEB, 0x01, 0xB0, 0x55

Вот разбор преобразования:

  • Исходная инструкция PUSH RBP ассемблируется в 0x55. Обфускатор вставляет перед ней байты 0xEB, 0x01, 0xB0.

  • В результате получается последовательность инструкций, которая при дизассемблировании может выглядеть совершенно иначе, чем исходный код. Это затрудняет понимание истинного назначения кода специалистами по реверс-инжинирингу.

2. Рандомизация

Вносит элементы случайности в код. Это включает такие техники, как перестановка инструкций, замена операндов и подстановка опкодов.

3. Обнаружение отладчика

Включает механизмы обнаружения наличия отладчиков во время выполнения кода. Содержит проверки во время выполнения для выявления артефактов, связанных с отладчиками, и активации антианалитических мер.

4. Антианалитические техники

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

5. Динамическое дешифрование

Применяет техники динамического дешифрования. Шифрует определённые участки кода и расшифровывает их во время выполнения с помощью секретного ключа. Этот процесс дешифрования происходит динамически во время выполнения кода.

6. Динамическая декомпрессия

Сжимает определённые участки кода и распаковывает их на лету при выполнении.

7. Обфускация констант

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

8. Переименование переменных

Инструмент переименовывает переменные и регистры, делая код менее читаемым. Процесс включает замену имён переменных на случайно сгенерированные строки или числовые идентификаторы.

9. Вставка мусорного кода

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

Пример вставки мусорного кода:

root@kitploit:~
; Исходный код
mov eax, 1

; После вставки мусорного кода
mov ebx, 2
sub ecx, ecx
add edx, edx

В памяти (hex):

root@kitploit:~
0x89, 0xD8, 0x31, 0xC9, 0x01, 0xD2

Вставленный мусорный код предназначен для отвлечения внимания и придания коду более запутанного вида.

10. Обнаружение поддельных UPX-заголовков

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

До преобразования (исходный код):

root@kitploit:~
section .text
global _start

_start:
    ; Calculate the sum of the first 10 natural numbers
    mov ecx, 10        ; Initialize loop counter
    mov eax, 0         ; Initialize sum to 0

loop_start:
    add eax, ecx       ; Add current value of ECX to EAX (sum)
    loop loop_start    ; Decrement ECX and loop if not zero

    ; Exit program
    mov eax, 1         ; SYS_exit
    int 0x80           ; Invoke syscall

Шестнадцатеричное представление (исходный код):

root@kitploit:~
31 C9                 xor    ecx,ecx
B8 00 00 00 00        mov    eax,0x0
EB 0E                 jmp    0x1c
01 C8                 add    eax,ecx
E2 FB                 loop   0x11
B8 01 00 00 00        mov    eax,0x1
CD 80                 int    0x80

После преобразования (обфусцированный код):

root@kitploit:~
section .text
global _start

_start:
    ; Calculate the sum of the first 10 natural numbers
    mov eax, 0x1
    add eax, 0x2
    add eax, 0x3
    add eax, 0x4
    add eax, 0x5
    add eax, 0x6
    add eax, 0x7
    add eax, 0x8
    add eax, 0x9
    add eax, 0xa

    ; Exit program
    mov eax, 0x1
    int 0x80

Шестнадцатеричное представление (обфусцированный код):

root@kitploit:~
B8 01 00 00 00        mov    eax,0x1
83 C0 02              add    eax,0x2
83 C0 03              add    eax,0x3
83 C0 04              add    eax,0x4
83 C0 05              add    eax,0x5
83 C0 06              add    eax,0x6
83 C0 07              add    eax,0x7
83 C0 08              add    eax,0x8
83 C0 09              add    eax,0x9
83 C0 0A              add    eax,0xa
B8 01 00 00 00        mov    eax,0x1
CD 80                 int    0x80

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

Лицензия

Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.

Участие

Вклад приветствуется!.

Поддержка

По вопросам, запросам функций или общим обращениям, пожалуйста, создайте issue.

Отказ от ответственности

Этот инструмент предназначен для образовательных и этических целей.

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