Results 1 to 2 of 2
  1. #1
    Junior Member
    Join Date
    Jan 2013
    Posts
    28
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Points: 4,516, Level: 42
    Points: 4,516, Level: 42
    Overall activity: 0%
    Overall activity: 0%
    Achievements:
    1000 Experience PointsVeteran

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

    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!

  2. # ADS
    Circuit advertisement
    Join Date
    Always
    Posts
    Many
     

  3. #2
    Junior Member Low Gravity's Avatar
    Join Date
    Jul 2012
    Age
    29
    Posts
    14
    Thanks
    2
    Thanked 4 Times in 3 Posts
    Points: 4,449, Level: 42
    Points: 4,449, Level: 42
    Overall activity: 2.0%
    Overall activity: 2.0%
    Achievements:
    1000 Experience PointsVeteran

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

    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 by Low Gravity; August 6th, 2018 at 07:20 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Need help in translating something from Russian to English
    By pumasrevenge in forum General Discussions & Debates
    Replies: 0
    Last Post: August 23rd, 2017, 02:54 PM
  2. need help to translate what this means plz
    By invalidade in forum Tech Support and Talk
    Replies: 8
    Last Post: February 17th, 2014, 01:47 AM
  3. Need Help translating this
    By spoxxy in forum Questions & Answers
    Replies: 2
    Last Post: April 5th, 2013, 06:50 PM
  4. Need help With trying to translate VN's
    By Ren Nanase in forum Tech Support and Talk
    Replies: 2
    Last Post: September 2nd, 2012, 09:22 PM
  5. Need help to delete a that have too long name..
    By joe_black1111 in forum Tech Support and Talk
    Replies: 7
    Last Post: June 23rd, 2011, 07:08 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •