If i will run the SX_License_Hack.py i get the error:
ModuleNotFoundError: No module named 'Crypto'
Any help?
Thanks.pip install pycryptodome in CMD
What is that? XCI mounting incoming for Atmosphere?
Did you even notice that I quoted you here?XCI are cartridge dump, NSP are eshop dump. We are not going to get XCI mounting from Team Reswitch, another developer probably have to do it, Xortroll tried but ultimate archived his fsp-usb project.
Did you even notice that I quoted you here?
https://gbatemp.net/threads/hack-sxos.582831/page-57#post-9483202
Please stop spreading false info about XorTroll. He was never interested to bring XCI mounting to Atmosphère. Not even for a second. He considers that to be piracy related and he hates piracy.
He "just" worked on USB support for homebrew in general which DarkMatterCore eventually achieved later on with his library (which for example pPlay is using now).
Perhaps you didn't read what I wrote.https://github.com/XorTroll/fsp-usb
Perhaps you are blind, he was working on fsp-usb to mount and access drive and then he archived the project.
Perhaps you didn't read what I wrote.
"Enabling USB support for Atmosphère" and "XCI mounting from USB" are two different things. XorTroll tried to achieve the first (what DarkMatterCore later actually did) but he was never interested in the latter!
No offense here buddy. Just sayin'. Both your posts read like XorTroll tried to achieve XCI mounting from USB while he certainly did not.
nobody said anything when popstarter was modified to support HDD, just like Nintendont. The idea of being persecuted and imprisoned only applies if you market how I use Xecuter, the rest is already the responsibility of the user if you use what you modify from said chargers, and in this case, SXOS. For now, no one wants to support HDD emulators, much less NSP-XCI for the same reason, even though that library already exists.
If I can emulate Amiibos, you can do it with cartridges. Maybe he is already doing it personally ... oh, and when someone does, he will come saying that he is surprised that they have not done it before.XorTroll never tried to achieve XCI mounting. He only tried to make USB accessable from within Atmosphère which now is the case thanks to DarkMatterCore and his library.
lolIf I can emulate Amiibos, you can do it with cartridges.
I don't second XorTroll's opinion about what piracy is and what not (he considers NSZ files to be piracy thus he didn't include NSZ support in Goldleaf while he - as you stated - supported NSP files ever since) but in general he is strictly against piracy.You know you need access to drive in order to mount content from that drive, you said he hate piracy why he created goldleaf, that is a title installer. ScireM would be a better example of someone who doesn't support piracy.
lol
Because man-in-the-midd'ling the NFC background service is the same cup of tea as fooling the system into thinking an XCI file is a cartridge that I put in.
The latter is locked up behind keys and not as much researched as Amiibos which are literally hacked since the 3DS/Wii U era.
Of all persons capable of providing an XCI mounter I think the only one that really would do it (from a moral perspective) might be Blawar.
I don't second XorTroll's opinion about what piracy is and what not (he considers NSZ files to be piracy thus he didn't include NSZ support in Goldleaf while he - as you stated - supported NSP files ever since) but in general he is strictly against piracy.
As is SciresM and as is m4xw (the dev of Horizon's RetroArch port).
All of them have different opinions about what counts as piracy and what not.
As mentioned, XorTroll approves NSP while he dislikes NSZ.
m4xw ported multiple emulators but he refused to include USB support into RetroArch for - as he said - anti-piracy reasons.
You might think "lol", especially about the latter, but yeah. They are individuals and have their individual definition about what piracy includes and what not. I personally don't see why it's a difference for RetroArch whether I can use a 1 TB mSD card or an external 1 TB SSD for my roms and many people might agree with me here (especially since for example the Wii U port of RetroArch does support USB) but it's not for us to decide.
Still everyone is free to create a pull request with a USB support implementation for RetroArch. I for myself am not able to do so though.
But yes (to answer your question), I know that USB access is needed for XCI mounting (obviously). Still XorTroll only wanted USB access in general for things like pPlay or other homebrews but definitely never for XCI mounting (although it could have lead to it). On the other hand, we have it now thanks to DarkMatterCore and it hasn't lead to it yet.
Look guys, you are going WAY OFF topic, this thread is about SXOS hacking - so start a new thread for your petty squabbles and keep it out of this one. Now try and get back on topic, you know - about SXOS.Because NSZ and XCZ are not official formats, XCI and NSP are official formats. Websites that host warez doesn't allow compressed format. You said he doesn't support piracy then why he created Goldleaf.
Have u fix your GFX soft ?Look guys, you are going WAY OFF topic, this thread is about SXOS hacking - so start a new thread for your petty squabbles and keep it out of this one. Now try and get back on topic, you know - about SXOS.
Are we to believe that it is all about the morality of being against 'piracy' and not about wanting to incur on nintendo wrath by crossing this imaginary line that people for whatever reason seem to believe nintendo has put in place regarding XCI loading despite the fact that one can already perfectly play all games on NSP format and at the same time install XCI games? In a world where nintendo didn't care and 'piracy' was totally legal would anyone really think that 'morality reasons' for not developing an XCI loader would even be consider?lol
Because man-in-the-midd'ling the NFC background service is the same cup of tea as fooling the system into thinking an XCI file is a cartridge that I put in.
The latter is locked up behind keys and not as much researched as Amiibos which are literally hacked since the 3DS/Wii U era.
Of all persons capable of providing an XCI mounter I think the only one that really would do it (from a moral perspective) might be Blawar.
I don't second XorTroll's opinion about what piracy is and what not (he considers NSZ files to be piracy thus he didn't include NSZ support in Goldleaf while he - as you stated - supported NSP files ever since) but in general he is strictly against piracy.
As is SciresM and as is m4xw (the dev of Horizon's RetroArch port).
All of them have different opinions about what counts as piracy and what not.
As mentioned, XorTroll approves NSP while he dislikes NSZ.
m4xw ported multiple emulators but he refused to include USB support into RetroArch for - as he said - anti-piracy reasons.
You might think "lol", especially about the latter, but yeah. They are individuals and have their individual definition about what piracy includes and what not. I personally don't see why it's a difference for RetroArch whether I can use a 1 TB mSD card or an external 1 TB SSD for my roms and many people might agree with me here (especially since for example the Wii U port of RetroArch does support USB) but it's not for us to decide.
Still everyone is free to create a pull request with a USB support implementation for RetroArch. I for myself am not able to do so though.
But yes (to answer your question), I know that USB access is needed for XCI mounting (obviously). Still XorTroll only wanted USB access in general for things like pPlay or other homebrews but definitely never for XCI mounting (although it could have lead to it). On the other hand, we have it now thanks to DarkMatterCore and it hasn't lead to it yet.
huh - what are you on about?
Where to put this on SX_License_Hack.py ?
And @mrdude : can u fixe SXOS-GFX.exe, it crash when you have already out folder and he delete the folder after the crash
Yeah SXOS-GFX.exe crashed for me too but it did delete the folder.
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <direct.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <iostream>
#include <cstdint>
#include <filesystem> // C++17 standard header file name
using namespace std::filesystem;
const char gfxin[13][20] = { {"themes/menu_bg.bmp"},
{"themes/bootcfw.bmp"},
{"themes/holder.bmp"},
{"themes/bootofw.bmp"},
{"themes/options.bmp"},
{"themes/core.bmp"},
{"themes/autorcm.bmp"},
{"themes/nand.bmp"},
{"themes/emunand.bmp"},
{"themes/repair.bmp"},
{"themes/launch.bmp"},
{"themes/poweroff.bmp"},
{"themes/splash.bmp"} };
const char gfxout[13][20] = { {"out/menu_bg.bin"},
{"out/bootcfw.bin"},
{"out/holder.bin"},
{"out/bootofw.bin"},
{"out/options.bin"},
{"out/core.bin"},
{"out/autorcm.bin"},
{"out/nand.bin"},
{"out/emunand.bin"},
{"out/repair.bin"},
{"out/launch.bin"},
{"out/poweroff.bin"},
{"out/splash.bin"} };
int size_gfx[13] = { 0x3c1000,0x41000,0x41000,0x41000,0x41000,0x5000,0x5000,0x5000,0x5000,0x5000,0x5000,0x5000,0x3c1000 };
int size_gfx_reso_x[13] = { 0x2D0,0x100,0x100,0x100,0x100,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x2D0 };
int size_gfx_reso_y[13] = { 0x500,0x100,0x100,0x100,0x100,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x500 };
int size;
int main()
{
int count;
const char* directory = "out";
if (!_mkdir(directory) == 0)
{
for (const auto& entry : std::filesystem::directory_iterator(directory))
std::filesystem::remove_all(entry.path());
rmdir(directory);
}
for (count = 0; count < 13; count++)
{
int i;
int j;
int x;
int y;
//int z;
int size_header;
char* tmp_in;
char* tmp_out;
FILE* file_in;
FILE* file_out;
if ((file_in = fopen(gfxin[count], "rb")) == NULL) { printf("no file: %s \n", gfxin[count]); continue; }
tmp_in = (char*)malloc(size_gfx[count] * sizeof(char));
fread(tmp_in, size_gfx[count], 1, file_in);
size_header = tmp_in[0xa] & 0xff;
file_out = fopen(gfxout[count], "wb");
tmp_out = (char*)malloc(size_gfx[count] * sizeof(char));
if (count == 12) {
j = 0;
i = 0;
for (x = 1; x < (size_gfx_reso_y[count] + 1); x++)
{
for (y = size_gfx_reso_x[count]; y > 0; y--)
{
tmp_out[j + 0] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 2];
tmp_out[j + 1] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 1];
tmp_out[j + 2] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 0];
tmp_out[j + 3] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 3];
j += 4;
}
for (i = 0; i < 0xC0; i += 1)
{
tmp_out[j + i] = 0x0;
}
j += i;
}
}
else {
j = 0;
for (x = size_gfx_reso_x[count]; x > 0; x--)
{
for (y = size_gfx_reso_y[count]; y > 0; y--)
{
tmp_out[j + 0] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 2];
tmp_out[j + 1] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 1];
tmp_out[j + 2] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 0];
tmp_out[j + 3] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 3];
j += 4;
}
}
}
fwrite(tmp_out, (size_gfx[count] - 4096), 1, file_out);
fclose(file_out);
fclose(file_in);
free(tmp_in);
free(tmp_out);
printf("file convert success : %s \n", gfxin[count]);
}
printf("success !!!\n");
}