An open API service indexing awesome lists of open source software.

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.

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
![Demo](https://media.giphy.com/media/your-demo-link.gif)

![Assembly](https://img.shields.io/badge/ASM-x86--64-red)
![License](https://img.shields.io/badge/License-MIT-blue)