# Manual and DLPChild for some reason don't work. |
# it must be a make_cia issue since I tried using makerom and hex editing and it worked fine |
if [ !-f'$1' ];then |
echo'no' |
exit 1 |
fi |
rm 0.cxi ncch.header exheader.bin exefs.bin romfs.bin logo.bcma.lz plain.bin converted.cia |
EXHXOR=$(python2 get-exh-xorpad.py '$1') |
3dstool -xvt012f cci orig.cxi manual.cfa dlpchild.cfa '$1' |
3dstool -xvtf cxi orig.cxi --header ncch.header --exh exheader.bin --exh-xor $EXHXOR --exefs exefs.bin --romfs romfs.bin --logo logo.bcma.lz --plain plain.bin |
if [ -s logo.bcma.lz ];then |
USELOGO='--logo logo.bcma.lz' |
fi |
if [ -s manual.cfa ];then |
USEMANUAL='--content1=manual.cfa --id_1=00000001 --index_1=0001' |
fi |
if [ -s dlpchild.cfa ];then |
USEDLPCHILD='--content2=dlpchild.cfa --id_2=00000002 --index_2=0002' |
fi |
#cp exheader.bin exheader-old.bin |
python2 exh-patch.py exheader.bin |
3dstool -cvtf cxi conv.cxi --header ncch.header --exh exheader.bin --exh-xor $EXHXOR --exefs exefs.bin --romfs romfs.bin $USELOGO --plain plain.bin --not-update-exefs-hash --not-update-romfs-hash |
make_cia --content0=conv.cxi --id_0=00000000 --index_0=0000 $USEMANUAL$USEDLPCHILD --savesize=$(python2 get-savesize.py exheader.bin) -o CONVERTED.cia |
#!/usr/bin/env python2 |
importsys, os.path |
iflen(sys.argv) !=2: |
print('only need one argument for ExHeader') |
sys.exit() |
ifnotos.path.isfile(sys.argv[1]): |
print('file doesn't exist') |
sys.exit() |
ifos.path.getsize(sys.argv[1]) !=0x800: |
print('not 2048 bytes (ExHeader size)') |
sys.exit() |
f=open(sys.argv[1], 'r+b') |
f.seek(0xD) |
x=f.read(1) |
y=ord(x) |
print('original: '+hex(y)) |
y=y|2 |
print('shifted: '+hex(y)) |
f.seek(0xD) |
f.write(chr(y)) |
f.close() |
#!/usr/bin/env python2 |
from __future__ importprint_function |
importbinascii, sys, os.path |
iflen(sys.argv) !=2: |
print('only need one argument for rom') |
sys.exit() |
ifnotos.path.isfile(sys.argv[1]): |
print('file doesn't exist') |
sys.exit() |
rom=open(sys.argv[1], 'rb') |
rom.seek(0x190) |
tid=binascii.hexlify(rom.read(8)[::-1]) |
print(tid.upper()+'.Main.exheader.xorpad', end=') |
rom.close() |
Once the process is complete, press Start to reboot your 3DS, and then power it off from the Home Menu.Extracting Content from the Game: -Use the 'Hans Pack' to extract from the.CIA file. Extract it into a folder called 'HansScripts for Mario Maker.' - Insert the SD card back into the computer, and navigate to 'SD:/files9/'.
#!/usr/bin/env python2 |
from __future__ importprint_function |
importbinascii, sys, os.path |
iflen(sys.argv) !=2: |
print('only need one argument for ExHeader') |
sys.exit() |
ifnotos.path.isfile(sys.argv[1]): |
print('file doesn't exist') |
sys.exit() |
exh=open(sys.argv[1], 'rb') |
exh.seek(0x1C0) |
ss=binascii.hexlify(exh.read(8)[::-1]) |
print(int(ss, 16)/1024, end=') |
exh.close() |