На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Закрыто Jin X 24-09-2018:
  
> .:[ ПОЛЕЗНЫЕ ССЫЛКИ, КНИГИ, ИНСТРУМЕНТЫ ]:., последнее обновление: 29.03.2022

    Подборка литературы по низкоуровневому программированию
    (книги, статьи, техническая документация)


    user posted image


    Обучение программированию на ассемблере


    Архитектура и инструкции процессоров Intel, AMD, ARM


    Справочники по API-функциям, прерываниям, системным вызовам

    • Microsoft Developer Network (MSDN) [преимущественно english] (библиотека официальной технической документации для разработчиков под Windows: большой справочник по функциям WinAPI, интерфейсам, структурам данных, примеры кода и пр).

    • Ralf Brown's Interrupt List (RBIL) [архив] (большой справочник по прерываниям DOS, портам ввода-вывода и т.п. // html-версия // ещё одна html-версия) [english]
    • DOS – справочник по прерываниям (и не только), краткий, зато на русском
    • Набор справочников под DOS:
      • СкачатьПрикреплённый файлTechHelp60.rar (738,27 Кбайт, скачиваний: 541) – справочник по прерываниям, системным структурам данных (базовый набор материалов, уступающий RBIL) [english]
      • СкачатьПрикреплённый файлIntrList102.rar (793,27 Кбайт, скачиваний: 537) – альтернативный справочник по прерываниям [english]
      • СкачатьПрикреплённый файлASML.rar (58,85 Кбайт, скачиваний: 716) – справочник по ассемблеру 8086 с описанием инструкций [на русском]

    • Linux System Call Table (справочник по системным вызовам Linux'а для x86, x86_64, ARM и ARM64) [english]
    • Architecture calling conventions (справочник по системным вызовам Linux'а для разных платформ, включая x86 и ARM, 32/64 бита) [english]
    • Linux Syscall Reference (ещё один справочник по системным вызовам 32-битного Linux'а) [english]
    • Документация по системным вызовам Linux [на русском]

    Системное программирование, устройство операционных систем, BIOS


    Программирование железа, драйверы


    Оптимизация кода


    Отладка, дизассемблирование, безопасность, RE


    Программирование микроконтроллеров


    Разное



    Друзья, давайте пополнять этот список вместе! :good:
    Присылайте ссылки на полезную литературу или названия книг с указанием авторов в специальную тему.
    Только давайте собирать не всё подряд, а самое лучшее :)

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

      user posted image


      Компиляторы и компоновщики

      • 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)

      Упаковщики и протекторы

      • 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


      Считаете, что здесь нет чего-то важного? Нашли ошибку? Пишите в специальную тему (варез не размещаю) ;)
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:
        Закрыто Jin X 24-09-2018:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0461 ]   [ 17 queries used ]   [ Generated: 24.06.22, 22:00 GMT ]