ROM Hack Modified NTR Client with Gateshark support

Status
Not open for further replies.

Deleted member 369977

Felyne Hunter
OP
Member
Joined
Aug 16, 2015
Messages
383
Trophies
0
XP
346
Country
Germany
Hello, GBAtemp.
Some weeks ago I created a fork of the original NTR debugger made by cell9 from the following github page: https://github.com/44670/NTRClient . My intention was to create some easier cheating methods for the 3ds then having to write a NTR plugin yourself or buying gateway. I also wanted to make it easier for people to start working with the NTR debugger, therefor I added some buttons to make life easier. Since some of you have already seen this debugger on reddit I finally decieded to make a post here. Also because people wanted to use gateshark codes with NTR.

This does only work with kernel access. You need a sysNAND version of 9.2 or below. I'd recommend using NTR on emuNAND. All versions are supported.

I'm no longer working on this project. If somebody wants to for the project, go to the github page and do so. Hope somebody does so.

Basic tab
This is the "BASIC" tab as of Version 1.2-2
6614350c601419ff98658e6585799a23.png

As you can see in the first tab I created separate buttons to 'connect', 'disconnect', 'list all processes', 'see the memlayout', 'dump a file of a specified memregion', 'See an address' and 'write to an address'.
When starting your 3ds you have to start NTR first with any method you like. I prefer the BootNTR cia for version NTR 3.3. When you started NTR press X+Y and start the debugger. When that's finished just connect the debugger on your pc by entering the Nintendo 3ds IP address in the corresponding textfield. Press 'Connect'. This might take some tries, NTR is pretty buggy when connecting. Often the connection will just 'Timeout' after maybe 30 seconds. If that happens you have to try again. This is a problem with NTR itself. Once you connected start a game and press the 'List processes' button. You should see a list of all currently running processes on your 3ds. One of them should stand out. Game Process names often start capitalized or are in full caps. The process name is not the same as the game name. 'Monster Hunter 4 Ultimate' for example has the process name 'REDGIANT'. Next to the process list you should see the PID of that process. Enter the PID, which looks something like: 29, 2A, 3A, 3F, 34.. etc , into the 'Process PID' textbox - You mustn't write the 0x in front of the PID.

Once you finished setting up everything you can finally start using cheats. I prepared some sample cheatcodes in the corresponding tabs ( EUR, USA, JPN ), but there aren't very many. You might also notice the Gateshark tab. For some gateshark instructions please open the following SPOILER
The gateshark tab as of version 1.2-2
df9516be9ef3d13a0fc83ecc8fff9be1.png


This is the gateshark tab. You can use most gateshark codes using this. Codes that require button presses will ignore the button presses, since you can't emulate this. There are also a few not yet supported gateshark codes, mostly the conditional codes. If your code doesn't work, please report it in the comments.

To find gateshark codes go to http://www.fort42.com/gateshark/

Using the gateshark codes with the modified NTR debugger:
Once you grabbed a gateshark code from fort42 simply insert it into the textbox with the default code
Code:
00000000 00000000
and override it. Press 'Try Gateshark' first to see this code can be compiled. This doesn't automatically mean the code will work! If some numbers and letters appeared in the right textbox hit 'Execute Gateshark'. This will execute it.

For gateshark codes that have multiple different effect depending on the button presses, please split them using the following:
To split a gateshark code into multiple different codes we will use the following example ( because I'm bad at explaining )
Code:
B8100000 00000000  ; READ OFFSET FROM 8100000
DD000000 00000001 ; BUTTON COMBO INDEX 1
00100000 12345678  ; WRITE 12345678 TO 100000
D0000000 00000000  ; END BUTTON COMBO
DD000000 00000002  ; BUTTOM COMBO INDEX 2
00200000 90ABCDEF  ; WRITE 90ABCDEF TO 200000
D0000000 00000000  ; END BUTTON COMBO

We can split this code into 3 different parts. The following spoiler shows the same code again, with the parts infront of the lines:
Code:
1 : B8100000 00000000  ; READ OFFSET FROM 8100000
2 : DD000000 00000001  ; BUTTON COMBO INDEX 1
2 : 00100000 12345678  ; WRITE 12345678 TO 100000
2 : D0000000 00000000  ; END BUTTON COMBO
3 : DD000000 00000002  ; BUTTOM COMBO INDEX 2
3 : 00200000 90ABCDEF  ; WRITE 90ABCDEF TO 200000
3 : D0000000 00000000  ; END BUTTON COMBO
As you can see part 2 and 3 are the individual codes with the button presses in front of them. Part 1 is needed for both part 2 and part 3, since it's written without any button combo needed. That way we can split this into 2 different codes. It will look the following:

Code:
[OUR CODE 1]
B8100000 00000000  ; READ OFFSET FROM 8100000
DD000000 00000001  ; BUTTON COMBO INDEX 1
00100000 12345678  ; WRITE 12345678 TO 100000
D0000000 00000000  ; END BUTTON COMBO

[OUR CODE 2]
B8100000 00000000  ; READ OFFSET FROM 8100000
DD000000 00000002  ; BUTTOM COMBO INDEX 2
00200000 90ABCDEF  ; WRITE 90ABCDEF TO 200000
D0000000 00000000  ; END BUTTON COMBO

Don't worry about the unneccessary Button combos, the debugger will simply ignore them.
Well done, you just split your code into 2. You can also ask me if you need help. That's no problem :)

Here are some screenshots of the modified NTR debugger.
When starting the debugger
c8e7f6ecda9af8b1b7c55563b19878e9.png

NTR debugger in use:
2cb7adcffd7a4cd06dc99e205b4517a7.png

As of version 1.4 I started making some small previews of upcoming features. If you want to view them just open the following spoiler

Clearing the log
35b54eb306a13ccb204df0784cfba19a.gif

Heartbeat codes - Gateshark codes automatically executed all 4 seconds.
a4422b135b7e321c63abc0474f073144.gif

Update checker
10f36af574ab5a8a5bf93a6001466491.gif

Selecting a process:
eaefc3b8fbb6ad239c8dd7d1ec399803.png

Download link: https://github.com/imthe666st/NTRClient/releases
Having an issue or an idea for an enhancement? : https://github.com/imthe666st/NTRClient/issues ( or just post it in the comments right here)
Having issues with booting NTR? Take a look http://gbatemp.net/threads/release-ntr-cfw-3-2-with-experimental-real-time-save-feature.385142/


DISCLAIMER
I am in no way responsive or to blame if you get caught cheating online and get banned. This is primarily for singleplayer use only! If you got banned it's your own fault!
 
Last edited by Deleted member 369977,

Chris_Highwind

Well-Known Member
Member
Joined
Mar 21, 2010
Messages
437
Trophies
1
Age
33
Location
Mooresville, NC
XP
572
Country
United States
Ok, so I tried the newest version, and shockingly, I was able to connect even on WINE. Unfortunately, after entering the game's process and trying to paste a Gateshark code, the client window immediately disappears with no error, and using a wineconsole shows an Index Out of Range error.
 

KillzXGaming

Well-Known Member
Member
Joined
Jan 2, 2016
Messages
1,629
Trophies
0
Age
28
XP
1,618
Country
United States
Also confused on the Nintendo IP part? Do you use your own IP, or is the debugger on the 3DS supposed to show you the IP to use?
 

Deleted member 369977

Felyne Hunter
OP
Member
Joined
Aug 16, 2015
Messages
383
Trophies
0
XP
346
Country
Germany
I don't like to create accounts on websites I don't intend to use frequently, so I don't have a github account. However, I just recreated the error and took a screenshot of the console window.
Seems like that's an error in the Forms itself. I don't think I can do anything about that, sorry :s It seems to have issues with accessing the clipboard or something. :/


Feature request: Working breakpoints on O3DS(XL) please.
I haven't looked into Breakpoints yet. I'll take a look into it later.
 

DarkFlare69

Well-Known Member
Member
Joined
Dec 8, 2014
Messages
5,147
Trophies
2
Location
Chicago
XP
4,750
Country
United States
All I found by xihx was a tool to convert gateshark to "NTR debugger codes". Only including the writing commands. . This debugger allows all Gateshark codes and dynamic offsets.
It's unreleased.

However I dont think his has support for dynamic, so I'd rather use yours.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: