Separate names with a comma.
Discussion in '3DS - Flashcards & Custom Firmwares' started by DesuIsSparta, Feb 2, 2016.
no longer working on this, sorry
Cool. Good that you're doing this, since I hate seeing projects that have a lot of potential later on go to waste myself. Even if it's small changes.
I should get into trying out the NTR debugger, and if this client is in C#, I can definitely play around with it...
Worth mentioning i'm now working on a multiplatform version, being rewritten in Java.
Warning: Spoilers inside!
Many more features to be included in the multiplatform than the original, such as proper macros and better debugging.
Wanted to do this too , but I think it is yours now
With it I could make screenshot of NTR Menu? I want make screenshot of Menu NTR. How?
If you want, I suggest you to make another type of this. Typing commands looks cool sometimes, but it is not that easy to use.
Connect Dialog, Process List, Memory Layout, Data Dump/Data Write.. GUI with context menu.
You would need to use Delegate to pass data from Receive Thread to UI Thread to update data/view.
Yeah you can think after some time.. If you wish. And still good for you to take look at any code, yup.
Why the C# hate?
Either way lookin good.
If you were planning to do so in Java, I'll open source it soon so you can contribute if you're interested
Are you asking how to make a screenshot of the 3DS Screen while the NTR Menu is up? That's something you'd have to do from your CFW I believe.
No worries, commands are mostly optional, there will be a 'buttons mode' as well, for easier use. I personally prefer commands but buttons are good for people who don't like typing or who don't want to wait.
Good suggestion though!
Thanks I don't like c# because I have no idea how to organize the project properly.. I've used Java for a few years now so I'm pretty confident in my workflow. I use Maven for dependencies and compiling, JUnit for unit testing, and organize all of the files into single (mostly) class files in the appropriate packages. I try to write somewhat modular code, though I often get stressed over trying to write the most modular code possible and end up not working on the project so I'll just do what works and fix it when I have more time.
I would really like to use C#, since I do know how to program some things in it, however I haven't found a good project flow and structure resource, which kills me because I have some weird programming OCD.
I do not make screenshot while the NTR Menu is up, I hold "hot keys" or "take screenshot" but only do the screenshot when NTR Menu is down For this cause, I asked if with Debugger I could screenshot to the NTR Menu.
I don't know if it's possible, but i'll look into it. Better to ask the firmware developer, though, since this is simply a tool attached to the firmware, not an edit of the firmware itself.
I asked with him but he never answered. Is possible because in the web is possible see screenshot of old NTR versions:
any good tut's on how to use this i don't have a clue how to find cheats im used to cheat engine type thing
You are aware that the guy who took the screenshot might just be using a hardware capture card? There's no problem taking a screenshot with the NTR menu this way.
Quick question; does NTR Debugger work on Old3DS?
Sorry dude I really don't know. See the above reply, since it could just be a capture card used.
- Run CTR
- open the game
- enable debugger
- open debugger on your pc
- use command 'ListProcesses()' on the debugger
- Find your title ID in the processes listed, and take note of it's address (for example ALBW on my 3DS is 0x28)
- use command 'MemLayout(PROCESS ID)' to see the accessible memory ranges. For most games, your cheats will be in the 4000000 - MAX_SIZE range
- (OPTIONAL) Dump your current ram by using the 'Data' command. Example: "Data(START_ADDRESS, END_ADDRESS, file='FileName.OptionalExtension', pid=PROCESS_ID). Note: This can take a while, might be faster on N3DS. Mine usually takes about 5 minutes to dump. It's not a problem with the program, but rather a problem with the 3DS or the NTR firmware; i'm not sure which yet.
- Use command 'Data' to check the values at a certain address.
- Use command 'Write' to [over]write the data
Here's a better tutorial (I can't find the post but I take no credit for this).
Warning: Spoilers inside!
How to use NTR CFW + Debugger with ARCode Cheats
- A retail Cartridge or legit CIA buyed from eShop
(unsigned cia works with pre bootet PASTA CFW)
- Cubic Ninja with NTR QR Code
- NTR.BIN in root folder of internal memorycard
- Create empty file 'debug.flag' in root folder of internal memorycard
- NTR Debugger
- Activated WLAN with Internet and a PC in the same Network
debug.flag or activate it inside NTR Menu (press X+Y)
To connect to your console's IP use:
A few games disconnect wlan when playing movie / loading,
if that happens, don't close NTR Debugger, re-connect it!
To get your App/Game's PID:
(pid: 0x00000028, pname: redgiant, tid: 0004000000126100)
PID might change once per boot!
You can find TitleID's for games here: http://3ds.essh.co/
To write your value:
write(0x<OFFSET>, (0x<VALUE>, 0x<VALUE> ,0x<VALUE> ,0x<VALUE>), pid=0x<PID>)
OFFSET = Cheat Offset // VALUE = The Value you want to write // PID = The Apps/Games Process ID
- Start Cubic Ninja and execute NTR Exploit
- Start your desired game
- Start NTR Debugger on PC
- Connect NTR Debugger Example: connect('192.168.1.100', 8000)
- To get the PID, write listprocess() and look for your Games TitleID (TID)
As example i took PID 0x28.
Now how to use ARCode:
-=[Paper Mario Sticker Star]=-
NTR will be 14000000 + ARCode Offset = OFFSET:
write(0x16CBCE9C, (0x0F, 0x27 ,0x00 ,0x00), pid=0x28)
If the resulting value beyond valid memory range,
you will have to calculate it like explained here: >CLICK<
Depending on what you cheated, it might be necessary to
buy/sell,enter/exit map/house or gain exp to take affect.
To dump your games flash memory:
Display Apps/Games Memory Layout:
Example MH4U (EUR):
00100000 - 0111dfff , size: 0101e000
08000000 - 0b13efff , size: 0313f000
0ffc0000 - 10000fff , size: 00041000
10002000 - 10002fff , size: 00001000
1e800000 - 1e9fffff , size: 00200000
end of memlayout.
You have to find the region where your value
belongs to! In most cases, it will be inside
the region that covers offset around 14000000!
To DUMP memoryregions:
data(0x<START OFFSET>, 0x<size>, filename='<name of the file>', pid=0x<PID>)
To find cheats:
Make as many dumps you need and use Cheatengine to find your offset.
Dump 01 > 1000
Dump 02 > 2000
To use Cheatengine with dumped files:
Press "Open Process", then press "Open File" and choose
your file. After searching, switch to the next dump.
To get the real offset from Cheatengine to NTR it's:
<START OFFSET> + <FOUND OFFSET> = <OFFSET>
To write the offset with your value (4 Bytes): (Example 50000 dec // 0000C350 Hex)
write(0x<OFFSET>, (0x50 ,0xC3 ,0x00 ,0x00), pid=0x<PID>)
To export the offset to ARCode (HEX):
<START OFFSET> + <FOUND OFFSET> - 14000000 = <ARCode OFFSET>
If the result is negative (<0), ARCode is unable to use the cheat if you don't convert it!
Arcode > NTR will work like explained here: >CLICK<
For a few games, the found offset is not fixed and you need to find it once per use.
You are free to copy my Tutorial as long you share it for everyone!
Yes. I use the O3DS XL. NTR works on any device whose base firm is supported. If you're running through ReiNand or RXTools you're good to go. my 3DS emunand needed to be updated in order for it to work, though (9.2 -> 10.5)
Ah, that's brilliant! So it should be able to work on rxtools 10.3 emunand then.