mirror of
https://github.com/lordfriky/web-cfw-loader.git
synced 2024-12-28 16:11:55 +00:00
merge
This commit is contained in:
commit
beed5c054d
5
i18n.js
5
i18n.js
@ -22,10 +22,10 @@ function setPageLanguage(lang) {
|
||||
|
||||
else if (lang === "pl-PL")
|
||||
langObj = plPL;
|
||||
|
||||
|
||||
else if (lang === "zh-CN")
|
||||
langObj = zhCN;
|
||||
|
||||
|
||||
else if (lang === "zh-TW")
|
||||
langObj = zhTW;
|
||||
|
||||
@ -55,6 +55,7 @@ function setPageLanguage(lang) {
|
||||
document.getElementById("optionCTCaerHekate").innerHTML = langObj.optionCTCaerHekate;
|
||||
document.getElementById("optionFusee").innerHTML = langObj.optionFusee;
|
||||
document.getElementById("optionSXOS").innerHTML = langObj.optionSXOS;
|
||||
document.getElementById("optionReiNX").innerHTML = langObj.optionReiNX;
|
||||
document.getElementById("optionUpload").innerHTML = langObj.optionUpload;
|
||||
document.getElementById("h4GetByteArray").innerHTML = langObj.h4GetByteArray;
|
||||
document.getElementById("h3Log").innerHTML = langObj.h3Log;
|
||||
|
@ -17,6 +17,7 @@ let deDE = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (Alle Firmwares)",
|
||||
"optionFusee" :"(Re)Switched Test Payload (fusee)",
|
||||
"optionSXOS" :"SX OS (Alle Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Eigenes Payload hochladen",
|
||||
"h3Log" :"Protokoll:",
|
||||
"h4GetByteArray" :"Erhalte das Payload Byte-Array (nicht senden)",
|
||||
|
@ -18,6 +18,7 @@ let enUS = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (All Firmwares)",
|
||||
"optionFusee" :"(Re)Switched test payload (fusee)",
|
||||
"optionSXOS" :"SX OS (All Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Upload Payload",
|
||||
"h3Log" :"Log:",
|
||||
"h4GetByteArray" :"Get payload byte array (don't sploit)",
|
||||
|
@ -17,8 +17,9 @@ let esMX = {
|
||||
"optionCTCaerHekate" :"Mod de Hekate de CTCaer v3.2 (Todos los Firmwares)",
|
||||
"optionFusee" :"Payload de prueba de (Re)Switched (fusee)",
|
||||
"optionSXOS" :"SX OS (Todos los Firmwares)",
|
||||
"optionReiNX" :"ReiNX (Con Parche de Firmas)",
|
||||
"optionUpload" :"Subir Payload",
|
||||
"h3Log" :"Log:",
|
||||
"h3Log" :"Registro:",
|
||||
"h4GetByteArray" :"Obtener matriz de bytes del payload (sin exploit)",
|
||||
"goButton" :"Enviar Payload!",
|
||||
"clearlogsbutton" :"Borrar registro",
|
||||
|
@ -17,6 +17,7 @@ let frFR = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (All Firmwares)",
|
||||
"optionFusee" :"(Re)Switched test payload (fusee)",
|
||||
"optionSXOS" :"SX OS (All Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Upload Payload",
|
||||
"h3Log" :"Log:",
|
||||
"h4GetByteArray" :"Get payload byte array (don't sploit)",
|
||||
|
@ -17,6 +17,7 @@ let itIT = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (All Firmwares)",
|
||||
"optionFusee" :"(Re)Switched payload di test (fusee)",
|
||||
"optionSXOS" :"SX OS (All Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Carica payload",
|
||||
"h3Log" :"Log:",
|
||||
"h4GetByteArray" :"Ottieni byte array del payload (no exploit)",
|
||||
|
@ -19,6 +19,7 @@ let plPL = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (All Firmwares)",
|
||||
"optionFusee" :"(Re)Switched testowy payload (fusee)",
|
||||
"optionSXOS" :"SX OS (All Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Załaduj payload",
|
||||
"h3Log" :"Log:",
|
||||
"h4GetByteArray" :"Uzyskaj ciąg bajtów payloadu (nie uruchamiaj)",
|
||||
|
@ -17,6 +17,7 @@ let ptBR = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (All Firmwares)",
|
||||
"optionFusee" :"Payload de teste (Re)Switched (fusee)",
|
||||
"optionSXOS" :"SX OS (All Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Carregar Payload",
|
||||
"h3Log" :"Log:",
|
||||
"h4GetByteArray" :"Recuperar array de bytes do payload (favor não exploitar)",
|
||||
|
@ -17,6 +17,7 @@ let ruRU = {
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (All Firmwares)",
|
||||
"optionFusee" :"Тестовый пейлоад от (Re)Switched",
|
||||
"optionSXOS" :"SX OS (All Firmwares)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"Загрузить свой пейлоад",
|
||||
"h3Log" :"Log:",
|
||||
"h4GetByteArray" :"Получить побайтовый вывод листинга пейлоада в лог (без отправки на консоль)",
|
||||
|
@ -16,7 +16,8 @@ let zhCN = {
|
||||
"h4SelectPayload" :"选择 Payload:",
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (全版本)",
|
||||
"optionFusee" :"(Re)Switched test payload (fusee)",
|
||||
"optionSXOS" :"SX OS (全版本)",
|
||||
"optionSXOS" :"SX OS (全版本)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"上传 Payload",
|
||||
"h4GetByteArray" :"获取Payload byte array (无Sploit)",
|
||||
"goButton" :"传递 Payload!",
|
||||
|
@ -16,7 +16,8 @@ let zhTW = {
|
||||
"h4SelectPayload" :"選擇 Payload:",
|
||||
"optionCTCaerHekate" :"CTCaer's Hekate Mod v3.2 (全版本)",
|
||||
"optionFusee" :"(Re)Switched test payload (fusee)",
|
||||
"optionSXOS" :"SX OS (全版本)",
|
||||
"optionSXOS" :"SX OS (全版本)",
|
||||
"optionReiNX" :"ReiNX (With SigPatches)",
|
||||
"optionUpload" :"上傳Payload",
|
||||
"h4GetByteArray" :"獲取Payload byte array (無Sploit)",
|
||||
"goButton" :"傳遞Payload!",
|
||||
|
@ -5,7 +5,7 @@
|
||||
<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.3.1</title>
|
||||
<title>Switch Payload Loader v1.3.2</title>
|
||||
|
||||
<script src="./i18n/en-US.js"></script>
|
||||
<script src="./i18n/it-IT.js"></script>
|
||||
@ -113,8 +113,9 @@
|
||||
<select class="pull-right" id="payloadSelect" onchange="onSelectChange()">
|
||||
<option value="CTCaer_Hekate" id="optionCTCaerHekate" >CTCaer's Hekate Mod v3.2 (All Firmwares)</option>
|
||||
<option value="fusee" id="optionFusee" >(Re)Switched test payload (fusee)</option>
|
||||
<option value="sx os" id="optionSXOS" >SX OS (All Firmwares)</option>
|
||||
<option value="briccmii" id="briccmii" >briccmii</option>
|
||||
<option value="sx os" id="optionSXOS" >SX OS (All Firmwares)</option>
|
||||
<option value="ReiNX" id="optionReiNX" >ReiNX (With SigPatches)</option>
|
||||
<option value="briccmii" id="briccmii" >briccmii</option>
|
||||
<option value="uploaded" id="optionUpload" >Upload payload</option>
|
||||
</select>
|
||||
</div>
|
||||
|
34
main.js
34
main.js
@ -1,9 +1,9 @@
|
||||
const intermezzo = new Uint8Array([
|
||||
0x44, 0x00, 0x9F, 0xE5, 0x01, 0x11, 0xA0, 0xE3, 0x40, 0x20, 0x9F, 0xE5, 0x00, 0x20, 0x42, 0xE0,
|
||||
0x08, 0x00, 0x00, 0xEB, 0x01, 0x01, 0xA0, 0xE3, 0x10, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0xA0, 0xE1,
|
||||
0x2C, 0x00, 0x9F, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0x02, 0x28, 0xA0, 0xE3, 0x01, 0x00, 0x00, 0xEB,
|
||||
0x20, 0x00, 0x9F, 0xE5, 0x10, 0xFF, 0x2F, 0xE1, 0x04, 0x30, 0x90, 0xE4, 0x04, 0x30, 0x81, 0xE4,
|
||||
0x04, 0x20, 0x52, 0xE2, 0xFB, 0xFF, 0xFF, 0x1A, 0x1E, 0xFF, 0x2F, 0xE1, 0x20, 0xF0, 0x01, 0x40,
|
||||
0x44, 0x00, 0x9F, 0xE5, 0x01, 0x11, 0xA0, 0xE3, 0x40, 0x20, 0x9F, 0xE5, 0x00, 0x20, 0x42, 0xE0,
|
||||
0x08, 0x00, 0x00, 0xEB, 0x01, 0x01, 0xA0, 0xE3, 0x10, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0xA0, 0xE1,
|
||||
0x2C, 0x00, 0x9F, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0x02, 0x28, 0xA0, 0xE3, 0x01, 0x00, 0x00, 0xEB,
|
||||
0x20, 0x00, 0x9F, 0xE5, 0x10, 0xFF, 0x2F, 0xE1, 0x04, 0x30, 0x90, 0xE4, 0x04, 0x30, 0x81, 0xE4,
|
||||
0x04, 0x20, 0x52, 0xE2, 0xFB, 0xFF, 0xFF, 0x1A, 0x1E, 0xFF, 0x2F, 0xE1, 0x20, 0xF0, 0x01, 0x40,
|
||||
0x5C, 0xF0, 0x01, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x40
|
||||
]);
|
||||
|
||||
@ -17,7 +17,7 @@ const PAYLOAD_LOAD_BLOCK = 0x40020000;
|
||||
|
||||
function createRCMPayload(intermezzo, payload) {
|
||||
const rcmLength = 0x30298;
|
||||
|
||||
|
||||
const intermezzoAddressRepeatCount = (INTERMEZZO_LOCATION - RCM_PAYLOAD_ADDRESS) / 4;
|
||||
|
||||
const rcmPayloadSize = Math.ceil((0x2A8 + (0x4 * intermezzoAddressRepeatCount) + 0x1000 + payload.byteLength) / 0x1000) * 0x1000;
|
||||
@ -114,9 +114,9 @@ async function launchPayload(payload) {
|
||||
logOutput("Switching to higher buffer...");
|
||||
await device.transferOut(1, new ArrayBuffer(0x1000));
|
||||
}
|
||||
|
||||
|
||||
logOutput("Trigging vulnerability...");
|
||||
const vulnerabilityLength = 0x7000;
|
||||
const vulnerabilityLength = 0x7000;
|
||||
const smash = await device.controlTransferIn({
|
||||
requestType: 'standard',
|
||||
recipient: 'interface',
|
||||
@ -132,7 +132,7 @@ document.getElementById("goButton").addEventListener("click", async () => {
|
||||
clearLog();
|
||||
var debugCheckbox = document.getElementById("shouldDebug");
|
||||
const payloadType = document.getElementById("payloadSelect").value;
|
||||
|
||||
|
||||
if(!debugCheckbox.checked) {
|
||||
|
||||
logOutput("Requesting access to device...");
|
||||
@ -151,13 +151,17 @@ document.getElementById("goButton").addEventListener("click", async () => {
|
||||
|
||||
} else if (payloadType === "fusee") {
|
||||
payload = fusee;
|
||||
|
||||
|
||||
} else if (payloadType === "sx os") {
|
||||
payload = sx;
|
||||
|
||||
} else if (payloadType === "ReiNX") {
|
||||
payload = ReiNX;
|
||||
|
||||
} else if (payloadType === "briccmii") {
|
||||
payload = briccmii;
|
||||
}
|
||||
else if (payloadType === "uploaded") {
|
||||
|
||||
} else if (payloadType === "uploaded") {
|
||||
const file = document.getElementById("payloadUpload").files[0];
|
||||
if (!file) {
|
||||
alert("You need to upload a file, to use an uploaded file.");
|
||||
@ -165,7 +169,7 @@ document.getElementById("goButton").addEventListener("click", async () => {
|
||||
}
|
||||
logOutput("Using uploaded payload \"" + file.name + "\"");
|
||||
payload = new Uint8Array(await readFileAsArrayBuffer(file));
|
||||
|
||||
|
||||
} else {
|
||||
logOutput("<span style='color:red'>You're trying to load a payload type that doesn't exist.</span>");
|
||||
return;
|
||||
@ -201,7 +205,7 @@ function onSelectChange() {
|
||||
function openInfo() {
|
||||
if(document.getElementById("infodiv").innerHTML != "") {
|
||||
document.getElementById("infodiv").innerHTML = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -210,4 +214,4 @@ function openInstructions() {
|
||||
if(document.getElementById("infodiv").innerHTML != "") {
|
||||
document.getElementById("infodiv").innerHTML = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user