Hacking Luma3DS - Noob-proof 3DS Custom Firmware

TuxSH

Well-Known Member
Member
Joined
Oct 19, 2015
Messages
614
Trophies
1
Age
26
XP
1,295
Country
France
Hi,
Also, I did not understand in the code example above: why destAddress for map call is 0x00100000? What is that magic number? I thought that I should allocate in rosalina process some buffer and pass its address to map svc call.

0x00100000 is the virtual address where programs (their .text+.rodata+.data+.bss) usually start (except for loader, ro, and rosalina which start at VA 0x14000000. In this case this is where the mapped process memory is mapped and it could be any arbitrary page-aligned address indeed.

Also please not that those svcGetProcessInfo "IDs" and svc(Un)MapProcessMemoryEx are Luma-only syscalls (fwiw).
 

duckbill007

Well-Known Member
Member
Joined
May 5, 2011
Messages
683
Trophies
1
XP
2,461
Country
Russia
Yes. I do understand that it is a Luma specific calls. I saw K11 extensions and understand how it works.

What I asking is a example how to patch other process memory at specific offset:

I found correct pid for game process. Check via svcGetProcessInfo its titleId. So, I am sure that it is a correct process. However as i wrote above startAddress for that process is 0x14018208, and not 0x00100000 as you told. Or it is a PA, not VA? Also, textTotalRoundedSize+rodataTotalRoundedSize+dataTotalRoundedSize gives me 0x00100000 and this is strange.

Can you please provide example how to set or process with pid for example 0x27 memory at offset for example 0x0045003C to 0xE3A00001?
I do understand that it should be
svcOpenProcess(), then svcMapProcessMemoryEx(), then simple *((u32*)(start+0x0045003x)) = 0xE3A00001 then svcUnMapMemoryEx(), then svcCloseProcess() but I can not get what parameters should I pass to that calls (except for svcOpenProcess and svcCloseProcess). All my tries lead to exception on write.
 
Last edited by duckbill007,

Dracari

Well-Known Member
Member
Joined
Apr 5, 2009
Messages
1,985
Trophies
1
XP
2,465
Country
United States
did the latest nightly switch to a new ctrulib or library ? Compiling broke again :/
E3xwzZE.png
 

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,656
Trophies
3
Age
29
XP
3,490
Country
France
I made a custom cia (extracted and rebuilt without any change), but it crash (Tetris Ultimate EUR).
I don't guess the cia is corrupted, but I may be wrong.

An error occured (ErrDisp)
Error type: generic
Process ID: 15
Process name: menu
Process tile ID: 0x0004003000009802
Adresse: 0x00229504
Error code: 0xc8804464

Press any buttons to reboot.

Any ideas why it crash, and how to solve?
 

TVL

#|
Member
Joined
Feb 17, 2004
Messages
577
Trophies
2
Location
World -1
XP
2,301
Country
Sweden
I pretty much only use the Rosalina menu to shut my 3DS off and to toggle Wifi. I wish I could bind those actions to keypresses and not even see the menu, select and L for shutdown and select and R to toggle Wifi. I hope some people agree and that it will be implemented as an option.

I also wonder what happens during shutdown, when you shut the 3DS off normally it takes about as long time as with the poweroff option in Rosalina (haven't measured the time it takes, but probably the same). Now Rosalina poweroff doesn't save changes to the home menu if you moved games around etc you need a "real" shutdown to make that stick.
Now I've had an errorscreen with one game and the "press a key to shutdown", and that's instantanious and doesn't seem to effect anything. Why is the error one possible to shut it down so quickly, and if it doesn't have a downside why not create an error on purpose, not show the info and just turn the console off super fast.
 

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,656
Trophies
3
Age
29
XP
3,490
Country
France
I pretty much only use the Rosalina menu to shut my 3DS off and to toggle Wifi. I wish I could bind those actions to keypresses and not even see the menu, select and L for shutdown and select and R to toggle Wifi. I hope some people agree and that it will be implemented as an option.
Totally agree
 
  • Like
Reactions: TVL

Metion

Well-Known Member
Newcomer
Joined
Oct 26, 2015
Messages
73
Trophies
0
Age
30
XP
446
Country
Italy
Is there a version of luma (b9s) that only patches sigchecks (no luma settings at boot, no chainloading, no rosalina no user version strings in settings no region free no flashcart patches)?
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,136
Country
United States
I have a question. I recently installed bootctr9 to have a splash screen on my system. however, a couple of times, I've gotten an error on boot where it says something like "the firmware can not be boot from this location. it's a luma error. it's happened once before installing b9s 1.3 and once afterwards. it doesn't happen very often, but it seems to be related to bootctr9. anyone else seen this error?
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,136
Country
United States
I just remembered: I may have found the culprit a few days ago. I still had arm9loaderhax_si.bin on my micro sd card which may have been throwing off bootctr9 or luma. I haven't gotten that error since I deleted it.
 

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,823
Country
United States
Don't know where to ask. Guys, what does this problem mean?

Processor: ARM9
Exception type: prefetch abort (svcBreak)
there's a lot more information that needs to be here.
Is there a version of luma (b9s) that only patches sigchecks (no luma settings at boot, no chainloading, no rosalina no user version strings in settings no region free no flashcart patches)?
use a different custom firmware if you really need all of these disabled. or change the source and use a custom build. you could also chainload a patched NATIVE_FIRM.
 
Last edited by ihaveahax,
  • Like
Reactions: RustInPeace

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=uLN9qrJ8ESs