The Vinesauce ROM Corruptor allows you to arbitrarily replace text, provided that the way the text is stored in the file to corrupt meets certain requirements.
The text replacement tab of the user interface is shown below.
It has three major inputs.
Anchor Words:
Enter at least one word that you know exists in the file into this text box. These words are used to understand what encoding the text in the file has. Usually one word is enough. The program can currently decode any text that uses one byte per character and sequentially encodes (ie. A is 5, B is 6, etc.). The ASCII format is an example of a format that meets these criteria.
Text to Replace:
Enter the text to replace into this text box. Multiple sections of text can be replaced by putting pipe characters (|) between them. Any characters that are not letters (ie. numbers, spaces, hyphens, etc.) will match any character in the file. Small sections of text will result in greater collateral corruption of the file, as they will match non-text data more often. It is recommended that each section is comprised of at least three letter characters.
Replace With:
Enter what to replace the matching sections of text with into this text box. If multiple sections of text were added into the box above, the same number of sections must also be entered into this box. Again, the pipe character (|) is used to separate sections. The length of each section does not have to match: replacement starts from the beginning of the matched text and goes until the replacement has been fully inserted.
Demonstration
In order to demonstrate text replacement, I will corrupt The Legend of Zelda which was developed and published by Nintendo in 1986 for the Nintendo Entertainment System. This game has a very iconic first interaction, where the old man gives a sword to Link with some very wise words.
Our goal is to make his words a little less wise. As we know that the word “dangerous” exists in the file, it is a good candidate to use as an anchor word. Also, the word “dangerous” seems a little out of date so lets replace it with “notorious”. The user interface below is set up to do just that. A settings file you can load with these settings is available here.
The result of running the above is shown below.
Great! However, the word “alone” seems a little harsh, and it does look like Link is lying down, so lets replace it with “prone”. The user interface below has the updated settings, available here.
The result of running the above is shown below.
Now things are getting silly, but not quite silly enough. Why give a man “this” when you can give a man “fish”? The user interface below has the updated settings, available here.
The result of running the above is shown below.
Perfect! That will show the old man waiting in a cave giving swords to boys the error of his ways.