- (97) Ben Eater - YouTube
- [[https://www.youtube.com/c/CryptFunIT/playlists?view=1&sort=dd&shelf_id=0][(97) CryptoFun [ IT ] - YouTube]]
- akyoto/asm: An x86-64 assembler written in Go.
- andrescv/jupiter: RISC-V Assembler and Runtime Simulator
- andrewchambers/minias: A mini x86-64 assembler for fun and learning.
- Assembly Nights - ratfactor
- Blackend/Cyjon: A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
- cch123/asm-cli: Interactive shell of assembly language(X86/X64) based on unicorn and keystone
- cch123/asm-cli-rust: interative assembly shell written in rust
- Developer Guides, Manuals & ISA Documents - AMD
- Dman95/SASM: SASM - simple crossplatform IDE for NASM, MASM, GAS and FASM assembly languages
- echo-devim/fhex: A Full-Featured HexEditor compatible with Linux/Windows/MacOS
- franeklubi/dino: Chrome’s t-rex based bootsector game (512 bytes) written in 16-bit x86 assembly (now with 8086 support!)
- google/bindiff: Quickly find differences and similarities in disassembled code
- hlorenzi/customasm: 💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/
- horsicq/XOpcodeCalc: Opcode calculator
- icebreaker/floppybird: Floppy Bird (OS)
- icedland/iced: Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for .NET, Rust, Python, JavaScript
- io12/BootMine: Bootable minesweeper game in a 512-byte boot sector
- IUCompilerCourse/Essentials-of-Compilation: A book about compiling Racket and Python to x86-64 assembly
- JohnEarnest/Octo: A Chip8 IDE
- loov/lensm: Go assembly and source viewer
- mat-sz/bfloader: Brainfuck IDE and interpreter in 512 bytes. (boot sector)
- nanochess/Invaders: Invaders game in 512 bytes (boot sector)
- nanochess (Oscar Toledo)
- NikitaIvanovV/snake-asm: Tiny snake game written in x86_64 assembly for Linux
- nikolay-govorov/asm-server: Stupid “hello world” http server on NASM. Linux, x64, NASM, zero dependencies.
- nir9/fastws: Minimalist Web Server for Linux written in x64 Assembly
- robiot/cbot: Shutdown or reboot your linux system with x86_64 assembly
- Schweigi/assembler-simulator: Simple 8-bit Assembler Simulator with Angular.js
- Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X
- tenderlove/asmrepl: A REPL for x86-64 assembly language
- TheThirdOne/rars: RARS – RISC-V Assembler and Runtime Simulator
- ThomasJaeger/VisualMASM: Visual MASM - Assembly IDE for Microsoft MASM
- tsoding/todo.asm: Todo Web Application in flat assembler
- x64dbg/x64dbg: An open-source x64/x32 debugger for windows.
- yasp/yasp: yasp is a fully functional web-based assembler development environment, including a real assembler, emulator and debugger.
- zyantific/zydis: Fast and lightweight x86/x86-64 disassembler and code generation library
https://habr.com/ru/post/569204/#comment_23288698 Обычно ассемблер является отображением машинных кодов практически 1 в 1. Мы, например, на 1 курсе университета писали программы в машинных кодах в debug.exe, чтобы потом вздохнуть с облегчением, когда начался ассемблер. Да транслятор вычисляет размеры операндов и адреса меток за вас, но в остальном не сказал бы, что есть какая-то существенная разница. Зная ассемблер, например, вы можете в отладчике остановиться на вызове функции отображения месседжбокса (“This program is not licensed”), промотать код немножко вверх и заменить jne на je (например, обычно конечно всё сложнее) - и вот уже программа принимает любой ключ, кроме собственно верного. Затем, зная, где находится это место в коде - открываете какой-нибудь HIEW и патчите опкод перехода руками. Просматривая голые hex-коды сделать то же самое будет гораздо сложнее.
llvm-mc
oleg@guixsd ~$ echo "0x33 0xc0 0x31 0xc0" | /gnu/store/…-llvm-10.0.0/bin/llvm-mc -mcpu=i686 -disassemble -show-inst .text xorl %eax, %eax # <MCInst #15207 XOR32rr_REV # <MCOperand Reg:22> # <MCOperand Reg:22> # <MCOperand Reg:22>> xorl %eax, %eax # <MCInst #15206 XOR32rr # <MCOperand Reg:22> # <MCOperand Reg:22> # <MCOperand Reg:22>>