A Journey into Low-Level Programming with x86-64 Assembly
Libasm is a project where you reimplement basic C standard library functions in x86-64 assembly, gaining deep insight into how computers execute code at the lowest level. Perfect for aspiring reverse engineers, exploit developers, or anyone curious about what happens "under the hood"!
β Core Functions:
ft_strlen|ft_strcpy|ft_strcmpft_write|ft_read|ft_strdup
π Bonus (Linked List):
ft_atoi_base|ft_list_push_front|ft_list_size| (+more)
| Aspect | Details |
|---|---|
| Assembly Syntax | NASM (Intel-style) |
| Calling Convention | System V AMD64 ABI |
| Error Handling | Properly set errno for syscalls |
| Optimization | Zero-cost loops, register efficiency |
Understanding assembly is crucial for:
- Reverse Engineering: Analyze malware or proprietary software.
- Exploit Development: Find buffer overflows, write shellcode.
- Secure Coding: Learn why functions like
strcpyare dangerous.
libasm/
βββ ft_strlen.s # Assembly source
βββ ft_strcpy.s
βββ Makefile # Builds libasm.a
βββ test/ # Test cases vs. real C functionsMaster registers, syscalls, and memory management.
Write code thatβs 10x faster than C (with clever optimizations).
Lay the groundwork for security research (malware analysis, binary exploitation).
Made with β€οΈ and nasm. For hackers, by a future hacker. π±π»
- Add a Demo GIF: Show your tests in action!
