# Supported Platforms for reverse-skill: Windows, Linux, and macOS Coverage

> Discover the supported platforms for reverse-skill: Windows, Kali Linux, Ubuntu/Debian, and macOS. Learn how our flexible architecture ensures cross-platform compatibility.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: getting-started
- Published: 2026-08-04

---

**The reverse-skill framework supports Windows, Kali Linux, Ubuntu/Debian Linux, and macOS through a three-layer architecture that keeps core knowledge platform-agnostic while isolating OS-specific execution details to thin wrapper scripts.**

The reverse-skill project implements a deliberate separation between **knowledge**, **execution**, and **client** layers. This design allows reverse engineering methodologies to remain identical across all supported platforms, with only installation paths and package managers changing between operating systems. According to the [PLATFORMS.md](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/PLATFORMS.md) documentation in the zhaoxuya520/reverse-skill repository, four primary platforms are fully supported with dedicated bootstrap paths.

## Platform Support Matrix

| Platform | Status | Primary Entry Point | Package Manager |
|----------|--------|---------------------|---------------|
| **Windows** | Full primary path | [`README.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/README.md) (PowerShell scripts) | `winget`, GitHub ZIP releases |
| **Kali Linux** | Full specialized path | [`kali/README-kali.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/README-kali.md) | `apt` (Kali-native repositories) |
| **Ubuntu / Debian Linux** | Supported generic path | [`docs/platforms/linux.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/linux.md) | `apt`, `pipx`, `npm` |
| **macOS** | Supported generic path | [`docs/platforms/macos.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/macos.md) | Homebrew, `pipx`, `npm` |

The Windows path represents the original mainline implementation, while Linux and macOS support came later through the generic bootstrap architecture. Kali Linux receives special treatment due to its security-focused tool repositories and penetration testing workflow conventions.

## Architectural Design for Cross-Platform Compatibility

### The Three-Layer Model

The reverse-skill framework organizes its codebase to maximize portability:

- **Core Knowledge Layer** — Contains [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) methodology files, [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md), [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md), and the `CTF-Sandbox-Orchestrator/` directory. These files never contain OS-specific paths or commands, making them importable unchanged on any host.

- **Execution Layer** — Houses platform-specific scripts that handle tool installation and environment setup. Windows uses `skills/scripts/*.ps1` files; Linux and macOS use `skills/scripts/*.sh`; Kali has its own `kali/scripts/*.sh` variants with additional security tools.

- **Client Layer** — AI agents and IDE integrations (Claude Code, Codex CLI, Cursor, etc.) consume rules and invoke scripts through a uniform interface, remaining completely OS-agnostic.

### What Actually Differs Between Platforms

The execution layer isolates only these variables:

- **Package managers** (`winget` vs `apt` vs `brew`)
- **Script language** (PowerShell `.ps1` vs Bash `.sh`)
- **Executable locations** (`C:\Program Files\...` vs `/usr/local/bin` vs Homebrew cellar)
- **Installation commands** for Java, Node.js, Python, jadx, apktool, Frida, radare2, Ghidra, IDA Pro, Burp Suite, and other reverse engineering tools

This minimal surface area means adding a new platform requires only a thin wrapper script and a short mapping guide.

## Bootstrapping Each Supported Platform

### Generic Linux and macOS

Both Ubuntu/Debian and macOS share the same bootstrap entry points in `skills/scripts/`:

```bash

# Install core reverse engineering capabilities

bash skills/scripts/bootstrap-reverse.sh \
    jadx apktool frida \
    jshookmcp anything-analyzer

# Update the local tool index after installations

bash skills/scripts/refresh-tool-index.sh

```

The [`bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-reverse.sh) script detects the operating system and selects appropriate package managers automatically. The [`refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/refresh-tool-index.sh) script scans for installed binaries and generates `skill/tool-index.*` files used by the client layer.

### Kali Linux Specialized Path

Kali Linux maintains dedicated scripts with expanded security tool coverage:

```bash

# List available capabilities in Kali layer

bash kali/scripts/bootstrap-reverse.sh --list

# Install Kali-native tools

bash kali/scripts/bootstrap-reverse.sh nmap nuclei ffuf

# Refresh tool index with Kali-specific paths

bash kali/scripts/refresh-tool-index.sh

```

The Kali-specific scripts in `kali/scripts/` reference tools from Kali's own repositories rather than generic distribution packages.

### Windows PowerShell Path

Windows uses native PowerShell scripts with `winget` integration:

```powershell

# Install capabilities on Windows

.\skills\scripts\bootstrap-reverse.ps1 -Capabilities jadx,apktool,frida

# Refresh the Windows tool index

.\skills\scripts\refresh-tool-index.ps1

```

The Windows bootstrap also supports GitHub ZIP release installations when `winget` packages are unavailable.

## Key Source Files by Platform

| File | Platform | Purpose |
|------|----------|---------|
| [`skills/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/bootstrap-reverse.sh) | Linux/macOS | Generic Bash bootstrap with OS detection |
| [`skills/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/refresh-tool-index.sh) | Linux/macOS | Tool discovery and index generation |
| [`kali/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/bootstrap-reverse.sh) | Kali Linux | Kali-native tool installation |
| [`kali/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/refresh-tool-index.sh) | Kali Linux | Kali-specific index refresh |
| `skills/scripts/bootstrap-reverse.ps1` | Windows | PowerShell bootstrap with `winget` |
| `skills/scripts/refresh-tool-index.ps1` | Windows | Windows tool path discovery |
| [`docs/platforms/linux.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/linux.md) | Ubuntu/Debian | Platform setup documentation |
| [`docs/platforms/macos.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/macos.md) | macOS | Homebrew-specific instructions |
| [`kali/README-kali.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/README-kali.md) | Kali Linux | Specialized onboarding guide |

All platforms ultimately consume the same [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md) and routing definitions, ensuring methodology consistency regardless of underlying OS.

## Tool Coverage Variations

The [PLATFORMS.md](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/PLATFORMS.md) documentation includes a detailed **Tool coverage by platform** table showing which reverse engineering tools have automated installation on each OS. Core tools like **jadx**, **apktool**, and **Frida** are available on all platforms, while platform-specific integrations (such as certain Windows debuggers or Kali-exclusive penetration testing tools) vary by target environment.

## Summary

- **reverse-skill supports four platforms**: Windows, Kali Linux, Ubuntu/Debian Linux, and macOS
- **Architecture separates platform-agnostic knowledge from OS-specific execution scripts**, enabling consistent methodologies across all targets
- **Windows uses PowerShell and `winget`** as the primary path, with [`README.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/README.md) as the entry point
- **Linux and macOS share generic Bash scripts** in `skills/scripts/`, with automatic OS detection
- **Kali Linux has dedicated scripts** in `kali/scripts/` that leverage Kali-native repositories
- **Adding new platforms requires only thin wrapper scripts** due to the minimal execution surface area

## Frequently Asked Questions

### Does reverse-skill support ARM-based Macs?

Yes. The macOS generic path in [`docs/platforms/macos.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/macos.md) and [`skills/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/bootstrap-reverse.sh) uses Homebrew, which automatically handles Apple Silicon (ARM64) and Intel (x86_64) architectures. The bootstrap script detects the architecture and installs appropriate binary builds without manual intervention.

### Can I use reverse-skill on distributions other than Ubuntu/Debian or Kali?

The generic Linux path in [`skills/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/bootstrap-reverse.sh) is designed for Debian-compatible distributions. For Arch, Fedora, or other distributions, you would need to modify the package manager commands in the bootstrap script or manually install the equivalent packages. The core knowledge layer remains fully compatible regardless of distribution.

### What happens if a tool isn't available through the platform's package manager?

The bootstrap scripts support multiple installation methods. On Windows, they fall back to GitHub ZIP releases when `winget` lacks a package. On macOS and Linux, they can use `pipx`, `npm`, manual downloads, or prompt for manual installation with specific setup instructions. The [`refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/refresh-tool-index.sh) and `refresh-tool-index.ps1` scripts then detect tools regardless of how they were installed.