Moderator
Рейтинг (т): 117
|
Инструменты для низкоуровневого программирования
![user posted image](https://xk8.ru/f/img/Instrum400.png)
Компиляторы и компоновщики
- 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'а от Василия Сотникова (тут главный файл – include64\temphls.inc, который включён в набор Hutch'а и называется macros64\vasily.inc, так что скачивать оба пакета смысла нет; однако информацию с сайта Василия почитать стоит)
- Disassemble Help Library – Библиотека того же автора (Василия Сотникова) для дизассемблирования
- Calculation Engine – Библиотека для работы с длинными числами (снова от Василия Сотникова)
- 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 (имеет встроенный замедлитель скорости)
- [URL=https://Dosify me]Dosify me[/URL]! – DOSBox онлайн
- TweetX86 – ещё один DOSBox онлайн
- emu8086 – простенький эмулятор процессора 8086 и некоторых функций MS-DOS со встроенным ассемблером и средой, включая отладчик
- Bochs – эмулятор компьютера IBM PC
- QEMU – эмулятор аппаратного обеспечения различных платформ (QEMU Manager)
- Intel Software Development Emulator (SDE) – эмулятор расширений (инструкций) процессоров Intel
- MS-DOS Player – удобно использовать при сборке проекта с помощью компиляторов DOS и Windows, а также при запуске консольных 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)
Упаковщики и протекторы
Профилировщики, анализаторы кода
Системные утилиты
- Windows Sysinternals – набор системных утилит для Windows (работа с процессами, мониторы и прочее)
- Rufus – утилита для создания загрузочных USB
- WinSpy – утилита для получения информации об открытых окнах и управления ими
Операционные системы
Прочее
- Far Manager – менеджер файлов в стиле Norton Commander с подсветкой кода в редакторе
- AsmTidy – форматтер ассемблерных исходников в Intel-синтаксисе (бьютифайлер) на Perl
Считаете, что здесь нет чего-то важного? Нашли ошибку? Пишите в специальную тему (варез не размещаю)
|