mirror of
https://gitlab.com/Theopse/fbi-i18n-zh.git
synced 2025-04-27 03:46:37 +08:00
Cleanup ROP installer.
This commit is contained in:
parent
a12dd404b3
commit
ff5c743a94
@ -1,18 +1,16 @@
|
|||||||
#include <ctrcommon/app.hpp>
|
#include <ctrcommon/app.hpp>
|
||||||
#include <ctrcommon/gpu.hpp>
|
#include <ctrcommon/gpu.hpp>
|
||||||
#include <ctrcommon/input.hpp>
|
#include <ctrcommon/input.hpp>
|
||||||
|
#include <ctrcommon/nor.hpp>
|
||||||
#include <ctrcommon/platform.hpp>
|
#include <ctrcommon/platform.hpp>
|
||||||
#include <ctrcommon/ui.hpp>
|
#include <ctrcommon/ui.hpp>
|
||||||
|
|
||||||
#include <sys/dirent.h>
|
#include "rop.h"
|
||||||
|
|
||||||
#include <sys/errno.h>
|
#include <sys/errno.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <3ds.h>
|
|
||||||
#include <3ds/services/cfgnor.h>
|
|
||||||
#include "ropdata.h"
|
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
|
||||||
@ -37,7 +35,6 @@ int main(int argc, char **argv) {
|
|||||||
Mode mode = INSTALL_CIA;
|
Mode mode = INSTALL_CIA;
|
||||||
bool exit = false;
|
bool exit = false;
|
||||||
bool netInstall = false;
|
bool netInstall = false;
|
||||||
int ropinstalled = 0;
|
|
||||||
u64 freeSpace = fsGetFreeSpace(destination);
|
u64 freeSpace = fsGetFreeSpace(destination);
|
||||||
auto onLoop = [&]() {
|
auto onLoop = [&]() {
|
||||||
if(ninjhax && inputIsPressed(BUTTON_START)) {
|
if(ninjhax && inputIsPressed(BUTTON_START)) {
|
||||||
@ -79,19 +76,19 @@ int main(int argc, char **argv) {
|
|||||||
breakLoop = true;
|
breakLoop = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(inputIsPressed(BUTTON_SELECT) && ropinstalled==0){
|
if(inputIsPressed(BUTTON_SELECT)) {
|
||||||
Result result=0;
|
bool result = norWrite(0x1FE00, rxToolsMset4x, sizeof(rxToolsMset4x));
|
||||||
|
|
||||||
CFGNOR_Initialize( (u8)1 );
|
std::stringstream resultMsg;
|
||||||
result=CFGNOR_WriteData(0x1FE00, (u32*)mset4x, 0x200);
|
resultMsg << "ROP installation ";
|
||||||
CFGNOR_Shutdown();
|
if(result) {
|
||||||
|
resultMsg << "succeeded!";
|
||||||
|
} else {
|
||||||
|
resultMsg << "failed!" << "\n";
|
||||||
|
resultMsg << platformGetErrorString(platformGetError()) << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
if(result){ // 1 is fail install 2 is success install
|
uiPrompt(TOP_SCREEN, resultMsg.str(), false);
|
||||||
ropinstalled=1;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
ropinstalled=2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::stringstream stream;
|
std::stringstream stream;
|
||||||
@ -105,10 +102,11 @@ int main(int argc, char **argv) {
|
|||||||
stream << "X - Delete all CIAs in the current directory" << "\n";
|
stream << "X - Delete all CIAs in the current directory" << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stream << "SELECT - Install rxTools MSET ROP\n";
|
||||||
|
|
||||||
if(ninjhax) {
|
if(ninjhax) {
|
||||||
stream << "START - Exit to launcher" << "\n";
|
stream << "START - Exit to launcher" << "\n";
|
||||||
}
|
}
|
||||||
stream << (ropinstalled == 0 ? "SELECT - Install rxTools mset: NOT INSTALLED\n" : ropinstalled == 2 ? "SELECT - Install rxTools mset: INSTALLED\n" : "SELECT - Install rxTools mset: FAILED\n");
|
|
||||||
|
|
||||||
std::string str = stream.str();
|
std::string str = stream.str();
|
||||||
const std::string title = "FBI v1.3.8";
|
const std::string title = "FBI v1.3.8";
|
||||||
|
36
source/rop.h
Normal file
36
source/rop.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
unsigned char rxToolsMset4x[0x200] = {
|
||||||
|
0xB9, 0xF2, 0x10, 0x00, 0xAE, 0x2B, 0x27, 0x00, 0xEF, 0xBE, 0xAD, 0xDE, 0x9C, 0xF1, 0x18, 0x00,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xB9, 0xF2, 0x10, 0x00,
|
||||||
|
0x00, 0x90, 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE1, 0x49, 0x15, 0x00, 0x0C, 0x5E, 0x29, 0x00,
|
||||||
|
0xAC, 0x82, 0x1B, 0x00, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xB9, 0xF2, 0x10, 0x00, 0x00, 0x90, 0x27, 0x00,
|
||||||
|
0x00, 0x00, 0x2B, 0x00, 0xE1, 0x49, 0x15, 0x00, 0x20, 0x90, 0x27, 0x00, 0x8C, 0x53, 0x10, 0x00,
|
||||||
|
0x00, 0x90, 0x00, 0x00, 0x58, 0x39, 0x1B, 0x00, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0x1A, 0x83, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0x91, 0xFE, 0x16, 0x00, 0xAC, 0xEF, 0x22, 0x00, 0xBC, 0x4C, 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00,
|
||||||
|
0x00, 0x90, 0x00, 0x00, 0xE1, 0x49, 0x15, 0x00, 0xAC, 0xEF, 0x22, 0x00, 0xAC, 0xEF, 0x22, 0x00,
|
||||||
|
0x8C, 0x53, 0x10, 0x00, 0x60, 0x14, 0x00, 0x00, 0x60, 0x3D, 0x14, 0x00, 0x00, 0x90, 0x00, 0x00,
|
||||||
|
0xF9, 0x02, 0x10, 0x00, 0x8C, 0x53, 0x10, 0x00, 0x40, 0x6B, 0x03, 0x00, 0x60, 0x3D, 0x14, 0x00,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xF1, 0x8B,
|
||||||
|
0x05, 0x00, 0x0F, 0x05, 0x1D, 0x00, 0x72, 0x00, 0x78, 0x00, 0x54, 0x00, 0x6F, 0x00, 0x6F, 0x00,
|
||||||
|
0x6C, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x59, 0x00, 0x53, 0x00,
|
||||||
|
0x3A, 0x00, 0x2F, 0x00, 0x72, 0x00, 0x78, 0x00, 0x54, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6C, 0x00,
|
||||||
|
0x73, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x65, 0x02, 0x19, 0x13, 0xE0, 0x0D,
|
||||||
|
0x11, 0x0E, 0xE6, 0xAC, 0x00, 0xFE, 0x00, 0x01, 0xA5, 0x4F, 0x4A, 0x12, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x52, 0x00, 0x6B, 0xC1, 0x01, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xB9, 0xF2, 0x10, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||||
|
0xE1, 0x49, 0x15, 0x00, 0x00, 0x94, 0x27, 0x00, 0xFC, 0x34, 0x13, 0x00, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0x8C, 0x53, 0x10, 0x00, 0x9C, 0x94, 0x27, 0xF0, 0x60, 0x3D, 0x14, 0x00, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
||||||
|
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xE1, 0x37,
|
||||||
|
};
|
@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
StartOffset: 00000000, EndOffset: 000001FF, Length: 00000200 */
|
|
||||||
int mset4x_len=0x200;
|
|
||||||
unsigned char mset4x[512] = {
|
|
||||||
0xB9, 0xF2, 0x10, 0x00, 0xAE, 0x2B, 0x27, 0x00, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0x9C, 0xF1, 0x18, 0x00, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xB9, 0xF2, 0x10, 0x00, 0x00, 0x90, 0x27, 0x00,
|
|
||||||
0x01, 0x00, 0x00, 0x00, 0xE1, 0x49, 0x15, 0x00, 0x0C, 0x5E, 0x29, 0x00,
|
|
||||||
0xAC, 0x82, 0x1B, 0x00, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xB9, 0xF2, 0x10, 0x00, 0x00, 0x90, 0x27, 0x00, 0x00, 0x00, 0x2B, 0x00,
|
|
||||||
0xE1, 0x49, 0x15, 0x00, 0x20, 0x90, 0x27, 0x00, 0x8C, 0x53, 0x10, 0x00,
|
|
||||||
0x00, 0x90, 0x00, 0x00, 0x58, 0x39, 0x1B, 0x00, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0x1A, 0x83, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0x91, 0xFE, 0x16, 0x00,
|
|
||||||
0xAC, 0xEF, 0x22, 0x00, 0xBC, 0x4C, 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00,
|
|
||||||
0x00, 0x90, 0x00, 0x00, 0xE1, 0x49, 0x15, 0x00, 0xAC, 0xEF, 0x22, 0x00,
|
|
||||||
0xAC, 0xEF, 0x22, 0x00, 0x8C, 0x53, 0x10, 0x00, 0x60, 0x14, 0x00, 0x00,
|
|
||||||
0x60, 0x3D, 0x14, 0x00, 0x00, 0x90, 0x00, 0x00, 0xF9, 0x02, 0x10, 0x00,
|
|
||||||
0x8C, 0x53, 0x10, 0x00, 0x40, 0x6B, 0x03, 0x00, 0x60, 0x3D, 0x14, 0x00,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xF1, 0x8B, 0x05, 0x00, 0x0F, 0x05, 0x1D, 0x00, 0x72, 0x00,
|
|
||||||
0x78, 0x00, 0x54, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6C, 0x00, 0x73, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x59, 0x00, 0x53, 0x00,
|
|
||||||
0x3A, 0x00, 0x2F, 0x00, 0x72, 0x00, 0x78, 0x00, 0x54, 0x00, 0x6F, 0x00,
|
|
||||||
0x6F, 0x00, 0x6C, 0x00, 0x73, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x61, 0x00,
|
|
||||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x65, 0x02,
|
|
||||||
0x19, 0x13, 0xE0, 0x0D, 0x11, 0x0E, 0xE6, 0xAC, 0x00, 0xFE, 0x00, 0x01,
|
|
||||||
0xA5, 0x4F, 0x4A, 0x12, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x6B, 0xC1,
|
|
||||||
0x01, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0xB9, 0xF2, 0x10, 0x00, 0x00, 0xFE, 0x01, 0x00,
|
|
||||||
0x00, 0x01, 0x00, 0x00, 0xE1, 0x49, 0x15, 0x00, 0x00, 0x94, 0x27, 0x00,
|
|
||||||
0xFC, 0x34, 0x13, 0x00, 0xEF, 0xBE, 0xAD, 0xDE, 0x8C, 0x53, 0x10, 0x00,
|
|
||||||
0x9C, 0x94, 0x27, 0xF0, 0x60, 0x3D, 0x14, 0x00, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xAD, 0xDE,
|
|
||||||
0xEF, 0xBE, 0xAD, 0xDE, 0xEF, 0xBE, 0xE1, 0x37
|
|
||||||
};
|
|
Loading…
x
Reference in New Issue
Block a user