A temporary and automatic theorm for blocking the system update checking is proposed.
Manipulation of Code.bin is involved, and 3dstool and customized tools are written for the deed.
Since the URLs for checking the updates are also inside the code.bin of nim module, this could be patched.
In major 3 steps would be taken.
1.Get .app/.cxi, from decrypted NAND, or from a decrypted CIA. Then unpack it with 3dstool.
2.Modify the decompressed code.bin for whatever needed.
3.Compress it, create exefs header and pack all those back into .app/.cxi, conversion to CIA is possible.
The CIA is touched, and enviorment with signature checks patched needed for installation.
This could also be used for further translation or whatever deed that would touch the code.bin.
Tools that ever used.
1.3dstool, author dnadsw. Latest version could be found in the github repo, "release".
2.CompressCode. Use this to compress the uncompressed one, old file would overwritten. With help info.
3.FixExefsHeader. Used for generating the exefs header for 3dstool, with compressed version of code.bin. With Help info.
CompressCode and FixExefsHeader are GPL licensed and republishing with source is appreciated. Modification is always allowed.
EDIT: Forgot to mention the blz.* files belong to its own author. So GPL may not suite that easy..
Code:
#Unpack the already decrypted .cxi "00000000.cxi". "exefs.O" would be there
3dstool -xvtf cxi 00000000.cxi --header ncch --exefs exefs.O --romfs romfs --exh exh --logo logo --plain plain
#Unpack exefs to "exefs" folder. code.bin would be decompressed ("u").
3dstool -xvtfu exefs exefs.O --exefs-dir exefs
#Now modify the code.bin.
#Compress code.bin. Decompressed one is now overwritten.
compresscode exefs\code.bin
#Generate new exefs header as "exefs.hdr".
FixExefsHdr exefs.hdr exefs
#Pack the exefs back to "exefs.N".
3dstool -cvtf exefs exefs.N --exefs-dir exefs --header exefs.hdr
#Pack the .cxi back to "00000000.modified" with 3dstool.
3dstool -cvtf cxi 00000000.modified --header ncch --exefs exefs.N --romfs romfs --exh exh --logo logo --plain plain
The detailed steps above could be used, noticing the lines beginning with #.