A simple tool to decrypt mRemoteNG connection files (.xml).
- Supports CBC and GCM decryption modes.
- Handles Full File Encryption.
- Output in human-readable format or CSV.
- Written in Go for easy portability.
Pre-compiled binaries for Linux, Windows, and macOS are available on the Releases page.
You can install mremotedec directly using go install:
go install github.com/qrxnz/mremotedec@latestTo build from source, you need to have Go installed.
git clone https://github.com/qrxnz/mremotedec.git
cd mremotedec
go build -o mremotedec .Alternatively, if you have Task installed, you can use:
task build- Run without installing
nix run github:qrxnz/mremotedec- Add to a Nix Flake
Add input in your flake like:
{
inputs = {
mremotedec = {
url = "github:qrxnz/mremotedec";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}With the input added you can reference it directly:
{ inputs, system, ... }:
{
# NixOS
environment.systemPackages = [ inputs.mremotedec.packages.${pkgs.system}.default ];
# home-manager
home.packages = [ inputs.mremotedec.packages.${pkgs.system}.default ];
}- Install imperatively
nix profile install github:qrxnz/mremotedecDecrypt a standard confCons.xml file using the default mRemoteNG password (mR3m):
mremotedec confCons.xmlIf you set a custom password in mRemoteNG, use the -p or -password flag:
mremotedec -p "your_custom_password" confCons.xmlExport the decrypted connections to a CSV file:
mremotedec -csv confCons.xml > connections.csvmRemoteNG uses different encryption methods based on its configuration:
- Legacy (CBC): Uses AES-CBC with an MD5-hashed password.
- Modern (GCM): Uses AES-GCM with PBKDF2 (SHA1) key derivation.
mremotedec automatically detects the encryption mode from the XML attributes (BlockCipherMode) and attempts to decrypt accordingly.
I was inspired by:
This project is licensed under the MIT License - see the LICENSE file for details.