Skip to content

Pinperepette/Aether

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aether

Aether - Welcome Screen

Download macOS 14.0+ Swift 5.9 MIT License

Aether is a native macOS disassembler built with Swift and SwiftUI. It breaks down binaries into their purest essence β€” just like the ancient Greek element that permeated the cosmos.

"Beyond the binary, into the essence."

Download

Download Aether v1.2.0 β€” macOS 14.0 (Sonoma) or later

If the application appears corrupted or macOS displays a message stating the app is damaged, open Terminal and run the following command:

xattr -cr /path/to/Application.app

Replace /path/to/Application.app with the actual path to the application. This command removes extended attributes, including the quarantine flag, that may prevent the app from launching.

What's New in v1.2.0

AI-Powered Interactive Features

Three new AI features that you can use on-demand when analyzing binaries:

AI Chat

  • Interactive Conversation: Chat with AI about your binary in real-time
  • Context-Aware: AI knows the loaded binary, selected function, and decompiled code
  • Follow-up Questions: Ask clarifying questions and get detailed explanations
  • Quick Suggestions: Pre-built prompts to get started quickly

Explain Function

  • Natural Language Explanation: Understand what any function does in plain English
  • Complexity Rating: See if a function is simple, medium, or high complexity
  • Pattern Recognition: Automatically identifies patterns like crypto, networking, file I/O
  • Detailed Analysis: Multi-paragraph explanation of function behavior and purpose

AI Variable Renaming

  • Smart Suggestions: AI analyzes code and suggests meaningful variable names
  • Selective Application: Choose which renames to accept with checkboxes
  • Preview Changes: See how the code will look before applying
  • Batch Operations: Select All / Deselect All for quick decisions
  • Reasoning Provided: Each suggestion includes why that name was chosen

How to Use New AI Features

  1. Go to Settings (gear icon) β†’ AI tab
  2. Enter your AI API key
  3. Click the AI menu in the toolbar:
    • Chat with AI... β€” Open interactive chat panel
    • Explain Function β€” Get explanation of selected function
    • Rename Variables β€” Get AI suggestions for variable names
  4. AI features only appear when API key is configured

UI Improvements

  • Unified AI Menu: All AI features consolidated under single "AI" button
  • Conditional Visibility: AI options hidden when no API key configured
  • Better Settings Access: Fixed Settings button in toolbar

What's New in v1.1.7

Frida Script Generator

  • Dynamic Instrumentation: Generate ready-to-use Frida scripts for iOS and macOS
  • 6 Hook Types:
    • Trace: Log function calls, arguments, return values, and backtraces
    • Bypass: Modify return values to bypass security checks
    • Intercept: Advanced hooking with argument/return modification and context dump
    • Memory Dump: Hexdump function memory at runtime
    • String Patch: Find and patch strings in memory
    • Anti-Debug: Bypass common anti-debugging (ptrace, sysctl, getppid, task_get_exception_ports)
  • Platform Support: iOS and macOS with platform-specific optimizations
  • AI-Enhanced Scripts: Optional AI-powered script generation with intelligent bypass detection
  • Export Options: Copy to clipboard or save as .js file
  • Quick Run Guide: Frida command shown directly in UI

How to Use Frida Generator

  1. Select a function in the sidebar
  2. Click "Frida" in toolbar (or Analysis β†’ Frida Script)
  3. Choose platform (iOS/macOS) and hook type
  4. Click "Basic" for template or "AI Enhanced" for intelligent analysis
  5. Copy script and run: frida -U -f <app> -l script.js

What's New in v1.1.6

AI Security Analysis

  • AI Integration: Optional AI-powered security analysis
  • Bypass Detection: Identifies license checks, trial limitations, and anti-piracy mechanisms
  • Patch Points: Suggests specific addresses and techniques for bypassing protections
  • Security Mechanisms: Detects code signing, integrity checks, network validation
  • Hardcoded Secrets: Finds obfuscated strings, API keys, and encryption keys
  • Detailed Reports: Findings with severity levels (Critical/High/Medium/Low/Info)
  • Secure Storage: API key stored in macOS Keychain (never in app bundle)

How to Use AI Analysis

  1. Go to Settings (⌘,) β†’ AI tab
  2. Enter your API key
  3. Click "AI Analysis" in toolbar β†’ Analyze Function or Analyze Binary
  4. Review findings, bypass techniques, and patch points

Aether - Disassembly View

Aether - Disassembly View

What's New in v1.1.5

Performance & Stability

  • Async File Loading: Binary loading now runs on background thread for responsive UI
  • No More Beach Ball: Large binaries load without freezing the interface
  • Removed Debug Logging: Faster parsing and reduced memory usage

Java Decompiler

  • Full Java Bytecode Support: Decompile JAR files and Java class files
  • Stack Simulation: Accurate bytecode interpretation
  • Method Signatures: Proper parsing of Java type descriptors

UI Improvements

  • Cleaner Toolbar: Removed redundant function name display
  • Better Function Names: Improved formatting for Java method signatures in sidebar

What's New in v1.1.4

Enhanced Decompiler

  • Control Flow Recovery: Integrated ControlFlowStructurer for proper structure recovery (if/else, while, for loops)
  • String Literal Detection: New string cache system for better string recognition in decompiled code
  • Improved Type Inference: Better inference for parameters, local variables and return types
  • Prologue/Epilogue Detection: Automatically skip boilerplate function setup code
  • Smart Condition Building: Combines compare+jump patterns into readable conditions
  • Better Variable Names: Improved register to variable name mapping for both x86_64 and ARM64
  • Enhanced Operations: Full support for increment, decrement, logic and arithmetic operations

What's New in v1.1.3

Conditional Jumps Patcher

  • New Conditional Jumps View: View and patch conditional jumps (JZ, JNZ, JE, JNE, etc.)
  • Flip Jump Conditions: Easily invert conditional jumps with one click
  • Support for all x86 conditionals: Both short (7x) and long (0F 8x) jump opcodes
  • Search and Filter: Find specific jumps by address or mnemonic

What's New in v1.1.2

Bug Fixes

  • Fixed crash with -128 displacement: Int8 overflow bug that caused SIGILL crash when disassembling instructions like lea rdi, [rbp-0x80]
  • Added bounds checking: Safe array access for register names and condition codes
  • Improved stability: Better handling of large binaries and edge cases

What's New in v1.1.1

Branch Visualization

  • Branch Arrows: Color-coded arrows showing jump directions
    • 🟒 Green: Conditional forward jumps (skip code)
    • πŸ”΄ Red: Conditional backward jumps (loops)
    • πŸ”΅ Blue: Unconditional forward jumps
    • 🟠 Orange: Unconditional backward jumps
    • 🟣 Purple: Function calls
  • Jump Table View: Panel listing all jumps with filtering and sorting (β‡§βŒ˜J)
  • Inline Target Preview: Hover over jumps to see target code
  • Branch Probability: Estimated probability (Likely/Unlikely/50-50)
  • Branch Statistics: Summary of branches in disassembly header

What's New in v1.1.0

Advanced Analysis Features

  • Pseudo-Code Generation: Convert assembly to structured C-like code with if/else, while, for loops
  • Call Graph Visualization: Interactive graph showing function call relationships with multiple layouts (hierarchical, radial, force-directed)
  • Crypto Detection: Automatically detect cryptographic algorithms (AES, SHA, RSA, etc.) by signature matching
  • Deobfuscation Analysis: Detect obfuscation techniques (control flow flattening, opaque predicates, junk code)
  • Type Recovery: Infer data types (structs, arrays, enums) from memory access patterns
  • Idiom Recognition: Recognize common code patterns (strlen, memcpy, multiplication via shifts)

Export Formats

  • IDA Python Script: Export analysis to IDA Pro format
  • Ghidra XML: Export to Ghidra project format
  • Radare2 Script: Export to r2 commands
  • Binary Ninja Script: Export to Binary Ninja format
  • JSON/CSV/HTML/Markdown: Multiple report formats
  • C Header: Generate header files with function signatures

Other Improvements

  • Data Flow Analysis: Def-use chains, reaching definitions, constant propagation
  • AI Annotator: Suggest function names and comments based on behavior analysis
  • Lightweight Emulator: Trace execution for x86-64

Features

Core Features

  • Multi-Architecture Support: ARM64 and x86_64
  • Multiple Binary Formats: Mach-O, ELF, PE/COFF, JAR/Java Class
  • Modern UI: Native SwiftUI interface with dark mode
  • Disassembly View: Syntax-highlighted assembly with address navigation
  • Hex View: Synchronized hex dump viewer
  • Control Flow Graph (CFG): Visual representation of code flow
  • Decompiler: Pseudo-C code generation
  • Function Analysis: Automatic function detection and naming
  • String Analysis: Extract and navigate to strings
  • Cross-References: Track code and data references
  • Symbol Support: Full symbol table parsing
  • Project System: Save and restore analysis sessions

Analysis Menu

Feature Shortcut Description
Analyze All β‡§βŒ˜A Run full binary analysis
Find Functions β‡§βŒ˜F Detect and list all functions
Show CFG ⌘G Display control flow graph
Decompile β‡§βŒ˜D Generate decompiled code
Generate Pseudo-Code β‡§βŒ˜P Generate structured pseudo-code
Call Graph ⌘K Show interactive call graph
Frida Script - Generate Frida hooking scripts
Crypto Detection - Detect cryptographic algorithms
Deobfuscation Analysis - Analyze obfuscation techniques
Type Recovery - Recover data types
Idiom Recognition - Recognize code patterns
Show Jump Table β‡§βŒ˜J View all branches and jumps

AI Menu (requires API key)

Feature Description
Chat with AI Interactive chat about the binary
Explain Function Natural language explanation of selected function
Rename Variables AI-suggested meaningful variable names
Security Analysis Identify vulnerabilities and bypass techniques
Analyze Binary Full binary security assessment

Export Menu

Format Description
IDA Python Script for IDA Pro
Ghidra XML Project file for Ghidra
Radare2 r2 command script
Binary Ninja Python script for BN
JSON Structured data export
CSV Spreadsheet-compatible
HTML Web report with styling
Markdown Documentation format
C Header Function declarations

Screenshots

Aether - Disassembly View

Aether - Analysis View

Aether - Analysis View

Installation

Download DMG (Recommended)

  1. Download Aether.dmg
  2. Open the DMG and drag Aether to Applications
  3. Launch Aether from Applications

Build from Source

git clone https://github.com/Pinperepette/Aether.git
cd Aether
swift build -c release

The built application will be available at .build/release/Aether.

Usage

  1. Open a binary: Drag and drop a file onto the window, or use File β†’ Open Binary (⌘O)
  2. Navigate: Click on functions in the sidebar to jump to their code
  3. Analyze: Use Analysis β†’ Analyze All (β‡§βŒ˜A) for full analysis
  4. View CFG: Select a function and press ⌘G to see the control flow graph
  5. Decompile: Press β‡§βŒ˜D to generate pseudo-C code
  6. Pseudo-Code: Press β‡§βŒ˜P to generate structured pseudo-code
  7. Call Graph: Press ⌘K to view function call relationships
  8. Export: Use the Export menu to save analysis in various formats

Keyboard Shortcuts

Action Shortcut
Open Binary ⌘O
Close ⌘W
Go to Address β‡§βŒ˜G
Search ⌘F
Analyze All β‡§βŒ˜A
Find Functions β‡§βŒ˜F
Show CFG ⌘G
Decompile β‡§βŒ˜D
Pseudo-Code β‡§βŒ˜P
Call Graph ⌘K
Jump Table β‡§βŒ˜J

Supported Formats

Format Extensions Architectures
Mach-O (various) ARM64, x86_64
ELF .so, .elf, (none) ARM64, x86_64
PE/COFF .exe, .dll x86, x86_64
Java .jar, .class JVM Bytecode

Architecture

Aether/
β”œβ”€β”€ App/           # Application entry point and state management
β”œβ”€β”€ Core/
β”‚   β”œβ”€β”€ Binary/    # Binary format loaders (Mach-O, ELF, PE, JAR)
β”‚   β”œβ”€β”€ Disassembler/  # Disassembly engine
β”‚   β”œβ”€β”€ Analysis/  # Function, string, xref, crypto, type analysis
β”‚   β”œβ”€β”€ Decompiler/    # Pseudo-code generation
β”‚   └── Emulation/     # Lightweight CPU emulator
β”œβ”€β”€ UI/            # SwiftUI views and components
β”‚   β”œβ”€β”€ GraphView/     # CFG and Call Graph visualization
β”‚   └── AnalysisViews/ # Analysis result views
β”œβ”€β”€ Models/        # Data models
└── Services/      # Export manager, Frida generator, AI client

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Aether β€” Peel back the layers. See the code beneath.

About

A native macOS disassembler with modern UI. ARM64, x86_64, Mach-O, ELF, PE, JAR.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages