https://github.com/qrxnz/mremotedec
A simple tool to decrypt mRemoteNG connection files (.xml)
https://github.com/qrxnz/mremotedec
cross-platform crossplatform decrypt decryption decryptor go golang hacking hacking-tool hacking-tools mremoteng
Last synced: 13 days ago
JSON representation
A simple tool to decrypt mRemoteNG connection files (.xml)
- Host: GitHub
- URL: https://github.com/qrxnz/mremotedec
- Owner: qrxnz
- License: mit
- Created: 2026-04-25T15:02:07.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-04T10:56:23.000Z (22 days ago)
- Last Synced: 2026-06-04T12:18:59.491Z (21 days ago)
- Topics: cross-platform, crossplatform, decrypt, decryption, decryptor, go, golang, hacking, hacking-tool, hacking-tools, mremoteng
- Language: Go
- Homepage:
- Size: 42 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mremotedec
> A simple tool to decrypt mRemoteNG connection files (`.xml`).
mremotedec started as a side idea while solving a [VulnLab](https://vulnlab.com) machine. After fighting with clunky tooling for long enough, I decided to write my own β minimal, clean, and built the way I wanted it to work.
Big shoutout to [x4nt0n](https://x.com/x4nt0n?s=21) for solving the "Lock" together with me π

## π§° Features
- Supports **CBC** and **GCM** decryption modes.
- Handles **Full File Encryption**.
- Output in human-readable format or **CSV**.
- Written in Go for easy portability.
## π οΈ Installation
### π¦ Binary Releases
Pre-compiled binaries for Linux, Windows, and macOS are available on the [Releases](https://github.com/qrxnz/mremotedec/releases) page.
### πΉUsing Go
You can install `mremotedec` directly using `go install`:
```bash
go install github.com/qrxnz/mremotedec@latest
```
### ποΈ Build from Source
To build from source, you need to have [Go](https://go.dev/) installed.
```bash
git clone https://github.com/qrxnz/mremotedec.git
cd mremotedec
go build -o mremotedec .
```
Alternatively, if you have [Task](https://taskfile.dev/) installed, you can use:
```bash
task build
```
### βοΈ Using Nix
- **Run without installing**
```bash
nix run github:qrxnz/mremotedec
```
- **Add to a Nix Flake**
Add input in your flake like:
```nix
{
inputs = {
mremotedec = {
url = "github:qrxnz/mremotedec";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}
```
With the input added you can reference it directly:
```nix
{ inputs, system, ... }:
{
# NixOS
environment.systemPackages = [ inputs.mremotedec.packages.${pkgs.system}.default ];
# home-manager
home.packages = [ inputs.mremotedec.packages.${pkgs.system}.default ];
}
```
- **Install imperatively**
```bash
nix profile install github:qrxnz/mremotedec
```
## π Usage
### βΉ ΰ£ͺ Λ Basic Usage
Decrypt a standard `confCons.xml` file using the default mRemoteNG password (`mR3m`):
```bash
mremotedec confCons.xml
```
### π Custom Password
If you set a custom password in mRemoteNG, use the `-p` or `-password` flag:
```bash
mremotedec -p "your_custom_password" confCons.xml
```
### π§Ύ CSV Output
Export the decrypted connections to a CSV file:
```bash
mremotedec -csv confCons.xml > connections.csv
```
## β How it works
mRemoteNG 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.
## ποΈ Credits
### π¨ Inspiration
I was inspired by:
- [gquere/mRemoteNG_password_decrypt](https://github.com/gquere/mRemoteNG_password_decrypt)
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.