thxoriginal file name was GW_OMEGA_2.2_RELEASE.zip
that should make it easier
thxoriginal file name was GW_OMEGA_2.2_RELEASE.zip
that should make it easier
I posted a guide to setting up NTR1 in your thread earlier, along with a link to the translated release thread on the Chinese forum.nice, very nice
But I can't find a downloadlink for NTR CFW 1.0 and no tutorial that describes how to install it x_x
Can you post it for me?
You don't have to look very far, it's still available on Gateway's server.Thanks
Problem: Can't find any downloads for Gateway 2.2 right now x_X
Weird.
NTR's not been mega reliable at booting for me.
I've had to uninstall and reinstall a few times... it does work occasionally,
but the common issue is... it gets to freeing memory. and halts at 00000063.
Is this a common fault and I just haven't googled properly?
New 3ds. Eur version. 9.2.0-20 fw.
Yes, I believe so. Working on a plugin?
I'm kind of stuck trying to do the equivalent of write(...) in the NTR debugger from a plugin. E.g. for the eshop patch.
Anyone know of any sort of documentation at all for the svc_* functions? VS shows the arguments at least, but that's apparently not enough to get it working.
old3DS owners can use NTR 1.0It would be a very awesome solution for new3ds, but when will be available for o3ds?
old3ds support is working in progress, however it is not at the top priority and maybe you have to wait a long time.
working example code: https://github.com/yuriks/3ds-process-dumper
Also, I'm asking myself why NTR does not use other stuff that's available and known to work reliably and stable, such as libkhax?
edit: or wouldn't using libkhax result in a 100% success rate?
nim handle: 0086003b, ret: 00000000
debugActiveProcess failed, ret: f8c007f4
nimDebug handle: 00000000
svc_readProcessMemory ret: d9002002
svc_writeProcessMemory ret: d9002002
#include "global.h"
Handle fsUserHandle;
FS_archive sdmcArchive = {0x9, (FS_path){PATH_EMPTY, 1, (u8*)""}};
u32 doPatch() {
u32 ret;
u32 nimPid = 0x00000025;
Handle nim = 0;
Handle nimDebug = 0;
const char patch[] = { 0x00, 0x20, 0x08, 0x60, 0x70, 0x47 };
ret = svc_openProcess(&nim, nimPid);
if (ret != 0) {
showDbg("openProcess failed, ret: %08lx", ret, 0);
}
showDbg("nim handle: %08lx, ret: %08lx", (u32)nim, ret);
ret = svc_debugActiveProcess(&nimDebug, nimPid);
if (ret != 0) {
showDbg("debugActiveProcess failed, ret: %08lx", ret, 0);
}
showDbg("nimDebug handle: %08lx, ret: %08lx", (u32)nimDebug, ret);
char buf[0x3F] = { 0 };
ret = svc_readProcessMemory(buf, nimDebug, (u32)0x14E1BC, 0x3E);
showDbg("str: %08lx, ret: %08lx", (u32)*buf, ret);
ret = svc_writeProcessMemory(nimDebug, &patch, (u32)0x10DD28, sizeof(patch));
showDbg("ret: %08lx - wrote to nim", ret, 0);
return 0;
}
int main() {
initSharedFunc();
nsDbgPrint("initializing eshop plugin\n");
plgGetSharedServiceHandle("fs:USER", &fsUserHandle);
plgRegisterMenuEntry(1, "Patch eShop", doPatch);
}
No. You'll have to downgrade to 4.5 if you want to use it.Thanks,then will the ntr cfw 1.0 for o3ds 9.2?
Is that your code? That gives me the right syntax at least, but now I have no way of knowing if it doesn't work because of NTR not giving access, or another code issue...
If NTR doesn't give the permissions, then it's just not possible right?
Code:nim handle: 0086003b, ret: 00000000 debugActiveProcess failed, ret: f8c007f4 nimDebug handle: 00000000 svc_readProcessMemory ret: d9002002 svc_writeProcessMemory ret: d9002002
Code:#include "global.h" Handle fsUserHandle; FS_archive sdmcArchive = {0x9, (FS_path){PATH_EMPTY, 1, (u8*)""}}; u32 doPatch() { u32 ret; u32 nimPid = 0x00000025; Handle nim = 0; Handle nimDebug = 0; const char patch[] = { 0x00, 0x20, 0x08, 0x60, 0x70, 0x47 }; ret = svc_openProcess(&nim, nimPid); if (ret != 0) { showDbg("openProcess failed, ret: %08lx", ret, 0); } showDbg("nim handle: %08lx, ret: %08lx", (u32)nim, ret); ret = svc_debugActiveProcess(&nimDebug, nimPid); if (ret != 0) { showDbg("debugActiveProcess failed, ret: %08lx", ret, 0); } showDbg("nimDebug handle: %08lx, ret: %08lx", (u32)nimDebug, ret); char buf[0x3F] = { 0 }; ret = svc_readProcessMemory(buf, nimDebug, (u32)0x14E1BC, 0x3E); showDbg("str: %08lx, ret: %08lx", (u32)*buf, ret); ret = svc_writeProcessMemory(nimDebug, &patch, (u32)0x10DD28, sizeof(patch)); showDbg("ret: %08lx - wrote to nim", ret, 0); return 0; } int main() { initSharedFunc(); nsDbgPrint("initializing eshop plugin\n"); plgGetSharedServiceHandle("fs:USER", &fsUserHandle); plgRegisterMenuEntry(1, "Patch eShop", doPatch); }
Because libkhax had only been available for two weeks and is still in Alpha?Also, I'm asking myself why NTR does not use other stuff that's available and known to work reliably and stable, such as libkhax?
edit: or wouldn't using libkhax result in a 100% success rate?