Hacking Replace 3DS keyboard without changing region?

mistyhands

Member
OP
Newcomer
Joined
May 30, 2016
Messages
19
Trophies
0
Age
101
XP
112
Country
Saint Kitts and Nevis
Seeing as it allows for input of both kana and alphanumerics, I'd like to be able to replace the system keyboard on my eu n3DS with the JP equivalent.

I found the title key of the JP keyboard, used PlaiCDN to download it, and used a hex editor to change the title ID so it'd replace the existing keyboard. However, whenever I enter System Settings, or do anything which requires keyboard use, the app crashes, and the "An error has occured" dialog appears, restarting the 3DS.

Anyone have a solution?
 

mistyhands

Member
OP
Newcomer
Joined
May 30, 2016
Messages
19
Trophies
0
Age
101
XP
112
Country
Saint Kitts and Nevis
So far, I've tried to use a hex editor to replace the title ID of the Japanese swkbd. Didn't work.
I've tried to extract it, edit the title ID in the ExHeader, and recompile it, but it does not work. It must be encrypted for it to work. Decrypt9 states that the rebuilt CIA is not encrypted.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
1
XP
4,975
Country
Antarctica
Instead of using a hex editor, maybe you could simply swap the exheaders, using the US/EU one instead of the Japanese one? That way you'd keep the Japanese exefs and romfs intact, but have the proper and valid exheader for your region. Of course, that would require using a tool to break the CIA up into its individual parts, but since everything wouldn't be edited and valid, it shouldn't be too hard to put them back together.

Note that I'm just thinking out loud here, not speaking from any experience with this idea.
 

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
394
Trophies
0
Age
27
XP
1,837
Country
Russia
Instead of using a hex editor, maybe you could simply swap the exheaders, using the US/EU one instead of the Japanese one? That way you'd keep the Japanese exefs and romfs intact, but have the proper and valid exheader for your region. Of course, that would require using a tool to break the CIA up into its individual parts, but since everything wouldn't be edited and valid, it shouldn't be too hard to put them back together.

Note that I'm just thinking out loud here, not speaking from any experience with this idea.
Well, I did some tests on my EUR system some time ago and it's definitely not that simple.

Replacing exheader gives nothing but freezing.
EU and JP code.bin's are completely identical, so it seems to be similar problem to
multi-lang games, when application tries to load certain files, depending on system's language.
If you overwrite Euro files in romfs with their Jap counterparts, keyboard will boot, but:
nLovVzE.png

Kcv478I.png

oVzQ3w8.png
So it's keyboard with Japanese GUI and European character set, it can't actually display Jap chars.

I think it probably could be solved by Luma's region/language emulation, but unfortunately it doesn't apply it to system applets.
Also, I can be wrong and maybe it's even harder than that, I don't have enough knowledge.
 

Mc Nasty

Member
Newcomer
Joined
Jan 6, 2009
Messages
24
Trophies
0
Age
43
Location
México City
Website
Visit site
XP
224
Country
Mexico
Ironically the Japanese / European / American text exists on all consoles and is based on unicode characters, and although not all the text there are many characters that can be written on a console ..
Would not it be easier to replace the keyboard actions or parts of the for example replace the "simbols" by the Japanese paragraph text without replacing the entire system?
In my case managed change the text by the cheat editor of the GW.. But several games support a lot of text that is not programmed on the keyboard console ..
 

Attachments

  • inf_0000.bmp
    225.1 KB · Views: 839
  • inf_0001.bmp
    225.1 KB · Views: 923
  • inf_0002.bmp
    225.1 KB · Views: 756

Sliter

Well-Known Member
Member
Joined
Dec 7, 2013
Messages
3,258
Trophies
0
Location
ᕕ( ᐛ )ᕗ
XP
1,672
Country
Brazil
Replacing exheader gives nothing but freezing.
EU and JP code.bin's are completely identical, so it seems to be similar problem to
multi-lang games, when application tries to load certain files, depending on system's language.
If you overwrite Euro files in romfs with their Jap counterparts, keyboard will boot, but:
can't we add more keyboards?instead of replacing? Mayb if choosing te japanese was an opition ?
But I don't know how it could be added and what have to be edited to add the opition
 

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
394
Trophies
0
Age
27
XP
1,837
Country
Russia
Well, it looks like it's actually possible to replace characters. :P
9tX50O8.jpg


a4QH4Z8.png
To be continued…
 

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
394
Trophies
0
Age
27
XP
1,837
Country
Russia
Just asking, what process are you using to compile and install valid CIAs?
Sorry that I didn't reply sooner.
I'm using ctrtool, 3dstool and makerom to unpack/repack cia.

Here's what I did for european keyboard cia:

ctrtool --content=system 000400300000D002.cia
3dstool -xvtf cxi system.0000.0000000b --header ncch.header --exh exheader.bin --exefs exefs.bin --romfs romfs.bin --plain plain.bin
3dstool -xvtf exefs exefs.bin --exefs-dir exefs --header exefs.header
3dstool -xvtf romfs romfs.bin --romfs-dir romfs
Edited swkbd_msbt_LZ.bin from romfs/message/EU_English folder and repacked it:
3dstool -cvtf romfs romfs.bin --romfs-dir romfs
3dstool -cvtf cxi system.0000.0000000b --header ncch.header --exh exheader.bin --exefs exefs.bin --romfs romfs.bin --plain plain.bin
makerom -f cia -o 000400300000D002.CIA -content system.0000.0000000b:0:0x0b -major 4 -minor 0

After repacking you MUST use CIA Encryptor in Decrypt9, otherwise it won't work.

More progress, whole Mobile keyboard replaced with Jap chars (except for convert button):

bF8f2rk.png
 

Ryccardo

watching Thames TV from London
Member
Joined
Feb 13, 2015
Messages
7,406
Trophies
0
Age
26
Location
Imola
XP
6,346
Country
Italy
I've finally done it in a way that satisfies me for the Italian keyboard, here's the msbt and the important parts of the source so that you can easily port it to your favorite language with some changes:


Code:
あいうえお
かきくけこがぎぐげご
さしすせそざじずぜぞ
たちつてとだぢづでど
なにぬねのん
はひふへほばびぶべぼ 
まみむめもぱぴぷぺぽ
やゆよ 
らりるれろわを 

 ・ゃゅょ、。

Code:
アイウエオァィュェォ
カキクケコガギグゲゴ
サシスセソザジズゼゾ
タチツテトダヂヅデド
ンナニヌネノ
ハヒフヘホバビブベボ
マミムメモパピプペポ
ヤユヨ
ラリルレロワヲ

 ・ャュョ、。

Code:
Vocali
k/g
s/z
t/d
n
h/b
m/p
y
r/w

Mod.


 

Attachments

  • EU_Italian.zip
    3.9 KB · Views: 479
General chit-chat
Help Users
    NeoGaming @ NeoGaming: :sleep: