2018-05-20 05:39:19 +00:00
<!doctype html>
< html >
< head >
< meta charset = "utf-8" >
< link rel = "stylesheet" type = "text/css" href = "style.css" / >
< link href = "favicon.png" rel = "icon" type = "image/x-icon" / >
< title > Switch Payload Loader v1.2< / title >
<!-- JQuery: needed for some Bootstrap Components -->
< script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" > < / script >
<!-- Bootstrap 3 framework -->
<!-- Latest compiled and minified CSS -->
< link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity = "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin = "anonymous" >
<!-- Optional theme -->
< link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity = "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin = "anonymous" >
<!-- Latest compiled and minified JavaScript -->
< script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity = "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin = "anonymous" > < / script >
< / head >
< body class = "container-fluid" >
< div class = "row" id = "title" >
< h1 > Nintendo Switch Payload Loader< / h1 >
< h4 > Fusee Launcher portado para JavaScript usando WebUSB.< / h4 >
< / div >
< div class = "row margin-top-md" >
< div class = "col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3" >
< div class = "btn-group" role = "group" aria-label = "..." >
< a class = "btn btn-info" href = "../index.html" > English< / a >
< a class = "btn btn-info" href = "../it_IT/index.html" > Italiano< / a >
< a class = "btn btn-info disabled" href = "#" > Português< / a >
< / div >
< / div >
< / div >
< div class = "row margin-top-md" id = "infodiv" >
< div class = "col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3" >
< div class = "alert alert-danger" role = "alert" >
< p > Esta ferramenta não foi completamente testada. Apesar de não ter encontrado nenhuma falha, não me responsabilizo se algo der errado!< / p >
< / div >
< div class = "alert alert-warning alert-dismissible" role = "alert" >
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" > < span aria-hidden = "true" > × < / span > < / button >
< p > Isto NÃO funciona no Windows devido uma limitação do Chrome na implementação do WebUSB (e, possivelmente, outros motivos).< / p >
< / div >
< div class = "alert alert-warning alert-dismissible" role = "alert" >
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" > < span aria-hidden = "true" > × < / span > < / button >
< p > Isto NÃO funciona, atualmente, em nenhum browser além do Chrome, que é o único a implementar WebUSB.< / p >
< / div >
< div class = "alert alert-warning alert-dismissible" role = "alert" >
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" > < span aria-hidden = "true" > × < / span > < / button >
2018-05-21 17:17:48 +00:00
< p > No Linux você pode receber um erro de 'Acesso Negado' ou de 'Dispositivo Compatível não Encontrado'! Caso receba, tente criar o arquivo < code > /etc/udev/rules.d/50-switch.rules< / code > com o seguinte conteúdo: < br > < code > SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0955\", MODE=\"0664\", GROUP=\"plugdev\"< / code > < / p >
2018-05-20 05:39:19 +00:00
< / div >
< div class = "alert alert-warning alert-dismissible" role = "alert" >
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" > < span aria-hidden = "true" > × < / span > < / button >
< p > Isto foi testado -e aparentemente funciona- no Linux, OSX, Android (sem precisar de root) e Chromebooks. Resultados podem variar.< / p >
< / div >
< div class = "alert alert-info" role = "alert" >
< h4 > Instruções:< / h4 >
< ul >
< li > Coloque o Switch no modo RCM e conecte-o ao dispositivo.< / li >
< li > Escolha um dos payloads disponíveis ou faça upload de um.< / li >
< li > Clique em "Enviar Payload"!< / li >
2018-05-21 17:17:48 +00:00
< li > No diálogo de confirmação escolha "APX" e clique em 'Conectar-se'< / li >
2018-05-20 05:39:19 +00:00
< li > Se tudo der certo, o payload executará!< / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "row" >
2018-05-20 12:15:01 +00:00
< div class = "col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3" >
2018-05-20 05:39:19 +00:00
< h1 > Configurar Entrega de Payload< / h1 >
< form id = "mainForm" >
< div class = "row" >
< div class = "col-xs-6" >
< h4 > Payload:< / h4 >
< / div >
< div class = "col-xs-6" >
< select class = "pull-right" id = "payloadSelect" onchange = "onSelectChange()" >
< option value = "instaboot" > Execução Instantânea CFW (5.0.x)< / option >
< option value = "hekate v5" > Hekate para Switch ver. 5.0.X< / option >
< option value = "hekate v4" > Hekate para Switch ver. 4.0.X< / option >
< option value = "fusee" > Payload de teste do time (Re)Switched (fusee)< / option >
< option value = "uploaded" > Upload de Payload< / option >
< / select >
< / div >
< / div >
< div class = "row" id = "uploadContainer" style = "display: none" >
2018-05-21 17:27:30 +00:00
< div class = "col-xs-12" >
2018-05-20 05:39:19 +00:00
< input style = "float: right" type = "file" id = "payloadUpload" accept = ".bin" / >
< / div >
< / div >
< div class = "row divider-line" > < / div >
< div class = "row margin-top-md" >
< div class = "col-xs-10" >
< h4 > Recuperar array de bytes do payload (favor não exploitar)< / h4 >
< / div >
< div class = "col-xs-2" >
< input class = "pull-right" type = "checkbox" name = "shouldDebug" id = "shouldDebug" >
< / div >
< / div >
< div class = "row divider-line" > < / div >
< / form >
< div class = "row margin-top-md" >
< div class = "col-xs-12" >
< button class = "btn btn-primary btn-lg pull-right" id = "goButton" > Enviar Payload!< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "class=col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3" >
< h3 > Log:< / h3 >
< div id = "output" > < / div >
< button class = "btn btn-primary pull-right margin-top-md" id = "clearlogsbutton" onclick = "clearLog();" > Limpar Logs< / button > < br > < br >
< / div >
< / div >
< script src = "./payloads.js" > < / script >
< script src = "./main.js" > < / script >
< / body >
< div class = "row margin-top-md" id = "page-footer" >
< div class = "col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3" >
< div id = "disclaimer" >
< p > Código fonte disponível em < a href = "https://github.com/ElijahZAwesome/web-cfw-loader/" > GitHub< / a > (ou simplesmente clicando 'ver código', não há backend).< / p >
< p > Um port do < a href = "https://github.com/reswitched/fusee-launcher" > fusee-launcher< / a > .< / p >
< p > Muito obrigado a Ktemkin e time (Re)Switched, bem como < br > < a href = "https://atlas44.s3-us-west-2.amazonaws.com/web-fusee-launcher/index.html" > Atlas44 e seu website< / a > que é a base deste.< / p >
< / div >
< / div >
< / div >
< / html >