Git Product home page Git Product logo

tegraexplorer's Introduction

TegraExplorer

TegraExplorer builder Downloads Version Donations

A payload-based file explorer for your switch!

Usage

  1. Get your favorite payload injector
  2. Inject TegraExplorer as a payload

Navigate around the menus using the joycons.

  • A: Select
  • B: Back
  • Left Joystick up/down (Dpad or joystick): navigate menus up/down
  • Right Joystick up/down: fast menu navigation up/down
  • Capture (Minerva only): Take a screenshot
  • L3/R3 (Press joysticks in): Recalibrate centerpoint

If you do not have your joycons connected:

  • Power -> A
  • Vol+ -> Left Joystick up
  • Vol- -> Left Joystick down

Functions

  • Navigate the SD card
  • Navigate the System partition of your sysmmc and emummc
  • Interact with files
    • Deleting, copying, renaming and moving files
    • Launching payloads files
    • Viewing the hex data of a file
    • Launching special TegraScript files
    • Renaming files
  • Interacting with folders
    • Deleting, copying or renaming folders
    • Creating folders
  • Dumping your current firmware to sd
  • Formatting the sd card

and more

Support

For general CFW support, go to the Nintendo Homebrew discord

For question specifically for TegraExplorer, go to my discord

Credits

Based on Lockpick_RCM, and thus also based on Hekate

Awesome people who helped with this project:

Other awesome people:

  • PhazonicRidley
  • Dax
  • Huhen
  • Exelix
  • Emmo
  • Gengar
  • Einso
  • JeffV

Screenshots

Preview

tegraexplorer's People

Contributors

aspargas2 avatar bleck9999 avatar dezem avatar huhenu avatar jeffvi avatar lightsage avatar suchmememanyskill avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tegraexplorer's Issues

A error at deleting a folder

Hello, I'm getting this error on the imagine below when i try to delete a folder that say is empty but is taking 4gb of me, i they deleting on PC giving permission, with FTP and now Tegra and this folder just won't delete, what can I do? What this error mean?

20220416_033639

Bug with function fs_openDir() and fs_readDir()

Hi,

I think I have found a problem with the functions mensioned in the issue title that impact the setStringIndex() function.

To reproduce it, take the script joined, copy it on your SD, use an SD with 5 or six folders on it to realy see the effect of the bug, execute the script and move into the menu displayed.

I think there is more problem with this script because what will be the display with an SD with 100 folders on it (sliding of the screen will not work I think but not realy the point here).

A little thing that could be added with "fs_openDir()" vars created with this function could be a "$PARENTDIR" string var that give you the parent folder, I haven't found a technic to do that with the actuals functions.

bugged_scripttest.zip

F_fdisk returned 19!

I tried using version 1.2 but trying to format the SD card with either option just instantly displayed 'f_fdisk returned 19!' after the partition information.

Using version 1.1.1 worked fine.

(It was a 128gb SD card, let me know if you need anymore information.)

Help with arrays with scripts on TegraExplorer V3

I want to create an empty array and add values in it one by one but I don't know how to do this. Here is a code example to ilustrate what I want to do (I know that adding a value in an array doesn't work like that but I think that my example is more understandable like that):

file = dirRead(CWD)
folder_list = []
i = 0
j = 0
while (i < len(file)) {
	if (fileProperties[i]) {
		folder_list[j] = file[i]
		j = j + 1
	}
	i = i + 1
}

Thanks in advance for the help.

No menu when booted

I load the bootloader through hekate and it loads fine, but there's no menu options at all and the only choice I have is a hard reboot by holding the power button

Debug function for script

Hi,

I have a feature to suggest for the Tegra scripts function, could you add an instruction that write screen output to a text file (errors included) (the function should not change what is displayed on the screen, the text file writing should be in addition). An example for a script named "foo.te":

enableDebug("foo.te.log") /* Debug activated in the file "foo.te.log", if it's possible the param could be optional, without the param set the script will print the debug output to a file named "script_file_name.log" and placed beside the script. */
printf("Hello world") /* Display "Hello world" to the screen and display something like "Displaying: Hello world\n" on the debug file. */
disableDebug() /* close the previously opened enableDebug()
exit()

An other example for errors:

enableDebug("foo.te.log")
Printf("Hello world") /* Display the error on the screen and write something like "Error: $error_text" in the debug file and call the disableDebug() function cause this error force script termination */

I ask this function cause I'm blind (not totaly but I can't read what is displayed on the screen) and it's realy difficult to debug my Tegra scripts without any infos displayed or text of the errors encountered.

An other suggestion, the possibility to call an other "foo2.te" script in the "foo.te" script could be a nice addition but you have probably already thought of it and this thing is probably more difficult to implement but if you do it, a nice new function to add could be a gotoEOF() function that end the script called and continue the main script (if called in the main script, call the exit() function or display an error and exit the script).

Thanks in advance, I realy like this script function.

return() function alternative in TS V3

I've started to convert my TegraExplorer script for the version 4.0.0+ of TegraExplorer but the removing of the return() instruction to exit a function is realy anoying, playing with the "if" and ".else" and other instructions could be realy difficult in some case.

Do I miss something or I must do like that? Do you think you will reintegrate the return() instruction?

use exFat instead of FAT32

Hi

FAT32 cannot hold files that are heavier than 4GB, it's not ideal given how large some *.nsp files can be. Is it possible to have an option to format to exFat ?

File and directory timestamp

TegraExplorer Version: v4.0.1

Description

Hii,

it looks like TegraExplorer does not show timestamps for files and directories. If so, can you show how I can use this function?

If there is no support, then please support Modified and Created timestamps.

Can't navigate in Tegraexplorer

I am currently trying to partition the sd card but it won't allow me to move with the buttons except pressing A on systemwipe.te
Is there a way to fix this issue? I can't power off the switch either.

Save class usage

I have a problem to understand how the save class work. I have a code like that (SYSTEM partition is already mounted, the save file exists and Minerva is used):

save = readsave("bis:/save/8000000000000050")
save_file = save.read("file")

When the "save.read("file")" command is executed, the script exit with an error so I think I don't understand how the path in the save work so I need your help... again.

building Using MSYS

Hi I am setting up a MSYS environment to build Tegra Explorer, the steps I follow are:

Then Run:
pacman -Syuu --noconfirm
Until get "there is nothing to do" response
on /etc/pacman.conf add to end:

[dkp-libs]
Server = https://pkg.devkitpro.org/packages

[dkp-windows]
Server = https://pkg.devkitpro.org/packages/windows/$arch/

Then install the DevKitPro with the commands:

pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com

pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0

pacman-key -l BC26F752D25B92CE272E0F44F7FD5492264BB9D0

pacman -U --noconfirm https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.xz

pacman -Syuu --noconfirm

After that Install the minimum packages:

pacman -Sy --needed --noconfirm git make devkitARM mingw-w64-x86_64-gcc

Clone the repository

git clone --recursive https://github.com/suchmememanyskill/TegraExplorer.git

And compile it:

cd TegraExplorer

export DEVKITPRO=/opt/devkitpro
export DEVKITARM=${DEVKITPRO}/devkitARM
export DEVKITPPC=${DEVKITPRO}/devkitPPC

export PATH=${DEVKITPRO}/tools/bin:$PATH

make

All works "fine" until the end but get the message:

make[1]: Leaving directory '/home/Impeeza/TegraExplorer/loader'
Payload size is 153061
Compressed Payload size is 1160
Max size is 126296 Bytes.
\e[1;33mPayload size exceeds limit!\e[0m

I am missing some step?

Nothing shows on tegraexplorer.

Im trying to unbrick my switch, but i cant. Tegraexplorer wont show anything. I just have a white screen As shown on image.
WhatsApp Image 2021-12-10 at 2 35 57 PM
.

Switch stays blank after injecting the payload

I have injected the payload using TegraRcmGui and the screen stays blank.

I have tried versions 2.0.4 and 2.0.3, also I have tried both 2.0.3 and 2.0.4 with the SD card inserted.

The SD card is formatted with exfat and has (just) the bootloader folder of Hekate on it. I am using: hekate - CTCaer mod v5.3.0 & Nyx v0.9.2.

I did have 2.0,4 working once, but it didn't have the options to either format the SD card or dump the firmware.

How ByteArray work

I don't understand how ByteArray work, I think I need a small example. For example if I want to write "AbCd" in a file "test.txt" in the root of my SD, how should I use the fileWrite() function (this could be an example to integrate in the readme of TegraScript project)?

Thanks.

Can't add SD prep files after formatting via TegraExplorer

After formatting 64gb SD with TegraExplorer payload, no open partition to add files to. There's the 16gb unallocated, 30.3gb (other), and 29.2gb (unformatted). Should I format the unformatted partition to FAT32 to add the CFW files or the other partition?

Request: Ability to add symbolic links

Hi there,

I just discovered your great app while searching for a payload based file explorer for Nintendo Switch. There were none when i looked last year.

I want to use it with my Nintendo Switch with a broken SD Card module connector (not the module, the connector on the mainboard) so that i can reuse it again. If i can route the sdcard path to a folder on nand via a symbolic link and copy files for cfw there maybe it will work.

Is it possible we can create symbolic links like in linux in TegraExplorer GUI or via a TegraScript?

Thank you for this great app, keep the good work. ;)

black screen on OLED

It seems to work on OLED(I can feel joycon shaking),but the screen doesn't show anything.

v2.0.0 Controls UnResponsive

awesome to see new release, got it installed via HB App Store, loaded over to Bootloader>Payload folder. Boot it up from Hek menu. Sadly, first impression looks good, lastly it ended terrible...can not shut down properly due to Navigation Keys are Not Working. Joy Con dont work. detach Joy Con, traditional Vol + - / Pwr don't work either.

Switch: 10.0.2 / Kosmos 16

Error 16

Hi there,
Something is wrong my switch lately and I can't boot it anymore. I tried to wipe my switch using the systemwipe.te and TegraExplorer.bin. I get an error,
err: 16
line: 223
file: source/main.c
desc: E Reset.

What is going on?

I get an error after injecting dump_biskey error code 57

I'm not sure what I have done wrong,
SysNAND 11.0.1
EmuMMC 10.2.0
Hekate 5.5.1
Atms 16.1

Wanted to dump my sysNAND to update emuMMC using day break, I have managed to successfully download my Prodkeys with lock pick.

Your help would be much appreciated. Thanks

Blank Screen

Upon injecting the payload, nothing comes up on my Switch's screen. How can I resolve this?

Using dump fw script freezes?

Im trying to dump my fw using the dump firmware script. It shows my current firmware is 13.1.0 but nothing else seems to happen and there is nothing else I can select. Is this supposed to take hours or have I done something incorrectly? I injected the payload via hekate on my mariko switch with a SX Core chip. I cannot seem to find any information on this new release of tegraexplorer that covers this and I find it very odd that nothing is happening whatsoever so I figured I would ask here.ny information on this new release of tegraexplorer that covers this and I find it very odd that nothing is happening whatsoever so I figured I would ask here.

ERROR NO FAT

When I try to use tegraexplorer to run systemwipe I get error saying can’t mount system because of no fat
image

I have a mariko console. Do I need to flash the chip with spacecraft?

blanck screen

When I inject it, it just stays a blank screen.

this is the output

yes, is connected on an USB 3 (blue)

carlos@carlos-zbook:~/Desktop/respaldo/fusee-interfacee-tk-linux$ sudo ./PayloadInjector 
[sudo] password for carlos: 

Important note: on desktop Linux systems, we currently require an XHCI host controller.
A good way to ensure you're likely using an XHCI backend is to plug your
device into a blue 'USB 3' port.

Identified a Linux system; setting up the appropriate backend.
Found a Tegra with Device ID: b' _SOME HEX CODES_ '

Setting ourselves up to smash the stack...
Uploading payload...
Smashing the stack...
skipping checks
The USB device stopped responding-- sure smells like we've smashed its stack. :)
Launch complete!

tried with v3.0.4 and 3.0.2.
injected using linux payload injector v1.0.1 also tried with android REKADO app.

any help?

Dump/restore on nand is very slow.

Hi,

I've the script below witch is verry slow (I think it will take 3 or 4 ours to dump or restore the nand), is it normal? I've the "libsys_minerva.bso" in "bootloader\sys" in my SD.

Here is the script:

#REQUIRE VER 4.0.1
#REQUIRE MINERVA
#REQUIRE KEYS
#REQUIRE SD

restoreFolderPath = "sd:/dump"
BOOT0Path = combinepath(restoreFolderPath, "BOOT0.bin")
BOOT1Path = combinepath(restoreFolderPath, "BOOT1.bin")
PRODINFOPath = combinepath(restoreFolderPath, "PRODINFO.bin")
PRODINFOFPath = combinepath(restoreFolderPath, "PRODINFOF.bin")
BCPKG1Path = combinepath(restoreFolderPath, "BCPKG2-1-Normal-Main.bin")
BCPKG2Path = combinepath(restoreFolderPath, "BCPKG2-2-Normal-Sub.bin")
BCPKG3Path = combinepath(restoreFolderPath, "BCPKG2-3-SafeMode-Main.bin")
BCPKG4Path = combinepath(restoreFolderPath, "BCPKG2-4-SafeMode-Sub.bin")
BCPKG5Path = combinepath(restoreFolderPath, "BCPKG2-5-Repair-Main.bin")
BCPKG6Path = combinepath(restoreFolderPath, "BCPKG2-6-Repair-Sub.bin")
SAFEPath = combinepath(restoreFolderPath, "SAFE.bin")
SYSTEMPath = combinepath(restoreFolderPath, "SYSTEM.bin")
USERPath = combinepath(restoreFolderPath, "USER.bin")

if (fsexists(restoreFolderPath) == 0) {
	mkdir(restoreFolderPath)
}
println("BOOT0")
emmcread(BOOT0Path, "BOOT0")
println("BOOT1")
emmcread(BOOT1Path, "BOOT1")
println("PRODINFO")
emmcread(PRODINFOPath, "PRODINFO")
println("PRODINFOF")
emmcread(PRODINFOFPath, "PRODINFOF")
println("BCPKG2-1-Normal-Main")
emmcread(BCPKG1Path, "BCPKG2-1-Normal-Main")
println("BCPKG2-2-Normal-Sub")
emmcread(BCPKG2Path, "BCPKG2-2-Normal-Sub")
println("BCPKG2-3-SafeMode-Main")
emmcread(BCPKG3Path, "BCPKG2-3-SafeMode-Main")
println("BCPKG2-4-SafeMode-Sub")
emmcread(BCPKG4Path, "BCPKG2-4-SafeMode-Sub")
println("BCPKG2-5-Repair-Main")
emmcread(BCPKG5Path, "BCPKG2-5-Repair-Main")
println("BCPKG2-6-Repair-Sub")
emmcread(BCPKG6Path, "BCPKG2-6-Repair-Sub")
println("SAFE")
emmcread(SAFEPath, "SAFE")
println("SYSTEM")
emmcread(SYSTEMPath, "SYSTEM")
println("USER")
emmcread(USERPath, "USER")
println("")
println("Finished, press any keys to continue.")
pause()
exit()

Fat32 done incorrectly

After using this tool, the fat32 partition cannot be resized with other tools, unless formatted "properly".

is this supported on 15.0.1

I know it was a minor update that didn't affect atmosphere, hekate nor sigpatches, but did it affect tegraexplorer?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.