Found text in debugger, need help translating to /h code.

kouji71

New member
Trusted Member
Jan 8, 2013
36
2
I'm trying to create an H code for the new remake of むすめーかーHD. I've found the memory location that the text is being stored at before going to the screen, but I have no idea how to make the code.

Here's an image of the memory location:
Capture.PNG

And here's the whole debug screen, with the two instructions that move the text to the location highlighted.

Capture2.jpg

If any additional information is necessary, please let me know. Thanks!
 
This is a complicated subject...

You need to find where the character get passed through a register (EAX, ECX, EBX ect...) or where it passes through the stack.
After you find a place it doesn't mean its a good place... other things can be passed through that code and will cause the hooking program to crash.

To write an h-code you start with: "/H", Next you need to specify what format the character is in (DBCS, DBCS revered, UCS2 ect...): "/HB".

Character formats: DBCS = A, DBCS revered = B, UCS2 = W, MBCS = S, UTF-16 = Q

Then you need the register or stack position that the four length hex character is in: "/HB-C".

Registers: EAX = -4, ECX = -8, EDX = -C, EBX = -10, ESP = -14, EBP = -18, ESI = -1C, EDI = -20
Stack: Positive numbers offset (count down from top of stack)

Then you will need the line of the executable code: "/HB-C@27973" unless you are using system dll's (witch always have a static address) you need to point to where the executable code is being run from: "/HB-C@27973:chibipire.exe". The first four numbers in the address change per execution, 00D61000 is the starting location of the program, 00D87973 is the location I want to hook at.

00D87973 (where I want to hook)
- 00D60000 (first four numbers that change per execution)
=27973 (result after taking off the part of the code that changes per execution)

So the hook location needs to be at 27973.

If you get a single character per output box try adding an "N" to your code: "/HBN-C@27973:chibipire.exe".

Strategy:
(1) Pause the game and search the memory map for the next string in hex, once found set a breakpoint on read(hardware breakpoints are better but have a limit of four).
(2) Trigger the breakpoint by running the program and clicking for the next text, then follow text flow until a good place is found where the character is in a registry/stack location. sometimes the text is not used but scanned by the program if this is the case run the program to trigger the breakpoint again.
(3) Make your h-code.

It takes me hours to find a good place and make an h-code (depending on the game).

http://freaka.freehostia.com/charset.php is a good resource that can convert hex into the various character sets and back.
Because I cannot type in moon runes, I use google translate on my phone to capture the text and convert it to numbers using the website linked above so I can use it on my PC.
This video tutorial on hongfire is usefull but a little old and the game chosen is simple compared to more recent games.

Some games have anti debugging security measures these will include detecting your debugger and modifying behavior (such as closing) and/or have protected memory that you cant scan.

What you found is where the text is being written to, not where it is in a register/stack.

PS: There is a translation project that is working on this VN: link But will probably be done in mid 2019-2020 (or later). I'm holding out for the 100% HD translation.
 
Last edited:

Users who are viewing this thread

Latest profile posts

huydgd wrote on Kurokaze's profile.
Hi Kurokaze. Could you please reup 真剣で私に恋しなさい this one, I will be patent. Thank you very much!
ATX130 wrote on Ryzen111's profile.
Hello, there seems to be something wrong with the file you uploaded. The game works fine, but it doesn't play music. I use dameon tools lite and prompt "unable to mount image. Cue sheet: line 1-file not accessible." Could you please re-upload it?

https://www.anime-sharing.com/threa...524-epi-人工-o-zone-jinkou-ozone-v1-01.1580473/
johnjohndoe384 wrote on Ryzen111's profile.
JCDBZ wrote on Otokonoko's profile.
cocolia19 wrote on Otokonoko's profile.
Hello. Can You upload the video from yuluer of Furina? Please