Skip to content

Instantly share code, notes, and snippets.

@scmanjarrez
Created March 20, 2016 18:24
Show Gist options
  • Select an option

  • Save scmanjarrez/cbfa6900349c090fcaec to your computer and use it in GitHub Desktop.

Select an option

Save scmanjarrez/cbfa6900349c090fcaec to your computer and use it in GitHub Desktop.
Decode/decypher MEGA mega://enc? links
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mega Decrypter</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
</head>
<body>
<div class="header">
<h1>Mega Decrypter</h1>
<h2>Deciphers mega://enc? links</h2>
</div>
<input type="text" style="width:1000px" onchange="decryptURL(this.value)" placeholder="Paste link here and press enter">
<div id="result"></div>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/enc-base64-min.js"></script>
<script>
var decryptURL = function(url) {
// mega://enc?sjh3hoftyW8m5MmJDKW1c4TApgdMHLa2t7vtGQnag8VhGElc7r2JMrOdLqX0qpGR-MIqFh0jjxR0-NlAKxAuTQ
var urlpatterns = {
megadownloaderapp: {
regexp: new RegExp("mega://enc\\?([A-Za-z0-9-_,]+)", 'i'),
process: megadownloaderappDecrypt
}
};
for (pattern in urlpatterns) {
var match = urlpatterns[pattern].regexp.exec(url);
if (match != null) {
document.getElementById("result").innerHTML = urlpatterns[pattern].process(match[1]);
break;
}
}
};
var megadownloaderappDecrypt = function(str) {
// Password is "k1o6Al-1kz¿!z05y", but System.Text.Encoding.ASCII.GetBytes in VB.NET replaces 8-bit characters with '?'
var password = "k1o6Al-1kz?!z05y";
// IV = {121, 241, 10, 1, 132, 74, 11, 39, 255, 91, 45, 78, 14, 211, 22, 62}
var iv = CryptoJS.enc.Hex.parse("79F10A01844A0B27FF5B2D4E0ED3163E");
while (password.length < 32) { password += "X"; } // 256 bit password padding
// Recover Base64 from encoded string
var b64str = str;
b64str += "==".substring((2 - b64str.length * 3) & 3);
b64str = b64str.replace(new RegExp("-", 'g'), "+").replace(new RegExp("_", 'g'), "/").replace(new RegExp(",", 'g'), "");
// Decoding step
var encryptedText = CryptoJS.enc.Base64.parse(b64str);
var key = CryptoJS.enc.Utf8.parse(password);
var aes = CryptoJS.algo.AES.createDecryptor(key, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: iv
});
var decrypted = aes.finalize(encryptedText);
// Helper function to convert hex to ASCII
var hex2ascii = function(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
// Return final URL
return 'https://mega.co.nz/#' + hex2ascii(decrypted.toString());
};
</script>
</body>
</html>
@RasgaC
Copy link

RasgaC commented Jan 10, 2025

How do I decode this??

@RasgaC
Copy link

RasgaC commented Jan 10, 2025

// Decoding step

@RasgaC
Copy link

RasgaC commented Jan 10, 2025

gistfile1.html

@scmanjarrez
Copy link
Author

scmanjarrez commented Jan 10, 2025

This was 9 years ago... but you should save a copy locally and open it with your browser. I don't know if this still works tho.
Also, this wasn't my code, I just forked it to have a backup. Take a look at this one, which is more recent and seems to be better: https://gist.github.com/pokeduck/5797afd1bb4ae9a74984bb70340ee87e

@tesfayerodas112-cloud
Copy link

This was 9 years ago... but you should save a copy locally and open it with your browser. I don't know if this still works tho. Also, this wasn't my code, I just forked it to have a backup. Take a look at this one, which is more recent and seems to be better: https://gist.github.com/pokeduck/5797afd1bb4ae9a74984bb70340ee87e

Yo how does this new link work?? I tried by copy and pasting a mega link folder trying to open it but it keeps saying invalid link

@superhulla4890-design
Copy link

Yeah this dont work if seems unless im missing something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment