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

Mistersmiles wrote on ramori's profile.
Hi Ramori,

Could you please upload this? https://www.dlsite.com/maniax/work/=/product_id/RJ01168783.html

Thanks a ton.
seviness wrote on Shine's profile.
can you reupload this? thx.

✨Shine✨[240412][グラス] 洗脳悪堕ちSRPG~トルカ教団の野望~ [RJ01166925]

Isagi wrote on Shine's profile.
Hi, can you please upload this?
https://www.anime-sharing.com/threads/request-rj01183696-ムラムラ村-or-muramuramura-ピンクコーポレーション-新米olの淫らな闘い.1472795/
Thanks
Anchobee wrote on Shine's profile.
Hi, thanks for the upload of RJ01150742, seems like you locked the rar for mp3 so can I have the pw for it?