I know some people in the translation world that could help here. Although I don't know what the issue is exactly.
Alright, so, quick update.
We were attempting to patch elf string pointers (the movw+movt instructions), the same way we did for Zero, but it was not working at all and ignoring the patched instructions.
I managed to identify the issue. The first issue is that the elf is relocated with a relocation table.
I did a test and nulled out the relevant records in the relocation table. This caused the patched strings to show garbage data and sometimes crash. This leads to the second issue: the game uses ASLR. (The address space of the game is randomized, so the relo table is patching everything at boot to have the proper addresses for where the game gets loaded.)
I am not super familiar with elf relocation so this has been a bit of a process. Right now, our "solution" involves using the "noASLR" plugin to disable ASLR, and using the patched elf with relevant relocation records nulled out.
I don't like this solution as it requires using an extra external plugin.
Some other potential solutions include:
1. Keep the patched elf with nulled relo entries, and find a way to disable ASLR without the use of a plugin.
2. Reverse how these relo entries work, and instead patch them to point to the new addresses.
I am leaning towards #2. The biggest issue is that doing quick tests like this on Vita games is a pain and super time consuming. ;(