Hacking 3DS Injector

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
totally gonna try that now :) I guess we're limited to 4 characters correct?

Well, you could probably extend it to overwrite the actual version format string (the %d stuff), but I'm not sure if that might cause instability or crashing..
 

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
Well, you could probably extend it to overwrite the actual version format string (the %d stuff), but I'm not sure if that might cause instability or crashing..
And all of em :D

Code:
  if (
      progid == 0x0004001000021000LL || // USA MSET
      progid == 0x0004001000020000LL || // JPN MSET
      progid == 0x0004001000022000LL || // EUR MSET
      progid == 0x0004001000026000LL || // CHN MSET
      progid == 0x0004001000027000LL || // KOR MSET
      progid == 0x0004001000028000LL    // TWN MSET
     )
  {
    static const char ver_pattern[] =
    {
       'V', 0x00, 'e', 0x00, 'r', 0x00, '.', 0x00
    };
    static const char ver_patch[] =
    {
       'A', 0x00, '9', 0x00, 'L', 0x00, 'H', 0x00 //insert your own text here in place of A 9 L H
    };
    patch_memory(code, size,
      ver_pattern,
      sizeof(ver_pattern), 0,
      ver_patch,
      sizeof(ver_patch), 1
    );
  }
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
And all of em :D

Code:
  if (
      progid == 0x0004001000021000LL || // USA MSET
      progid == 0x0004001000020000LL || // JPN MSET
      progid == 0x0004001000022000LL || // EUR MSET
      progid == 0x0004001000026000LL || // CHN MSET
      progid == 0x0004001000027000LL || // KOR MSET
      progid == 0x0004001000028000LL    // TWN MSET
     )
  {
    static const char ver_pattern[] =
    {
       'V', 0x00, 'e', 0x00, 'r', 0x00, '.', 0x00
    };
    static const char ver_patch[] =
    {
       'A', 0x00, '9', 0x00, 'L', 0x00, 'H', 0x00 //insert your own text here in place of A 9 L H
    };
    patch_memory(code, size,
      ver_pattern,
      sizeof(ver_pattern), 0,
      ver_patch,
      sizeof(ver_patch), 1
    );
  }

You can simplify the editing a little bit with:

Code:
  else if (progid == 0x0004001000021000LL) // MSET USA
  {
     static const char* ver_pattern = u"Ver.";
     static const char* ver_patch = u"A9LH";
     patch_memory(code, size, ver_pattern, 8, 0, ver_patch, 8, 1);
  }

I omitted the other MSETs for brevity.
 

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
You can simplify the editing a little bit with:

Code:
  else if (progid == 0x0004001000021000LL) // MSET USA
  {
     static const char* ver_pattern = u"Ver.";
     static const char* ver_patch = u"A9LH";
     patch_memory(code, size, ver_pattern, 8, 0, ver_patch, 8, 1);
  }

I omitted the other MSETs for brevity.
dammit man! now i get warnings lol :P i don't like warnings..
 
  • Like
Reactions: daxtsu

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
yeah that worked :) no more warnings! (i don't really know C btw haha)
static const char* ver_pattern = (char*)u"Ver.";
static const char* ver_patch = (char*)u"A9LH";

Such casts would probably make people scream in terror, but if it works, it works.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
Here's some fun with the version string using this:

faKPcXY.jpg

In code, that's:

Code:
     static const char* ver_pattern = u"Ver. %d.%d.%d-%d%ls";
     static const char* ver_patch =   u"ARM9LoaderHax %d.%d";
 

CreativeMan

Well-Known Member
Member
Joined
Apr 26, 2009
Messages
157
Trophies
1
XP
1,383
Country
Belgium
Here's some fun with the version string using this:

faKPcXY.jpg

In code, that's:

Code:
     static const char* ver_pattern = u"Ver. %d.%d.%d-%d%ls";
     static const char* ver_patch =   u"ARM9LoaderHax %d.%d";
I wonder if we would be able to differentiate Sys/EmuNAND strings, like RXTools did
 

yifan_lu

@yifanlu
Member
Joined
Apr 28, 2007
Messages
663
Trophies
0
XP
1,671
Country
United States
I wonder if we would be able to differentiate Sys/EmuNAND strings, like RXTools did
Well a hacky way would be to have two loaders with different strings and let your firmlaunchhax code figure out what to inject based on if emunand is enabled or not.
 

tiduscrying

that butt...
Member
Joined
Jun 12, 2012
Messages
509
Trophies
1
Location
HELL
Website
tiduscrying.wordpress.com
XP
2,491
Country
United States
In the latest release of AuReiNand, the system settings will display SYS or EMU based on which one you are booted into. I am sure the code for Aurora's implementation of the loader will show how she did it!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    So a man, wifey laying in bed, and man wants sum and rubs on her a little, she turns and says "Not tonight, I have a gyno apt in the morning." So man rolls over, but after few minutes starts rubbing her again. She says didn't you here me, no messing around, I have a gyno apt tomorrow. " Man says, "Well you don't have a dentist apt tomorrow also do you?"
  • BigOnYa @ BigOnYa:
    Damn I have 8 modded rgh3 x360 slims I've done, I need to get rid of, I figured my family members or friends would want but times have changed. Think I'm gonna stop buying them and modding. Time to Switch it up (pun intended)
  • K3Nv2 @ K3Nv2:
    Yay power outages
  • K3Nv2 @ K3Nv2:
    @BigOnYa, I'm your friend
    +1
  • BigOnYa @ BigOnYa:
    There literally no storms in your area, does it go out alot? You need to just send me your slim n ill rgh3 it free.
  • BigOnYa @ BigOnYa:
    Or grow sum balls and do it yourself, not hard. More of a pain to jailbreak a ps4 than it is the 360, other than little soldering.
  • K3Nv2 @ K3Nv2:
    Problem is my dick gets in the way
  • BigOnYa @ BigOnYa:
    Yea true, would be a pain having that on your forehead
  • K3Nv2 @ K3Nv2:
    The chicks love it
    +1
  • K3Nv2 @ K3Nv2:
    Every damn time there's a loud noise dudes car alarm goes off freaking annoying
  • BigOnYa @ BigOnYa:
    Stun gun the metal of the car (door, bumper, etc), you won't hear it again, promise.
  • realtimesave @ realtimesave:
    damn accidentally ripped my car cover just now
  • realtimesave @ realtimesave:
    happens
  • K3Nv2 @ K3Nv2:
    Or plant drugs get him evicted
  • realtimesave @ realtimesave:
    the one on my other car is all ripped up
  • K3Nv2 @ K3Nv2:
    Not your $400 car cover :ohnoes:
  • BigOnYa @ BigOnYa:
    There you go, thinking with your "dickhead"
  • realtimesave @ realtimesave:
    some day the wind will blow so hard it'll rip in half
  • K3Nv2 @ K3Nv2:
    I think in big inches
    +1
  • BigOnYa @ BigOnYa:
    @realtimesave Can you sew it back together? Or is it not worth trying.
  • realtimesave @ realtimesave:
    nah sewing it will make it come apart more :)
  • realtimesave @ realtimesave:
    that one is pretty old
  • realtimesave @ realtimesave:
    the one on my mercedes is a couple years old. these things don't last very long at all
    +1
    realtimesave @ realtimesave: the one on my mercedes is a couple years old. these things don't last very long at all +1