https://github.com/souleeater99/libasm
Libasm is an assembly programming project where you create a library of basic C functions written in x86-64 assembly (NASM syntax). The goal is to understand low-level programming, CPU registers, memory management, and system calls by reimplementing standard functions without relying on high-level languages.
https://github.com/souleeater99/libasm
assembly cybsersecurity-engineering pwn reverse-engineering
Last synced: 9 months ago
JSON representation
Libasm is an assembly programming project where you create a library of basic C functions written in x86-64 assembly (NASM syntax). The goal is to understand low-level programming, CPU registers, memory management, and system calls by reimplementing standard functions without relying on high-level languages.
- Host: GitHub
- URL: https://github.com/souleeater99/libasm
- Owner: SouleEater99
- Created: 2025-03-24T07:16:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-25T15:15:11.000Z (about 1 year ago)
- Last Synced: 2025-03-25T16:23:14.866Z (about 1 year ago)
- Topics: assembly, cybsersecurity-engineering, pwn, reverse-engineering
- Language: Assembly
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Libasm πβ¨
**A Journey into Low-Level Programming with x86-64 Assembly**
---
## π Overview
**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"!
---
## π Key Features
β
**Core Functions**:
- `ft_strlen` | `ft_strcpy` | `ft_strcmp`
- `ft_write` | `ft_read` | `ft_strdup`
π **Bonus (Linked List)**:
- `ft_atoi_base` | `ft_list_push_front` | `ft_list_size` | *(+more)*
---
## π οΈ Technical Highlights
| 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 |
---
## π Security Insight π‘οΈ
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 `strcpy` are dangerous.
---
## π Project Structure
```bash
libasm/
βββ ft_strlen.s # Assembly source
βββ ft_strcpy.s
βββ Makefile # Builds libasm.a
βββ test/ # Test cases vs. real C functions
```
## π Why This Project?
Master 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. π±π»
---
### π¨ Tips for GitHub Polish
1. **Add a Demo GIF**: Show your tests in action!
```markdown


