ROM Hack [Spider] ARCode

supermariorick

Well-Known Member
Member
Joined
Jun 18, 2010
Messages
640
Trophies
1
XP
816
Country
United States
assuming my noob experience with Cheat Engine is viable on memory dumps, i'll probably start making very simple Fantasy Life codes.... that is if the addresses for stuff like Lunares coins are static and not dynamic. If I can manage just that i'll probably attempt stats codes taking into account factors from the save editor in making codes. I'm not messing with stars and ranks though as that appears to have funky limitations set by the game and only the one who made the save editor for savedatafiler knows how it works and how to get around it afaik.
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,716
Trophies
2
XP
6,283
Country
No, just a pointer search app for the computer.

EDIT 2:
Pokémon Shuffle doesn't work either with a pointer. There's just one address for the decimal -> hexadecimal representation of the coins and it doesn't work. Any other ideas?
Base address might not be in 0x14....memory range, it could be in 0x001...memory range, that guarantees 99.x% static address and some 3ds games are more than level1,2,3 pointer, so you might need to search for pointer in pointer

Would love to see a pointer tool for 3DS :)
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,716
Trophies
2
XP
6,283
Country
V1.01
Based on the Action Replay DS Code Types

Use ar2bin to convert a cheat code into a cht file. By default, arcode.bin will load arcode.cht from the root.
How do you rebuild arcode.bin with the source code? I want to change CodeOffset = 0x14000000 to 0x00000000 so I could use ARCode to poke other memory regions.
Got this when I double click on build.bat:
Code:
arm-none-eabi-gcc -c -o code.o code.c -fPIE -fno-zero-initialized-in-bss -std=c9
9 -mcpu=mpcore -fshort-wchar -O3
make: arm-none-eabi-gcc: Command not found
make: *** [code.o] Error 127
I have already copied arm-none-eabi-gcc.exe into the arcode folder
 

KazoWAR

Well-Known Member
OP
Member
Joined
Aug 12, 2008
Messages
1,952
Trophies
1
Age
35
Location
Winter Haven
XP
2,129
Country
United States
How do you rebuild arcode.bin with the source code? I want to change CodeOffset = 0x14000000 to 0x00000000 so I could use ARCode to poke other memory regions.
Got this when I double click on build.bat:
Code:
arm-none-eabi-gcc -c -o code.o code.c -fPIE -fno-zero-initialized-in-bss -std=c9
9 -mcpu=mpcore -fshort-wchar -O3
make: arm-none-eabi-gcc: Command not found
make: *** [code.o] Error 127
I have already copied arm-none-eabi-gcc.exe into the arcode folder

https://launchpad.net/gcc-arm-embedded
 

pongozila

Well-Known Member
Newcomer
Joined
Jun 8, 2008
Messages
99
Trophies
1
XP
416
Country
Brazil
Hi guys, here's a new and interesting batch of Rune Factory 4 codes...

so I was looking for the backpack item values, which thanks to my friend Jernk for finding the address, I was able to mess with... So I was messing with the address and, GODDAMIT, it's messy this one... Since this game has more than 1000 items, they mixed the item type with the item quantity value ( they didn't have to, but they did it anyway). It's a bit confusing but for those who want to know it, here’s a quick (color coded) explanation:

Backpack item values:

SLOT 1
0260d4dc 0000KLMN à “MN=Item value (but depends on the value of L) / KL= item quantity (but depends on the value of L)”

Item Value(depend of item type)[0000KLMN]

The value of MN goes from 00 to FF but deppending on the value of L the resulting item changes.
Eg.
0260D4DC 00004848 = Antidote Grass on 1st item slot
0260D4DC 00004948 = Broadsword on 1st item slot
0260D4DC 00004A48 = Cheap Pole on 1st item slot
0260D4DC 00004B48 = Devil Horn on 1st item slot
0260D4DC 00004C48 = Crystals on 1st item slot

---

Item Quantity (depend of item type)[0000KLMN]

0L where L=8/9/a/b/c= 1 qtd
1L where if L=0/1/2/3/4= 2 qtd, if L=8/9/a/b/c= 3 qtd
2L where if L=0/1/2/3/4= 4 qtd, if L=8/9/a/b/c= 5 qtd
3L where if L=0/1/2/3/4= 6 qtd, if L=8/9/a/b/c= 7 qtd

4L where if L=0/1/2/3/4= 8 qtd, if L=8/9/a/b/c= 9 qtd

EG.
0260D57C 00000B48 = 1x Devil Horn
0260D57C 00001348 = 2x Devil Horn
0260D57C 00001B48 = 3x Devil Horn
0260D57C 00002348 = 4x Devil Horn
0260D57C 00002B48 = 5x Devil Horn
0260D57C 00003348 = 6x Devil Horn
0260D57C 00003B48 = 7x Devil Horn
0260D57C 00004348 = 8x Devil Horn
0260D57C 00004B48 = 9x Devil Horn


---

Anyway... at least the item Lvl is simple... like this:
SLOT 1
0260d4e0 zzyyxxww --- zz=1st item lvl / yy=2nd item lvl / xx=3rd item lvl / ww=4th item lvl /
0260D4e4 vvuuttss --- vv=5th item lvl / uu=6th item lvl / tt=7th item lvl / ss=8th item lvl /

0260D4E8 000000rr --- rr=9th item lvl


---

Now for the other slots just add +28 to the first offset (same goes to the item lvls addresses)... so like
SLOT 1 = 0260d4dc
SLOT 2 = 0260d504
SLOT 3 = 0260D52C
...
SLOT 45 = 0260dBBC


You all got that? Good, good... enjoy!

EDIT: just a few more things... Worth it if you play this game!

9 levelisers lvl10 on 1st Slot
0260d4dc 0000487A
0260d4e0 09090909
0260D4e4 09090909
0260D4E8 00000009

Full Fertilizer bin
039E0280 0000C350

Full Fodder stock

030AF1E8 0000C350
 
  • Like
Reactions: jernk and samiam144

BullyWiiPlaza

Nintendo Hacking <3
Member
Joined
Aug 2, 2014
Messages
1,932
Trophies
0
XP
2,477
Country
Germany
How do you rebuild arcode.bin with the source code? I want to change CodeOffset = 0x14000000 to 0x00000000 so I could use ARCode to poke other memory regions.
Got this when I double click on build.bat:
Code:
arm-none-eabi-gcc -c -o code.o code.c -fPIE -fno-zero-initialized-in-bss -std=c9
9 -mcpu=mpcore -fshort-wchar -O3
make: arm-none-eabi-gcc: Command not found
make: *** [code.o] Error 127
I have already copied arm-none-eabi-gcc.exe into the arcode folder

Do this guide and you'll be able to compile:


Would love to see a pointer tool for 3DS :)
I have it coded for level 1 pointers but I yet have to find an example for which it works. The same logic applies to Wii games so it's not a big deal to "port" it to the 3DS.

On Pokémon Shuffle there's no dynamic coins address, just a static one which doesn't work.
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,716
Trophies
2
XP
6,283
Country
Do this guide and you'll be able to compile:
Thanks, I download the zip file before (there was no installation). After installed the .exe file, now it builds fine.
But run into a problem:
100% code static address: 16197A40
using the default settings CodeOffset = 0x14000000 to create arcode.bin
02197A40 000003E7 (works fine)

But, changing all 0x14000000 to anything else, there is no effect
CodeOffset = 0x00100000;
16097A40 000003E7 (no effect)
CodeOffset = 0x00000000;
16197A40 000003E7 (no effect)

I have it coded for level 1 pointers but I yet have to find an example for which it works. The same logic applies to Wii games so it's not a big deal to "port" it to the 3DS.

On Pokémon Shuffle there's no dynamic coins address, just a static one which doesn't work.
the problem is this app only dumps memory range 0x14XXXXXX-0x1XXXXXXXX but the pointer base address could be in 0x001 (if code is in 0x14XXXXXX and up) or in (0x001 or 0x08) if code is in 0x08XXXXXX
valid memregions:
00100000 - 00741fff , size: 00642000
08000000 - 085e5fff , size: 005e6000
0ffc0000 - 10000fff , size: 00041000
10002000 - 10002fff , size: 00001000
14000000 - 17397fff , size: 03398000
so you might not be able to find a base pointer address in just 0x14xxxxxx memory dumps

for example Super Mario Bros 2: lives in 0x14XXXXXX
0x005E61E8 (base address) + 0x80 = Lives
 

samiam144

Régulier
Member
Joined
Aug 19, 2007
Messages
2,875
Trophies
0
XP
1,742
Country
Canada
Mario Kart 7

Code:
Coin x9999
0013CB10 0000270F
00144478 0000270F
0172DF48 0000270F
0175DD7C 0000270F
01780850 0000270F
 
Coin x19999
0013CB10 00004E1F
00144478 00004E1F
0172DF48 00004E1F
0175DD7C 00004E1F
01780850 00004E1F
 
Coin x99'999
0013CB10 0001869F
00144478 0001869F
0172DF48 0001869F
0175DD7C 0001869F
01780850 0001869F

Can't seem to get it to work (I only tried the x9999 code though)
What region is this, and is it on the 1.0 or 1.1 version of the game?
I have the 1.1 USA version so maybe the addresses are different?
 

pongozila

Well-Known Member
Newcomer
Joined
Jun 8, 2008
Messages
99
Trophies
1
XP
416
Country
Brazil
Hi Guys, I see some people are still having trouble making this work… so I put up a quick tutorial to help people out. Please do fell free to point out the errors on the tutorial so people can do it right. What I wrote is what I did to get this working, so there may be some wrong things, please do correct me! =)


TUTORIAL TO MAKE [Spider] ARCode by KazoWAR WORK ON YOUR 3DS


THE SIMPLEST AND FASTEST WAY CURRENTLY:

Binless chtless ARCode:

http://lunarcookies.github.io/cheat.html

Paste the codes, scan the QR code and get the PROFIT!

Hardcoded limit of 96 codes, but I don't think the 3DS is capable of scanning a QR with more than ~70 codes.


Other ways:

*IF YOUR FIRMWARE IS >= 9.5.0-22 AND YOU DON’T HAVE AN EXPLOITABLE VERSION OF THE BROWSER INSTALLED IN YOUR 3DS READ THE FIRST SPOILER TAG! If you don’t know if your browser is exploitable and you’re on firmware is FIRMWARE IS >= 9.5.0-22, you probably don’t have it. Read the first spoiler tag!*

**IN ORDER TO DO THIS YOU MUST KNOW HOW AND BE ABLE TO INSTALL .CIA FILES! (IF YOU DON’T KNOW HOW, SEARCH THE COMMUNITY TO LEARN HOW FIRST!)**

1 – Don’t panic!

2 – Go here: https://gbatemp.net/threads/3dnus.376488/ and download “3dnus”!

3 – Unzip the archive using your favorite program.

4 – Open the folder that you unzipped the program.

5 – Open either “3DNUS_64bit.exe” or “3DNUS_32bit.exe” in your computer.

6 – In the program, below “Title ID” type(without quotes): “0004003000009D02”

7 - Below “version” type(without quotes): “4096”

8 – Check the box that next to it says: “Change version number(s) to:” and type in the box next to it (without quotes): “65535”

9 – Make sure the box that says: “Pack as .CIA” is checked, and press download.

10 – Wait for it to download! (It will tell you when it is done!)

11– In the same folder that 3dnus is, will appear a new file named: “0004003000009D02.cia”

12 – Copy “0004003000009D02.cia” to your SD card.

13 – Place your SD card in your 3ds and install “0004003000009D02.cia”

14 – Congratulations! You installed a exploitable version of the browser and you are now ready to go!

15 – Pat yourself in the back and go to the next Spoiler tag.

NOW…
If you do have a firmware<9.5.0-22 OR if you have a firmware >= 9.5.0-22 but have installed an exploitable version of the browser in your 3ds, you’re good to go.
Open this next spoiler tag and follow through.

1 - Download these files:
https://www.mediafire.com/?gfkbqbsem0j4bi7

2 - Unzip the archives using your favorite program.

3 – Locate on the folders you just unzipped the files for “arcode.bin”.

4 – Copy “arcode.bin” to the root of your SD card.

5 – To use a code already found you must open the “ar2bin.exe” (found in the contents of first link downloaded and unzipped), type in the codes, from the desired game, in the program and click “save”.

6 – Save the file on the root of your SD card, with the name “arcode.cht”

7 – Place your SD card in your 3ds, turn it on, and start the game you got the codes.

8 – In middle game press the “home button” on your 3ds.

9 - Open the browser (WITHOUT CLOSING THE GAME!) and open this site http://bit.ly/1LgLvSG (bookmark it for a faster process).

10 – It will load the code, and after a very few seconds* the browser will close and an error message will appear saying: “An error has occurred. Please save your data in any software currently in use, and then restart the system.” (IT´S OK, it is supposed to do that!)

11 – Press “OK” and go back to your game. The code should have been applied.

12 - ???

13 – Profit.

* While the code is loading you may think it froze the 3ds, but usually it didn’t, look for the clock and see if the “:” is flashing, if it stopped for more than 30s, then yes it froze, try again!

For a custom .cht file for each game, or a faster way to use the codes use this tutorial:

1 - Download these files:
https://www.mediafire.com/?gfkbqbsem0j4bi7

2 – To use a code already found you must open the “ar2bin.exe” (found in the contents of first link downloaded and unzipped), type in the codes, from the desired game, in the program and click “save”.

3 – Save the file on the root of your SD card, with the name “[insertnamehere].cht” (you do infact insert the name you want there!)

4 – Place your SD card in your 3ds, turn it on, and start the game you got the codes.

5 – In middle game press the “home button” on your 3ds.

6 - Open the browser (WITHOUT CLOSING THE GAME!) and open this site http://lunarcookies.github.io/arcode.html#[insertnamehere].cht
(bookmark it for a faster process).

7 – It will load the code, and after a very few seconds* the browser will close and an error message will appear saying: “An error has occurred. Please save your data in any software currently in use, and then restart the system.” (IT´S OK, it is supposed to do that!)

8 – Press “OK” and go back to your game. The code should have been applied.

9 - ???

10 – Profit.
 
  • Like
Reactions: AquaX101 and Zidapi

samiam144

Régulier
Member
Joined
Aug 19, 2007
Messages
2,875
Trophies
0
XP
1,742
Country
Canada
Used on Rom of Mario Kart 7 EUR 1.0 (Codes are not region free ?)

From my understanding, the memory addresses may sometimes be different between region depending on how it was developed. It may even be affected by what patch the game is on :/ So I think we should start posting the region, patch version, and game version (if any, such as the MK7 cartridge that already has the 1.1 update built in)
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,716
Trophies
2
XP
6,283
Country
Offsets are based on the FCRAM dump offsets. ARCode will automatically add 0x14000000 to them.
Could you post a code.c (source code) that would work for poking in any memory region (range) by removing "add 0x14000000 automatically"?
I tried to change 0x14000000 to 0 but it has no effect
valid memory regions where cheats could be found in:
00100000 - 00741fff , size: 00642000
08000000 - 085e5fff , size: 005e6000
14000000 - 17397fff , size: 03398000
memory size differ from game to game

for example I want to be able to:
poke address 0x00640000 in 00100000 - 00741fff , size: 00642000
poke address 0x08120000 in 08000000 - 085e5fff , size: 005e6000
poke address 0x16200000 in 14000000 - 17397fff , size: 03398000
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Keep current Gen consoles stock mod last gen imo