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);
}
}
}
}
}
Cybersecurity tools play a critical role in safeguarding digital assets, systems, and networks from malicious…
MODeflattener is a specialized tool designed to reverse OLLVM's control flow flattening obfuscation through static…
"My Awesome List" is a curated collection of tools, libraries, and resources spanning various domains…
CVE-2018-17463, a type confusion vulnerability in Chrome’s V8 JavaScript engine, allowed attackers to execute arbitrary…
The blog post "Chrome Browser Exploitation, Part 1: Introduction to V8 and JavaScript Internals" provides…
The exploitation of CVE-2018-17463, a type confusion vulnerability in Chrome’s V8 JavaScript engine, relies on…