Spore2

Well-Known Member
Member
Joined
Jan 12, 2016
Messages
221
Trophies
0
Age
45
XP
246
Country
FIRM is stored on a separate partition and encrypted with its own key, so all we need is the xorpad for FIRM, which it gets by comparing the encrypted partition with a decrypted 10.4/10.5 FIRM.

That makes sense. Thanks.
Just waiting to finish updating to 10.5. Internet speeds here in the Philippines are crap.
 
Last edited by Spore2,

vb_encryption_vb

That hardmod guy....
Member
Joined
Nov 21, 2015
Messages
1,995
Trophies
2
Age
41
Location
Acworth, GA
XP
1,949
Country
United States
I can confirm this does in deed work, I updated to 10.5, backed up nand, patched nand, wrote nand back, booted into homebrew sysupdater and downgraded back to 9.2 with no issues.

Anyone having issues with the patcher, put this .dll in the same directory as the autofirm files.
 

Attachments

  • msvcr120d.zip
    664.4 KB · Views: 251
Last edited by vb_encryption_vb,

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
30
XP
4,687
Country
United States
I can confirm this does in deed work, I updated to 10.5, backed up nand, patched nand, wrote nand back, booted into homebrew sysupdater and downgraded back to 9.2 with no issues.
Care to make a video of it in action it's not that I dont believe you its just too crazy and the hype train is gonna go full steam ahead @hundshamer you're about to make quite a bit of pocket money.
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,794
Trophies
2
Age
48
Location
Japan
XP
3,695
Country
United States
FIRM is stored on a separate partition and encrypted with its own key, so all we need is the xorpad for FIRM, which it gets by comparing the encrypted partition with a decrypted 10.4/10.5 FIRM.
I have a noobish question... since we are able to decrypt firms, and it is known how to patch out the signature checks, why can't the signature check be physically patched out of the FIRM before installing it? I'm not quite sure at what point during boot that signature checks start being performed, but my mind was blown when people figured out how to get 1 or 2 keys and then use them to figure out other keys (like to decrypt the N3DS 9.6+ FIRM). Why has nobody been able to derive a working signing key?

Both my systems are hard-modded, but I'm not very motivated to play with this. I don't need it, and anybody with a working hard mod to try it doesn't really have much to worry about.
 

vb_encryption_vb

That hardmod guy....
Member
Joined
Nov 21, 2015
Messages
1,995
Trophies
2
Age
41
Location
Acworth, GA
XP
1,949
Country
United States
Care to make a video of it in action it's not that I dont believe you its just too crazy and the hype train is gonna go full steam ahead @hundshamer you're about to make quite a bit of pocket money.


Sure, going to be a long video from start to finish, cause I'm not editing a damn bit of it lol
 
  • Like
Reactions: Xenon Hacks

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,326
Trophies
4
Location
Space
XP
13,904
Country
Norway
I have a noobish question... since we are able to decrypt firms, and it is known how to patch out the signature checks, why can't the signature check be physically patched out of the FIRM before installing it? I'm not quite sure at what point during boot that signature checks start being performed, but my mind was blown when people figured out how to get 1 or 2 keys and then use them to figure out other keys (like to decrypt the N3DS 9.6+ FIRM). Why has nobody been able to derive a working signing key?

Both my systems are hard-modded, but I'm not very motivated to play with this. I don't need it, and anybody with a working hard mod to try it doesn't really have much to worry about.
There are signature checks on FIRM too. That's why we're only able to use unmodified FIRM binaries. And these checks are embedded in the bootrom so they can't be patched out. However, arm9loaderhax does something similar to what you want - we can load a patched FIRM with it and patch/modify anything we want on NAND given that the right signature checks are patched out. But arm9loaderhax is very user unfriendly to install.
 

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
30
XP
4,687
Country
United States
Sure, going to be a long video from start to finish, cause I'm not editing a damn bit of it lol
Don't have to this is big news for the scene a public downgrade method is insane can you think of how many people will want this service? Hell I might even get a smaller tip for my soldering iron just to cash in.
 

vb_encryption_vb

That hardmod guy....
Member
Joined
Nov 21, 2015
Messages
1,995
Trophies
2
Age
41
Location
Acworth, GA
XP
1,949
Country
United States
Don't have to this is big news for the scene a public downgrade method is insane can you think of how many people will want this service? Hell I might even get a smaller tip for my soldering iron just to cash in.
Video is almost 3 gigs and uploading to youtube now, should be ready in 20 or 30 minutes I guess. youtube says 103 minutes, I sure the hell hope it don't take that long.


To all of GBAtemp
GBAtemp is full of assholes, my son is autistic and you may hear him in the background making random comments, keep your traps shut!

Thanks.
 
Last edited by vb_encryption_vb,

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,233
Country
Brazil
so, 3dsfirm.exe is something like this

Code:
# Embedded file name: 3DSFirm.py
import os
import sys
import re
import binascii
import argparse
import string
if not sys.version_info[:2] == (2, 7):
  print '*****\n!!!!!Warning - Only tested with Python 2.7!!!!!\n*****\n'
parser = argparse.ArgumentParser()
parser.add_argument('nand_file', action='store', help='NAND file (must exist for dumping and injecting)')
parser.add_argument('firm0_file', action='store', help='firm0 file (only should exist for injecting, firm file will be written/overwrite when dumping)')
parser.add_argument('firm1_file', action='store', help='firm1 file (only should exist for injecting, firm file will be written/overwrite when dumping)')
choose = parser.add_mutually_exclusive_group()
choose.add_argument('-d', action='store_true', default=False, dest='dump', help='Dump firm from NAND file')
choose.add_argument('-i', action='store_true', default=False, dest='inject', help='Inject firm into NAND file')
parser.add_argument('-lowmem', action='store_true', default=False, dest='lowmem', help='Use if you have low RAM available')
arguments = parser.parse_args()
if arguments.dump is arguments.inject:
  print 'Please choose -d or -i to dump or inject the fat16 partition'
  sys.exit(0)
print '*******\n3DSFirmtool\n*******\n'
start = 185794560
size = 4194304
start2 = 189988864
if not os.path.isfile(arguments.nand_file):
  print 'NAND file cannot be found'
  sys.exit(0)
if arguments.inject:
  if not os.path.isfile(arguments.firm0_file):
  print 'Firm0 file cannot be found'
  sys.exit(0)
if arguments.inject:
  if not os.path.isfile(arguments.firm1_file):
  print 'Firm1 file cannot be found'
  sys.exit(0)
if arguments.dump:
  if os.path.isfile(arguments.firm0_file):
  print 'Firm0 with this name and path already exists, file will be overwritten'
  if os.path.isfile(arguments.firm1_file):
  print 'Firm1 with this name and path already exists, file will be overwritten'
  with open(arguments.nand_file, 'rb') as r:
  with open(arguments.firm0_file, 'wb') as w:
  with open(arguments.firm1_file, 'wb') as w2:
  print 'Dumping... please wait'
  r.seek(start)
  firm0 = r.read(size)
  w.write(firm0)
  r.seek(start2)
  firm1 = r.read(size)
  w2.write(firm1)
if arguments.inject:
  if not os.path.isfile(arguments.firm0_file):
  print 'Firm0 file cannot be found'
  exit(0)
  with open(arguments.nand_file, 'rb+') as r:
  with open(arguments.firm0_file, 'rb') as w:
  print 'Injecting... please wait'
  r.seek(start)
  firm0 = w.read(size)
  r.write(firm0)
if arguments.inject:
  if not os.path.isfile(arguments.firm1_file):
  print 'Firm0 file cannot be found'
  exit(0)
  with open(arguments.nand_file, 'rb+') as r:
  with open(arguments.firm1_file, 'rb') as w:
  print 'Injecting... please wait'
  r.seek(start2)
  firm1 = w.read(size)
  r.write(firm1)
print ''
print 'Finished'
 

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
30
XP
4,687
Country
United States
Video is almost 3 gigs and uploading to youtube now, should be ready in 20 or 30 minutes I guess. youtube says 103 minutes, I sure the hell hope it don't take that long.


To all of GBAtemp
GBAtemp is full of assholes, my son is autistic and you may hear him in the background making random comments, keep your traps shut!

Thanks.
You can change the video audio in the settings on youtube if you want.
 
  • Like
Reactions: vb_encryption_vb

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, i have a physical copy of mgs4
  • Xdqwerty @ Xdqwerty:
    ok I tried it and 1) it doesnt boot wood menu automatically and 2) when trying to load a game through wood theres just a loading screen
  • K3Nv2 @ K3Nv2:
    It's low on wood
    +1
  • Xdqwerty @ Xdqwerty:
    lemme ask in forums
  • Xdqwerty @ Xdqwerty:
    yawn
  • BigOnYa @ BigOnYa:
    @Xdqwerty No you heard wrong, and don't believe till you experience yourself. Fallout 4 is one of my favorite games of all time. Yes it had issues early on, esp with older hardware like the xbox1, but it is awesome, esp now being 4k on Series S/X or PS5
    +2
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, Then i think people were talking about fallout 76
  • Xdqwerty @ Xdqwerty:
    that one was buggy too
  • BigOnYa @ BigOnYa:
    Yea you right there, fallout 76 was a letdown, but it not that bad now, they have fixed slot of issues they had at launch. Biggest issue with Fallout 76 is its a pay to advance further type of game, which sucks
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, I may probably download fallout 3 or new vegas on my ps3
  • Xdqwerty @ Xdqwerty:
    cuz I didnt like fallout 1 that much
  • BigOnYa @ BigOnYa:
    New Vegas is awesome, F3 was ok too.
  • Psionic Roshambo @ Psionic Roshambo:
    I played Fallout 4 on PC, I enjoyed it honestly. Not my favorite game on earth but at the same time I didn't hate it at all lol
  • BigOnYa @ BigOnYa:
    That's cool you got a ps3... Glad to hear. Game on!
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Ironic this was posted today lol
  • BigOnYa @ BigOnYa:
    I think the tv series has boasted play of, I did see they said playing of it Is up, way more than norm
    +1
  • BigOnYa @ BigOnYa:
    I've been playing the next gen version on Series X all day, I love it. :wub:
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Downloading some random stuff, damn almost 400GBs in like 4 hours lol
  • Psionic Roshambo @ Psionic Roshambo:
    Gonna be over 1TB this month.... damn lol
  • Xdqwerty @ Xdqwerty:
    good night
    +1
  • BigOnYa @ BigOnYa:
    At least you have some fast speeds. What a drag that used to be, I remb downloading 1 pic back in the day, and seeing line by line show
  • BigOnYa @ BigOnYa:
    Nighty night.
  • BigOnYa @ BigOnYa:
    Or worse, you downloading something, and someone calls your phone and interupts the download, good ole AOL. Of course that's before most you guys even were born yet.
    BigOnYa @ BigOnYa: Or worse, you downloading something, and someone calls your phone and interupts the download...