From 4ba45cb957606085619b4fc65604182cad7ab6d7 Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Fri, 20 Aug 2021 02:23:34 +1200 Subject: [PATCH] Add files via upload --- Web Service/bg.gif | Bin 1640 -> 154 bytes Web Service/dice-click.gif | Bin 0 -> 14391 bytes Web Service/dice-hover.gif | Bin 0 -> 12460 bytes Web Service/dice.gif | Bin 0 -> 16946 bytes Web Service/ecdp.css | 40 ++++-- Web Service/ecdp.js | 257 +++++++++++++++++++++++++++++++++++++ Web Service/index.html | 237 +++------------------------------- 7 files changed, 305 insertions(+), 229 deletions(-) create mode 100644 Web Service/dice-click.gif create mode 100644 Web Service/dice-hover.gif create mode 100644 Web Service/dice.gif create mode 100644 Web Service/ecdp.js diff --git a/Web Service/bg.gif b/Web Service/bg.gif index 2ccd8a3f4cde5469823eaee5e6f59b78b4c27433..900355c44c7d4649f6ceb9063a3335da82b4aedb 100644 GIT binary patch literal 154 zcmZ?wbhEHbRA5kGC}3bv{K>+|z`)3$!vF*zvBv*LK}-l>%I@i3(EYalM$iT;shM{z zUjHpQ$=>JSG0pMS+zVGa40roU{2C>$Pz4oM0RCjw2>& z{k*QtTmCj3x-GeN*3&r`SFH#u^*y}zX=O~F`TEcA_K3YNXP3Akz9OZABanf?8UPBZ BKIQ-b literal 1640 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 literal 0 HcmV?d00001 diff --git a/Web Service/dice-hover.gif b/Web Service/dice-hover.gif new file mode 100644 index 0000000000000000000000000000000000000000..109f1ca7ffeb2171d0616118d1f7b8bdc232f852 GIT binary patch literal 12460 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 Mo~Klyr7A%2f6s!j{{R30 literal 0 HcmV?d00001 diff --git a/Web Service/dice.gif b/Web Service/dice.gif new file mode 100644 index 0000000000000000000000000000000000000000..c2e0139de8d2f8b40b1618d69585c7d3d96e0121 GIT binary patch literal 16946 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 n; + return 4294967296+n; +} + +function rol(n, rotation){ + // Original rol function has an optional parameter "width" that defaults + // to 32. I'm gonna hard code it because the only instance of this + // function call doesn't include this parameter, ... and the fact that + // new JS standards kinda make me feel confused about what you can and + // can't do in JS. + var width=32; + rotation%=width; + if(rotation==0){ + return n; + } + n&=(2**width-1); + // Apparently bitwise operators treat numbers as a **signed** 32-bits + // Did conversion to match the Python + return toUnsigned((n<> (width-rotation))); +} + +function gen_index(sum_offset, length){ + if(length==0){ + return 0; + } + if(length <= sum_offset){ + var count=0x1c; + var seed=sum_offset>>4; + if(length <= seed>>0xc){ + count-=0x10; + seed=seed>>0x10; + } + if(length <= seed>>4){ + count-=8; + seed=seed>>8; + } + if(length<=seed){ + count-=4; + seed=seed>>4; + } + + // Did someone say bitwise sucks in Python? + // It sucks here too + // Some bitwise replaced with equivalent regular maths because + // maths can handle numbers larger than 32 bits while + // bitwise can't + sum_offset=rol(sum_offset, count); + sum_offset*=2; + //carry=(sum_offset&(2**32))!=0; + carry=Math.floor(sum_offset/(2**32))%2 + for(var i=count; i<32; i++){ + seed= seed*2 + (2**32-length); + if(carry){ + seed+=1; + } + carry=Math.floor(seed/(2**32))%2 + seed%=(2**32) + if(!carry){ + seed+=length; + seed%=(2**32) + } + sum_offset*=2; + carry=Math.floor(sum_offset/(2**32))%2; + sum_offset%=(2**32) + } + // why is there a `pass` in the original? There is no block to pass + return seed; + }else{ + return sum_offset; + } +} + +function gen_index_2(sum_offset, length){ + return sum_offset%length; +} + +function calc_shorten_index(input_merge){ + var hex_char="0123456789ABCDEF"; + var sum_offset=0; + for(var c of input_merge){ + sum_offset+=hex_char.indexOf(c); + } + return gen_index(sum_offset, 7); + // and here's another `pass` +} + +function shuffle(input_merge, shuffle_index){ + var shuffle_map = [ + [0x01,0x0A,0x16,0x04,0x07,0x18,0x0C,0x10,0x05,0x17,0x09,0x03,0x12,0x08,0x15,0x13,0x0B,0x02,0x0F,0x0D,0x11,0x0E,0x06,0x14], + [0x07,0x0C,0x0E,0x11,0x09,0x16,0x10,0x06,0x14,0x0D,0x01,0x02,0x12,0x08,0x13,0x0B,0x0F,0x0A,0x18,0x15,0x04,0x05,0x03,0x17], + [0x0F,0x04,0x09,0x03,0x06,0x07,0x11,0x12,0x15,0x16,0x02,0x08,0x05,0x17,0x0C,0x0D,0x01,0x18,0x0B,0x14,0x0E,0x10,0x13,0x0A], + [0x02,0x0A,0x0E,0x12,0x0B,0x03,0x0C,0x06,0x13,0x07,0x11,0x09,0x15,0x18,0x10,0x17,0x14,0x0F,0x04,0x01,0x05,0x08,0x16,0x0D], + [0x0B,0x02,0x09,0x16,0x14,0x01,0x12,0x11,0x15,0x06,0x0F,0x17,0x07,0x10,0x0C,0x0E,0x08,0x18,0x13,0x03,0x0A,0x0D,0x04,0x05], + [0x09,0x0F,0x05,0x0D,0x16,0x15,0x12,0x11,0x03,0x0A,0x04,0x10,0x0E,0x14,0x02,0x01,0x13,0x0C,0x06,0x0B,0x17,0x18,0x07,0x08], + [0x12,0x02,0x0C,0x09,0x0D,0x0E,0x04,0x07,0x16,0x14,0x17,0x01,0x11,0x03,0x10,0x15,0x08,0x0A,0x05,0x13,0x0B,0x18,0x0F,0x06] + ]; + var shuffle_method=shuffle_map[shuffle_index]; + var shuffled_str=""; + for(var i=0; i<0x18; i++){ + shuffled_str+=input_merge[shuffle_method[i]-1]; + } + return shuffled_str; +} + +function hex2ints(hex_str){ + var result=[]; + for(var i=0; i<6; i++){ + result.push(parseInt("0x"+hex_str.slice(4*i, 4*i+4))); + // JS parseInt recognizes 0x hex numbers, but can't otherwise handle + // other bases + } + return result; +} + +function ints_encrypt(numbers){ + // never mind the bitwise nonsenses + var key=0x3e0f83e1; //good news it's 32 bits + result=[]; + for(var i=0; i<6; i++){ + var r0=Math.floor(numbers[i]/(2**0x1f)); + var mul=key*numbers[i]; //wait how many bits are we getting here? + var r2= mul%(2**32); + var r6= Math.floor(mul/(2**32)); + r6=r0+r6>>3; + mul=0x21*r6; + r0=mul%(2**32); + r2=Math.floor(mul/(2**32)); + r6=numbers[i]-r0; + result.push(r6+1); + } + return result; +} + +function ints2str(numbers){ + var chars="123456789ABCDEFGHJKLMNPQRSTUVWXYZ"; + var s=""; + for(var i of numbers){ + s+=chars[i-1]; + } + return s; +} + +function calc_serial_code(mac_code, code1, code2){ + var full_code=mac_code.toUpperCase()+code1+code2; + var shorten_index=calc_shorten_index(full_code); + var shuffle_str=shuffle(full_code, shorten_index); + var shuffle_numbers=hex2ints(shuffle_str); + var encrypted_numbers=ints_encrypt(shuffle_numbers); + var serial_code=ints2str(encrypted_numbers); + return serial_code; +} + +// starting here is not present in the original code +// made these for web and such +function input_sanitizer(mac_code, code1, code2){ + var mac="" + for(var c of mac_code){ + if(("0123456789AaBbCcDdEeFf").indexOf(c)!=-1){ + mac+=c + } + } + var c1="" + for(var c of code1){ + if(("0123456789").indexOf(c)!=-1){ + c1+=c + } + } + var c2="" + for(var c of code2){ + if(("0123456789").indexOf(c)!=-1){ + c2+=c + } + } + if(mac.length!=12 || c1.length!=6 || c2.length!=6){ + return "" + } + return calc_serial_code(mac, c1, c2) +} + +/* +* SilicaAndPina Code start here +*/ + +window.addEventListener("load", function() { + dsiMacs = [dsiMac0, dsiMac1, dsiMac2, dsiMac3, dsiMac4, dsiMac5]; +}); + + +function placeOffering() +{ + var macAddress = ""; + dsiMacs.forEach(function(i){ macAddress += i.value }); + + var sId = storeId.value; + var mId = managementId.value; + var key = input_sanitizer(macAddress, sId, mId) + if(key != "") + offering.innerText = "Donald McDonald speaks with a cryptic message: "+key; + else + offering.innerText = "Donald McDonald looks at you, disgusted, throwing your Big Mac right back at you."; +} + +function getRandomInt(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min + 1)) + min; +} + +function randomizeStoreNumber() +{ + storeId.value = getRandomInt(0,999999).toString().padStart(6, "0"); +} + +function randomizeManagerNumber() +{ + managementId.value = getRandomInt(0,999999).toString().padStart(6, "0"); +} + +function numbersOnly(elem) +{ + elem.value = elem.value.replace(/[^0-9]/g, ''); +} +function detectChanges(index) +{ + var elem = dsiMacs[index]; + elem.value = elem.value.toUpperCase().replace(/[^A-F0-9]/g, ''); + + if(elem.value.length >= elem.maxLength) + { + if(index+1 < dsiMacs.length) + { + dsiMacs[index+1].select(); + } + } + + +} diff --git a/Web Service/index.html b/Web Service/index.html index 4f04f87..8108509 100644 --- a/Web Service/index.html +++ b/Web Service/index.html @@ -3,6 +3,7 @@ McKeygen - Serial Key Generator for eCDP + @@ -10,232 +11,26 @@

DSi Mac Address:
- : - : - : - : - : -
+ : + : + : + : + : +
Store Number:
-
+
Store Management Number of DS Card:
-
+

-
Keys Originally Cracked by SilicaAndPina, algorithm ported to JavaScript by @User670.
+
Original by Silica, later ported to JavaScript by @User670.
+ + + \ No newline at end of file