A crypto library to decrypt various encrypted D-Link firmware images.
Confirmed to work on the following D-Link devices:
Encryption keys/methods are often re-used amongst devices and firmware, so other devices may also be supported.
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);
}
}
}
}
}
Pystinger is a Python-based tool that enables SOCKS4 proxying and port mapping through webshells. It…
Introduction When it comes to cybersecurity, speed and privacy are critical. Public vulnerability databases like…
Introduction When it comes to cybersecurity, speed and privacy are critical. Public vulnerability databases like…
If you are working with Linux or writing bash scripts, one of the most common…
What is a bash case statement? A bash case statement is a way to control…
Why Do We Check Files in Bash? When writing a Bash script, you often work…