Skip to content

Updating

stan92 edited this page Nov 7, 2024 · 1 revision

Note: This guide requires the use of IDA (Interactive Disassembler).

Steps:

1. Locate the VoiceChatEnableApiSecurityCheck

  • Search for the string VoiceChatEnableApiSecurityCheck in IDA.
  • Go to the only XREF (cross-reference) associated with this string (keybind is X in IDA).

image

2. Identify the "Identifier" Function

  • Go to the start of the function where VoiceChatEnableApiSecurityCheck is referenced.
  • Look for a function call with no arguments. This should be one of the first calls, usually the first or second.
  • This no-arg function call is what we'll refer to as the "identifier" function.

image

3. Trace the "Identifier" Function

  • XREF the "identifier" function.
  • Go through each XREF until you find one that uses a string called internal_dev.

4. Access the Disassembly View

  • In IDA, navigate to the Disassembly view.
  • Make sure you are at the line where the "identifier" function is called.

5. Locate and Patch Instructions

  • Go three instructions up from the call to the identifier function.
  • Go to Edit in the IDA toolbar.
    • Select Patch Program -> Change Byte.

6. Copy the AOB Values

  • Copy the AOB (Array of Bytes) values provided by IDA.
  • Paste the values into a notepad for later use.
  • Close the Patch Bytes GUI in IDA.

7. Modify the AOB for Signature Extraction

  • In the notepad, search for the byte sequence E8.

  • Remove any bytes that appear after E8. For example:

    Original: 48 81 EC 40 03 00 00 84 D2 74 05 E8 C2 2B F0 02
    Modified: 48 81 EC 40 03 00 00 84 D2 74 05 E8
    

8. Format the AOB for Signature

  • Convert the AOB values into a format with 0x prefixes, as follows:

    48 81 EC 40 03 00 00 84 D2 74 05 E8
    

    becomes:

    0x48 0x81 0xEC 0x40 0x03 0x00 0x00 0x84 0xD2 0x74 0x05 0xE8
    
  • This is your signature.

9. Format the AOB for the patch

  • Locate the patch bytes in your signature: specifically, 0x74 and 0x05.
  • Replace 0x74 and 0x05 with 0x90, which results in the following modification:
    0x48 0x81 0xEC 0x40 0x03 0x00 0x00 0x84 0xD2 0x90 0x90 0xE8
    
  • This is your patch. You can now easily modify the internal-studio-patcher program with a correct signature if the signature is currently invalid.