Hacking Tools

DeLink : Decrypting D-Link Firmware Across Devices With A Rust-Based Library

A crypto library to decrypt various encrypted D-Link firmware images.

Confirmed to work on the following D-Link devices:

  • E15
  • E30
  • R12
  • R15
  • R18
  • M18
  • M30
  • M32
  • M60
  • DAP-1665
  • DAP-1820
  • DAP-1955
  • DAP-2610
  • DAP-2680
  • DAP-2682
  • DIR-850L A1
  • DIR-850L B1
  • DAP-1610 B1
  • DAP-1620 B1
  • DAP-LX1880
  • DRA-1360 A1
  • DRA-2060 A1
  • DIR-1750
  • DIR-2055
  • DIR-LX1870
  • DIR-X1560
  • DIR-X1870
  • DIR-X4860
  • DIR-X5460
  • DIR-822
  • DIR-842
  • DIR-878
  • DIR-2150
  • DIR-3040
  • DIR-3060

Encryption keys/methods are often re-used amongst devices and firmware, so other devices may also be supported.

Compiling

You must have the Rust compiler installed:

cargo build --release

Command Line Usage:

./target/release/delink encrypted.bin decrypted.bin

Rust Library Usage:

// Read in the contents of an encrypted firmware image
match std::fs::read("DIR850LB1_FW220WWb03.bin") {
    Err(e) => {
        eprint!("Failed to read input file: {}", e);
    }
    Ok(encrypted_data) => {
        // Attempt to decrypt the encrypted data
        match delink::decrypt(&encrypted_data) {
            Err(e) => {
                eprint!("Decryption failed: {}", e);
            }
            Ok(decrypted_data) => {
                // Decryption successful, save decrypted data to disk
                if let Err(e) = std::fs::write("decrypted.bin", decrypted_data) {
                    eprint!("Failed to write decrypted data: {}", e);
                }
            }
        }
    }
}
Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Install Git on Ubuntu 20.04: Apt, Source, and Configuration

Git is the most widely used version control system in the world. It was created by…

3 minutes ago

Install Go on Ubuntu 20.04: Download, Setup, and First Program

Go (also called Golang) is an open-source programming language built by Google. It is designed to…

10 minutes ago

Install VS Code on Ubuntu 20.04: Snap Package and Apt Guide

Visual Studio CodeĀ (VS Code) is an open-source code editor developed by Microsoft. It is one…

30 minutes ago

Install Nginx on Ubuntu 20.04: Setup, Firewall, and Config Guide

Nginx (pronounced "engine x") is an open-source, high-performance web server and reverse proxy. It is used…

42 minutes ago

Install Apache on Ubuntu 20.04: Setup and Virtual Host Guide

Apache is one of the most widely used open-source web servers in the world. It is…

24 hours ago

Add Swap Space on Ubuntu 20.04: Create, Enable, and Tune

Swap space is an area on disk that Linux uses when it runs out of physical…

24 hours ago