Hacking Injecting GBC roms (for noobs)

Dean_

Well-Known Member
OP
Member
Joined
Sep 11, 2014
Messages
684
Trophies
0
XP
712
Country
** Currently GATEWAY or other flashcarts are needed to run VC **

PM VERSION

1.- Copy contents of rar somewhere
2.- in /crear_rom/romfs/rom put your rom with the name "vc_rom.bin"
3.- Delete the TXT file
4.-Execute generar.bat
5.- In the folder crear_rom a new file appeared: VCGBAROM.3ds



DOWNLOAD ZIPPYSHARE VERSION

1.- Get Pokemon Crystal 3ds VC game
2.- Copy it inside crear_rom as ROM.3ds
3.-Execute Preparar.bat
4.- In /crear_rom/romfs/rom put your rom with the name "vc_rom.bin"
5.- Execute generar.bat
6.- In the folder crear_rom a new file appeared: VCGBAROM.3ds


ATTENTION! Only games with 0 key can be used (VC Pokemon games, like Crystal)



PM ME TO GET THE LINK!

Or use that: http://www5.zippyshare.com/v/89367775/file.html






Original post: http://www.elotrolado.net/hilo_creador-de-vc-de-gbc-custom_2038586 (mine)

Rusb have made a much noobier tool. You would easily be able to make your own roms.



================================================================


Now, I think, GBC injection have become a quite easy job.


You need these tools :

1. Latest compiled ctrtool, makerom

*. 3DS_CTR_Decryptor (if you are going to use bigbluebox's pre-injected pokemon roms, it's not necessary)

-----------------------------------------------------------------------------------------------------

230BDC43541DB4A62381E7



GBC roms is packed within romfs, so we need to extract it and edit it and re-pack it.




Step 1, 2, 3 is done by ctrtool (see diagram above).


Using this command, you can extract exefs, exheader, romfs.

> ctrtool --romfs=romfs.bin --exefs=exefs.bin --exheader=exh.bin "ROM.3DS"



Then

> ctrtool -t exefs --decompresscode --exefsdir=exefs exefs.bin

> ctrtool -t romfs --romfsdir romfs romfs.bin



After done this, you can find extracted exefs and romfs.



Step 4.

Change rom file within /romfs/rom/




And you need to make rsf file. Here's a sample

====================================================

BasicInfo:
Title : "Input whatever you like"
CompanyCode : "00"
ProductCode : "XXX-X-XXXX"
ContentType : Application
Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem

Rom:
# Specifies the root path of the file system to include in the ROM.
HostRoot : "romfs"


TitleInfo:
UniqueId : 0xbbbbb
Category : Application

CardInfo:
MediaSize : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB
MediaType : Card2 # Card1 / Card2
CardDevice : None # NorFlash(Pick this if you use savedata) / None


Option:
#UseOnSD : true # true if App is to be installed to SD
FreeProductCode : true # Removes limitations on ProductCode
MediaFootPadding : true # If true CCI files are created with padding
EnableCrypt : true # Enables encryption for NCCH and CIA
EnableCompress : true # Compresses exefs code

ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
ReadOnly:
- .rodata
- RO
ReadWrite:
- .data
- RO
Text:
- .init
- .text
- STUP_ENTRY

PlainRegion: # only used with SDK ELFs
# - .module_id

AccessControlInfo:
#UseExtSaveData : true
#ExtSaveDataId: 0xff3ff
#UseExtendedSaveDataAccessControl: true
#AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]

SystemControlInfo:
SaveDataSize: 1024KB
RemasterVersion: 0
StackSize: 0x40000

# DO NOT EDIT BELOW HERE OR PROGRAMS WILL NOT LAUNCH (most likely)

AccessControlInfo:
FileSystemAccess:
- Debug
- DirectSdmc
- DirectSdmcWrite

IdealProcessor : 0
AffinityMask : 1

Priority : 16

MaxCpu : 0x9E # Default

CoreVersion : 2
DescVersion : 2

ReleaseKernelMajor : "02"
ReleaseKernelMinor : "33"
MemoryType : Application
HandleTableSize: 512
IORegisterMapping:
- 1ff50000-1ff57fff
- 1ff70000-1ff77fff
MemoryMapping:
- 1f000000-1f5fffff:r
SystemCallAccess:
ArbitrateAddress: 34
Break: 60
CancelTimer: 28
ClearEvent: 25
ClearTimer: 29
CloseHandle: 35
ConnectToPort: 45
ControlMemory: 1
CreateAddressArbiter: 33
CreateEvent: 23
CreateMemoryBlock: 30
CreateMutex: 19
CreateSemaphore: 21
CreateThread: 8
CreateTimer: 26
DuplicateHandle: 39
ExitProcess: 3
ExitThread: 9
GetCurrentProcessorNumber: 17
GetHandleInfo: 41
GetProcessId: 53
GetProcessIdOfThread: 54
GetProcessIdealProcessor: 6
GetProcessInfo: 43
GetResourceLimit: 56
GetResourceLimitCurrentValues: 58
GetResourceLimitLimitValues: 57
GetSystemInfo: 42
GetSystemTick: 40
GetThreadContext: 59
GetThreadId: 55
GetThreadIdealProcessor: 15
GetThreadInfo: 44
GetThreadPriority: 11
MapMemoryBlock: 31
OutputDebugString: 61
QueryMemory: 2
ReleaseMutex: 20
ReleaseSemaphore: 22
SendSyncRequest1: 46
SendSyncRequest2: 47
SendSyncRequest3: 48
SendSyncRequest4: 49
SendSyncRequest: 50
SetThreadPriority: 12
SetTimer: 27
SignalEvent: 24
SleepThread: 10
UnmapMemoryBlock: 32
WaitSynchronization1: 36
WaitSynchronizationN: 37
InterruptNumbers:
ServiceAccessControl:
- APT:U
- $hioFIO
- $hostio0
- $hostio1
- ac:u
- boss:U
- cam:u
- cecd:u
- cfg:u
- dlp:FKCL
- dlp:SRVR
- dsp::DSP
- frd:u
- fs:USER
- gsp::Gpu
- hid:USER
- http:C
- mic:u
- ndm:u
- news:u
- nwm::UDS
- ptm:u
- pxi:dev
- soc:U
- ssl:C
- y2r:u
- ldr:ro
- ir:USER


SystemControlInfo:
Dependency:
ac: 0x0004013000002402L
am: 0x0004013000001502L
boss: 0x0004013000003402L
camera: 0x0004013000001602L
cecd: 0x0004013000002602L
cfg: 0x0004013000001702L
codec: 0x0004013000001802L
csnd: 0x0004013000002702L
dlp: 0x0004013000002802L
dsp: 0x0004013000001a02L
friends: 0x0004013000003202L
gpio: 0x0004013000001b02L
gsp: 0x0004013000001c02L
hid: 0x0004013000001d02L
http: 0x0004013000002902L
i2c: 0x0004013000001e02L
ir: 0x0004013000003302L
mcu: 0x0004013000001f02L
mic: 0x0004013000002002L
ndm: 0x0004013000002b02L
news: 0x0004013000003502L
nim: 0x0004013000002c02L
nwm: 0x0004013000002d02L
pdn: 0x0004013000002102L
ps: 0x0004013000003102L
ptm: 0x0004013000002202L
ro: 0x0004013000003702L
socket: 0x0004013000002e02L
spi: 0x0004013000002302L
ssl: 0x0004013000002f02L
CommonHeaderKey:
D: |
jL2yO86eUQnYbXIrzgFVMm7FVze0LglZ2f5g+c42hWoEdnb5BOotaMQPBfqt
aUyAEmzQPaoi/4l4V+hTJRXQfthVRqIEx27B84l8LA6Tl5Fy9PaQaQ+4yRfP
g6ylH2l0EikrIVjy2uMlFgl0QJCrG+QGKHftxhaGCifdAwFNmiZuyJ/TmktZ
0RCb66lYcr2h/p2G7SnpKUliS9h9KnpmG+UEgVYQUK+4SCfByUa9PxYGpT0E
nw1UcRz0gsBmdOqcgzwnAd9vVqgb42hVn6uQZyAl+j1RKiMWywZarazIR/k5
Lmr4+groimSEa+3ajyoIho9WaWTDmFU3mkhA2tUDIQ==
Exponent: |
AQAB
Modulus: |
zwCcsyCgMkdlieCgQMVXA6X2jmb1ICjup0Q+jk/AydPkOgsx7I/MjUymFEkU
vgXBtCKtzh3NKXtFFuW51tJ60GPOabLKuG0Qm5li+UXALrWhzWuvd5vv2FZI
dTQCbrq/MFS/M02xNtwqzWiBjE/LwqIdbrDAAvX4HGy0ydaQJ1DKYeQeph5D
lAGBw2nQ4izXhhuLaU3w8VQkIJHdhxIKI5gJY/20AGkG0vHD553Mh5kBINrWp
CRYmmJS8DCYbAiQtKbkeUfzHViGTZuj6PwaY8Mv39PGO47a++pt45IUyCEs4/
LjMS72cyfo8tU4twRGp76SFGYejYj3wGC1f/POQw==
Signature: |
BOPR0jL0BOV5Zx502BuPbOvi/hvOq5ID8Dz1MQfOjkey6FKP/6cb4f9YXpm6c
ZCHAZLo0GduKdMepiKPUq1rsbbAxkRdQdjOOusEWoxNA58x3E4373tCAhlqM2
DvuQERrIIQ/XnYLV9C3uw4efZwhFqog1jvVyoEHpuvs8xnYtGbsKQ8FrgLwXv
pOZYy9cSgq+jqLy2D9IxiowPcbq2cRlbW9d2xlUfpq0AohyuXQhpxn7d9RUor
9veoARRAdxRJK12EpcSoEM1LhTRYdJnSRCY3x3p6YIV3c+l1sWvaQwKt0sZ/U
8TTDx2gb9g7r/+U9icneu/zlqUpSkexCS009Q==
Descriptor: |
AP///wAABAACAAAAAAAFGJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIAAAAAAAABBUFQ6VQAAACRo
aW9GSU8AJGhvc3RpbzAkaG9zdGlvMWFjOnUAAAAAYm9zczpVAABjYW06dQAA
AGNlY2Q6dQAAY2ZnOnUAAABkbHA6RktDTGRscDpTUlZSZHNwOjpEU1BmcmQ6
dQAAAGZzOlVTRVIAZ3NwOjpHcHVoaWQ6VVNFUmh0dHA6QwAAbWljOnUAAABu
ZG06dQAAAG5ld3M6dQAAbndtOjpVRFNwdG06dQAAAHB4aTpkZXYAc29jOlUA
AABzc2w6QwAAAHkycjp1AAAAbGRyOnJvAABpcjpVU0VSAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABOn/rw/7//8ec/APIA8JH/APaR/1D/gf9Y/4H/cP+B/3j/gf8B
AQD/AAIA/iECAPz/////////////////////////////////////////////
////////////////////////////////////////AAAAAAAAAAAAAAAAAAAA
AAADAAAAAAAAAAAAAAAAAAI=


=====================================================


edit this as you need and save this text with .rsf extension like XXXXX.rsf




Step 5.

Using makerom, finally you can make your own GBC VC rom.

> makerom -f cci -o NAME.3ds -rsf XXXXX.rsf -alignwr -target d -exheader exh.bin -code exefs/code.bin -icon exefs/icon.bin -banner exefs/banner.bin





If you are interested in making fancy banner or icons, use this :

http://filetrip.net/3ds-downloads/utilities/download-3dsbannermaker-2-0-f32839.html
 

Dean_

Well-Known Member
OP
Member
Joined
Sep 11, 2014
Messages
684
Trophies
0
XP
712
Country
In Summary (I assume)

This allows to take any GBC Rom and replace it with an official 3ds gbc vc and Run it?


Yes. Injecting GBC roms into 3ds VC roms.

Some VC roms have specific patches inside (like The Lezend of Zelda : Link's Awakening DX), so I cannot guarantee that any GBC roms work properly.

But I think many of them will work.
 

octopus

Custom Title
Member
Joined
Sep 6, 2013
Messages
439
Trophies
1
Location
/
XP
1,913
Country
Somalia
I can't seem to get ctrtool to even run. I double click it and it exits.

What am i missing?

Command line skills. :)

UPD: Thanks for the tutorial, but makerom fails to read xxx.rsf because it’s not formatted properly if you copy it from the forum. You should include a link to a .txt with proper formatting.
Like this: https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample0.rsf

NVM, I’ll use https://github.com/44670/patchrom/blob/master/gw_workaround.rsf


Majestic! It’s alive works!

Qyszki1.jpg
 

Nic333

Well-Known Member
Member
Joined
May 3, 2014
Messages
144
Trophies
0
XP
1,046
Country
Brazil
Ok, the homebrew makerom seems to work simlar as the ctr_makerom32 of Nintendo CTR SDK, so the RomFS dir must to be in RSF, i will provide my rsf, just change the title and the Product Code
In your makerom directory, create a folder named "romfs" and paste your romfs content there, look an example:

GBATEmp%2520tuturial.png

GBATEmp%2520tuturial%25202.png

And just rebuild the .3ds using my RSF in Makerom and tada!, You will got a Working edited RomFS.bin in your .3ds
 

Attachments

  • RSF.rar
    3.1 KB · Views: 312

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,864
Trophies
2
Location
At Home :)
XP
4,434
Country
Please could some kind soul PM me with some details cause I dont know where to get the bits from or I am just a lazy sod ;) I cant find the files etc.. also will this work with GBA VC games as well? has anyone tried yet?
 

hundshamer

Well-Known Member
Member
Joined
May 22, 2009
Messages
1,810
Trophies
0
XP
924
Country
United States
Im having problems with the code.bin, banner.bin, and icon.bin not extracting. Maybe I don't have the right ctr tool?
 

kyogre123

Mexican Pride
Member
Joined
Sep 23, 2013
Messages
2,920
Trophies
0
Age
34
XP
1,347
Country
Mexico
What are you trying to do, are you using the last makerom? What are the Error?

I'm using the latest makerom (the one at github) that was uploaded on the "romfs generator" thread (so I didn't compiile it by myself).

Following your instructions, I changed this:

HostRoot : "romfs"

And used this command with makerom:
makerom.exe -f cci -o Test_icles.3ds -rsf RSF.rsf -alignwr -target d -exheader exh.bin -code code.bin -icon icon.bin -banner banner.bin

And finally, when I open the new rom, the 3DS gets stuck in the Nintendo 3DS logo.
 

hundshamer

Well-Known Member
Member
Joined
May 22, 2009
Messages
1,810
Trophies
0
XP
924
Country
United States
ctrtool -t exefs --decompresscode --exefsdir=exefs exefs.bin keeps giving me "unknown option -- decrompresscode".
 

octopus

Custom Title
Member
Joined
Sep 6, 2013
Messages
439
Trophies
1
Location
/
XP
1,913
Country
Somalia
Why? All of the contents of the romfs are extracted and contained in a folder called "romfs", so I think that would be right in the .rsf file.

I think you’ll only need to alter that if you’ll change the location of \rom\vc_rom.bin
ctrtool -t exefs --decompresscode --exefsdir=exefs exefs.bin keeps giving me "unknown option -- decrompresscode".

You’re using outdated ctrtool.
 

Nic333

Well-Known Member
Member
Joined
May 3, 2014
Messages
144
Trophies
0
XP
1,046
Country
Brazil
Why? All of the contents of the romfs are extracted and contained in a folder called "romfs", so I think that would be right in the .rsf file.

The romfs folder are in the makerom.exe dir? If not, it needs to be there, and don't edit the rsf, just change the Title and the product code, i don't know as more edits will work fine
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    We just question @AncientBoi
  • ZeroT21 @ ZeroT21:
    it wasn't a question, it was fact
  • BigOnYa @ BigOnYa:
    He said he had 3 different doctors apt this week, so he prob there. Something about gerbal extraction, I don't know.
    +1
  • ZeroT21 @ ZeroT21:
    bored, guess i'll spread more democracy
  • LeoTCK @ LeoTCK:
    @K3Nv2 one more time you say such bs to @BakerMan and I'll smack you across the whole planet
  • K3Nv2 @ K3Nv2:
    Make sure you smack my booty daddy
    +1
  • LeoTCK @ LeoTCK:
    telling him that my partner is luke...does he look like someone with such big ne
    eds?
  • LeoTCK @ LeoTCK:
    do you really think I could stand living with someone like luke?
  • LeoTCK @ LeoTCK:
    I suppose luke has "special needs" but he's not my partner, did you just say that to piss me off again?
  • LeoTCK @ LeoTCK:
    besides I had bigger worries today
  • LeoTCK @ LeoTCK:
    but what do you know about that, you won't believe me anyways
  • K3Nv2 @ K3Nv2:
    @BigOnYa can answer that
  • BigOnYa @ BigOnYa:
    BigOnYa already left the chat
  • K3Nv2 @ K3Nv2:
    Biginya
  • BigOnYa @ BigOnYa:
    Auto correct got me, I'm on my tablet, i need to turn that shit off
  • K3Nv2 @ K3Nv2:
    With other tabs open you perv
  • BigOnYa @ BigOnYa:
    I'm actually in my shed, bout to cut 2-3 acres of grass, my back yard.
  • K3Nv2 @ K3Nv2:
    I use to have a guy for that thanks richard
  • BigOnYa @ BigOnYa:
    I use my tablet to stream to a bluetooth speaker when in shed. iHeartRadio, FlyNation
  • K3Nv2 @ K3Nv2:
    While the victims are being buried
  • K3Nv2 @ K3Nv2:
    Grave shovel
  • BigOnYa @ BigOnYa:
    Nuh those goto the edge of the property (maybe just on the other side of)
  • K3Nv2 @ K3Nv2:
    On the neighbors side
    +1
  • BigOnYa @ BigOnYa:
    Yup, by the weird smelly green bushy looking plants.
    BigOnYa @ BigOnYa: Yup, by the weird smelly green bushy looking plants.