How to edit text stored in a Binary file?

  • Thread starter Thread starter Linh_Tran
  • Start date Start date
  • Views Views 1,175
  • Replies Replies 3

Linh_Tran

Member
Newcomer
Joined
Mar 19, 2025
Messages
15
Reaction score
1
Trophies
1
Age
106
XP
132
Country
Saint Kitts and Nevis
I'm currently researching how to modify text in a game that stores its data in a Binary format. I need help with:
  • How can I locate and edit text within a Binary file?
  • Are there any tools that allow me to read & modify text without corrupting the data?
  • If the game uses a custom character encoding, how can I identify and modify it correctly?
📂 The files I'm working with include .wisty and .wifnt (specifically is Xenoblade X DE), which may be related to font or text mapping. If anyone has experience with this, I'd appreciate any guidance or documentation. Thanks in advance!
 
You need a hex editor.
Some editors like Notepad++ can do that with a plugin :
https://stackoverflow.com/questions/60641199/use-notepad-as-hex-editor

They show the hex code on the left and the ASCII representation of the hex codes on the right.
If the text is in ASCII, you can see the text on the right part of the screen.
Some editors allow you to type in both areas so that you can just replace the text by typing.
Other editors will only allow you to change the hexadecimal code so there you need to look up the hex codes for the letters.
It gets more complicated if unicode or some other encoding is used.
Those encodings are 2 or 3 bytes.
On my mac I don't have any editors that support editing unicode directly.

Sometimes games use their own encoding or they encrypt it in order to prevent direct editing.
Some games also apply a checksum to the text to detect whether the text was changed.
Some game files might be zipped up or encrypted entirely.

Just open your files with a hex editor and look if you can see anything you recognize.
Sometimes it helps knowing what game sdk/tools/platform the game was made with.
If it is something like Unity, they probably handle text resources in the same way all other Unity games do.
 
  • Like
Reactions: Linh_Tran
Next time just say the game and ask how to translate it. Answer will be more straightforward as nobody sane will translate such huge game with hex editor alone. Each game requires separate treatment and you cannot compress everything into one tutorial.

XCDE translation is stored in bdat folder, tools for editing bdat:
https://github.com/roccodev/bdat-rs
Post automatically merged:

How can I locate and edit text within a Binary file?
Hex editor.

Are there any tools that allow me to read & modify text without corrupting the data?
If someone didn't make already such a tool for specific game, you must make it yourself. You can bet that editing text in binary files with hex editor without maintaining offsets, sizes, encoding and coding style (f.e. C string, fixed-size string) will corrupt them.

If the game uses a custom character encoding, how can I identify and modify it correctly?
It all comes to experience. Each language and platform has its series of most popular encodings. Issue comes when some kind of weirdness is introduced (like in MAGES games bytes are negated aka 0x20 becomes 0xD0). Like the most popular encodings for games released globally are UTF-8 and UTF-16. For Japanese games it's Shift-JIS and its reiterations, English DOS games are using CP437, etc. etc.
 
Last edited by masagrator,
Next time just say the game and ask how to translate it. Answer will be more straightforward as nobody sane will translate such huge game with hex editor alone. Each game requires separate treatment and you cannot compress everything into one tutorial.

XCDE translation is stored in bdat folder, tools for editing bdat:
https://github.com/roccodev/bdat-rs
Post automatically merged:


Hex editor.


If someone didn't make already such a tool for specific game, you must make it yourself. You can bet that editing text in binary files with hex editor without maintaining offsets, sizes, encoding and coding style (f.e. C string, fixed-size string) will corrupt them.


It all comes to experience. Each language and platform has its series of most popular encodings. Issue comes when some kind of weirdness is introduced (like in MAGES games bytes are negated aka 0x20 becomes 0xD0). Like the most popular encodings for games released globally are UTF-8 and UTF-16. For Japanese games it's Shift-JIS and its reiterations, English DOS games are using CP437, etc. etc.
Many thanks!
 

Site & Scene News

Popular threads in this forum