Skip to content

2013-10-25

Compare
Choose a tag to compare
@nmlgc nmlgc released this 25 Oct 21:19
· 2130 commits to master since this release

The result of two months worth of painstaking detail work. DLL injection chaining (read: vpatch) support, a number of smaller bug fixes, and quite a lot of general quality improvements throughout the code base.

thcrap
  • Actually call strings_patch(). -.-
  • Eliminate directory creation confusion and patch CreateDirectoryA().
  • Patch Win32 dialog font sizes.
  • Correctly determine the size of patched Win32 dialog items, once and for all.
  • strings_vsprintf(): Rewrite to work independently of string encoding.
  • Introduce a "Rx" syntax for hexadecimal addresses relative to the game's base address.
  • Use three methods to determine the entry point of the game process.
  • Detour CreateProcess() and LoadLibrary() for DLL injection chaining.
  • Detour CreateRemoteThread() to apply the thcrap detours to newly injected DLLs.
  • Add inject_CreateProcessW().
  • Add a basic custom exception handler.
  • log_nprint(): Check if the console was opened.
thcrap_tsa
  • tsa_CreateWindowExA(): Observe CW_USEDEFAULT.
win32_utf8
  • Add GetModuleFileNameEx().
  • Redirect GetWindowLong and SetWindowLong to their W equivalents.
  • Add GetPrivateProfileInt().