Форум программистов, компьютерный форум, киберфорум
Jin X
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

Инструменты для низкоуровневого программирования

Запись от Jin X размещена 12.03.2018 в 20:55
Показов 49203 Комментарии 1


Компиляторы и компоновщики
  • MASM32 (Macro Assembler) – наверное, самый популярный пакет самого популярного ассемблера от Стива Хатчессона aka Hutch (содержит в себе также PoAsm), рекомендую сразу скачать ml.exe 8.0 и заменить им входящий в пакет ml.exe 6.14
    • MASM64 by Hutch – набор файлов для 64-битной версии MASM (необходимо запустить makeall.bat, а потом обратить особое внимание на файл include64\masm64rt.inc); файлы ml64.exe, link.exe и прочие потроха можно взять из Visual Studio (путь к папке с нужными файлами примерно такой: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.12.25827\bin\Hostx64\x64\)
    • MASM64 includes and libs – заголовки и библиотеки для 64-битного MASM'а от Vasiliy (тут главный файл – include64\temphls.inc, который включён в набор Hutch'а и называется macros64\vasily.inc, так что скачивать оба пакета смысла нет; однако информацию с сайта Василия почитать стоит)
    • Disassemble Help Library – Библиотека того же автора (Vasiliy) для дизассемблирования
    • Calculation Engine – Библиотека для работы с длинными числами (снова by Vasiliy)
  • fasm (flat assembler) – современный и удобный компилятор под DOS, Wndows, Linux с очень развитой системой макросов и полным набором инструкций Intel/AMD
  • NASM (Netwide Assembler) – ещё один современный кроссплатформенный компилятор с хорошей макросистемой и полным набором инструкций Intel/AMD, популярен в зарубежных проектах и при программировании под Linux/BSD
    • NASMX – пакет макросов, include'ов, примеров и утилит для NASM под Windows, Linux, BSD, Xbox; включает макрос invoke, символы для работы с OpenGL и пр.
    • Yasm (Yet another assembler...) – попытка переписать NASM, однако последняя версия датируется 2014 годом и, на мой взгляд, не имеет преимуществ перед NASM
  • UASM (он же HJWasm) – современный MASM-совместимый мультиплатформенный ассемблер с полным набором инструкций Intel/AMD
  • TASM 5.x (Turbo Assembler) – старый, но всё ещё популярный ассемблер, в основном используется для создания программ под DOS
  • GoAsm – ассемблер для написания программ под Windows (Вики)
  • Asmc Macro Assembler (с исходниками) – переделанный JWasm с довольно приличной библиотекой различных функций

  • fasmg (flat assembler g) – универсальный ассемблер под любую платформу (имеются include-модули для создания кода под AVR, i8051, x86/x64, генерации байт-кода JVM, аналогично можно создать свои модули; информация)
  • FASMARM – ассемблер под архитектуру ARM
  • ARM Keil MDK (Microcontroller Development Kit) – средство разработки и отладки для контроллеров ARM (ещё ссылка; дополнительные паки; документация [english])
  • GNU Arm Toolchain – тулчейн для компиляции ARM-приложений под Windows [i686], Linux [x86-64 и AArch64], macOS [x86-64] (ещё одна ссылка)

  • ALINK, GoLink – компоновщики для программ под DOS и Windows
  • objconv – преобразователь форматов объектных файлов (COFF/OMF/ELF/Mach-O)
  • Crinkler – популярный среди демомейкеров компоновщик-упаковщик

  • Godbolt: Compiler Explorer – популярный онлайн-компилятор разных языков с дизассемблером
  • Online Assembler and Disassembler – поддерживает x86, ARM, Mips, PowerPC, Sparc
  • Online x86 / x64 Assembler and Disassembler
  • Quick C++ Benchmark – бенчмарк и профайлер кода C++ (Clang/GCC)

Работа с ресурсами
  • ResEd – бесплатный редактор ресурсов
  • Resource Builder – редактор + компилятор ресурсов (shareware)
  • GoRC – компилятор ресурсов (rc → res) [в вышеупомянутом NASMX есть и GoLink, и objconv, и GoRC]

Наборы разработчика
Среды разработки (IDE) для ассемблера
  • Fresh IDE – визуальная среда разработки для fasm
  • SASM (SimpleASM) – простая кроссплатформенная среда разработки для NASM, MASM, GAS, fasm с подсветкой синтаксиса и отладчиком (для NASM имеется набор макросов для упрощения работы с консолью)
  • ASM Visual – IDE для MASM, fasm, TASM со встроенным отладчиком и поддержкой WinDbg, OllyDbg, TD, x64dbg (имеется возможность установить весь пакет инструментов при установки IDE)
  • GUI Turbo Assembler – среда разработки со встроенным компилятором TASM, отладчиком и эмулятором DOSBox
  • Easy Code – IDE с поддержкой множества различных ассемблеров (Asmc, fasm, GoAsm, JWasm, MASM, PoAsm, UASM), встроенным отладчиком, редактором ресурсов и диалоговых окон
  • Rad ASM – стал частью FbEdit FreeBASIC code editor, ищите в папках RadASM* по указанной ссылке (Вики)
  • JaeEditor (fasm) – последнее обновление в 2015 году
  • GSS Visual Assembler – TASM, MASM32 и др. Последнее обновление в 2014 году!
  • FASM Editor – последнее обновление в 2011 году

Отладчики, дизассемблеры
  • OllyDbg – популярный 32-битный отладчик (готовится 64-битная версия, но пока ещё не вышла)
  • x64dbg – хороший отладчик для 32- и 64-битного кода
  • IDA Pro – мощный интерактивный дизассемблер (shareware)
  • Ghidra – инструмент для реверс-инжиниринга от NSA (агентства национальной безопасности США), поддерживающий разные типы процессоров (официальный сайт – требует VPN/Proxy; Wiki; статья на Habr "GHIDRA vs. IDA Pro")
  • radare2 (r2) – свободный кроссплатформенный фреймворк для реверс-инжиниринга, написанный на Си, который включает дизассемблер, шестнадцатеричный редактор, анализатор кода и т.д. Используется при реверсе, отладке вредоносного ПО и прошивок (Вики; GUI Cutter).

  • Turbo Debugger – популярный отладчик под DOS
  • AFD Pro – ещё один отладчик под DOS
  • debug – реализация от легендарного Japheth, входящая в состав FreeDOS. Являясь полным клоном MS debug, имеет возможность выполнять отладку protect-mode DPMI-приложений. Больше ссылок, в т.ч. на репозиторий github, см. здесь
  • ldebug – новая реализация MS debug от другого разработчика, и хотя она не входит в состав FreeDOS, но программа доступна в репозитории, а также на сайте разработчика (документация; ещё ссылки)

Эмуляторы, виртуализаторы
  • DOSBox – очень популярный эмулятор компьютера для запуска программ под DOS (имеет встроенный замедлитель скорости)
  • emu8086 – простенький эмулятор процессора 8086 и некоторых функций MS-DOS со встроенным ассемблером и средой, включая отладчик
  • Bochs – эмулятор компьютера IBM PC
  • QEMU – эмулятор аппаратного обеспечения различных платформ (QEMU Manager)
  • Intel Software Development Emulator (SDE) – эмулятор расширений (инструкций) процессоров Intel
  • MS-DOS Player – удобно использовать при сборке проекта с помощью компиляторов DOS и Windows, а также при запуске консольных DOS-программ (графические режимы не поддерживаются)
  • Статья об эмуляторах DOS на этом форуме

  • VMware Workstation Player (бесплатный для персонального использования), VMware Workstation Pro (shareware) – мощные виртуализаторы, позволяющие создавать и запускать виртуальные машины
  • Oracle VirtualBox – альтернативный бесплатный виртуализатор
  • Sandboxie – песочница для запуска программ в изолированной среде (shareware)

  • Симуляторы ARM и других процессоров – хорошие симуляторы, однако имеются заморочки с написанием скриптов.

Редакторы PE и двоичных файлов
  • PE Explorer – редактор секций, ресурсов PE, дизассемблер (shareware)
  • Resourse Hacker – редактор ресурсов исполняемых файлов под Windows
  • Hiew – редактор двоичных файлов со встроенным дизассемблером, просмотром и редактированием заголовков исполняемых файлов (shareware)
  • HexIt – бесплатная альтернатива Hiew, но не такая красивая и довольно старая (2001 года)
  • WinHex – Hex-редактор, позволяющий редактировать не только файлы, но и диски (по секторам) и память, не имеет дизассемблера (shareware)
  • ImHex – бесплатный и активно развивающийся hex-редактор с дизассемблером (разных типов процессоров) и множеством интересных функций (github)

Упаковщики и протекторы
  • UPX (Ultimate Packer for eXecutables) – популярный бесплатный упаковщик EXE-файлов и DLL-библиотек
  • PECompact – ещё один упаковщик (shareware)
  • ASPack, ASProtect – упаковщик и протектор EXE-файлов
  • Themida – мощное средство защиты программ (shareware, статья на Хабре)
  • Enigma Virtual Box – бесплатный виртуализатор файлов, объединяющий исполняемый файл вместе с сопутствующими (dll, ocx, графическими и звуковыми файлами) в один (на этом сайте также имеется shareware-протектор Enigma Protector)

Профилировщики, анализаторы кода
Системные утилиты
  • Windows Sysinternals – набор системных утилит для Windows (работа с процессами, мониторы и прочее)
  • Rufus – утилита для создания загрузочных USB
  • WinSpy – утилита для получения информации об открытых окнах и управления ими

Операционные системы
Прочее
  • Far Manager – менеджер файлов в стиле Norton Commander с подсветкой кода в редакторе
  • AsmTidy – форматтер ассемблерных исходников в Intel-синтаксисе (бьютифайлер) на Perl (ему также посвящена отдельная тема на форуме)

Считаете, что здесь нет чего-то важного? Нашли или битую ссылку ошибку?
Пишите в комментариях или в специальную тему (предпочтительно). Варез не размещаю!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Аватар для ildwine
    Отличная статья! Спасибо.
    Запись от ildwine размещена 14.03.2018 в 02:06 ildwine вне форума
 
Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru