Convert d3d9 model recognition logger to x64

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

Broihon

edgy 12 y/o
Escobar Tier VIP
Fleep Tier Donator
Dec 22, 2013
1,745
40,528
316
Didn't take a look at the source but the main difference between compiling x86 and x64 in this case is the pointer size. In an x86 program pointers are 4 bytes and in an x64 program 8 bytes big.
If you are using DWORDs as addresses you should use QWORDs or just a normal pointer (void*) instead.
For example when loading the VTable make sure you load the function pointers properly. If you use only 4-byte sized pointers for that it won't work.
Also when detouring you can't use x86 hooks for that. There are probably neat x64 detour function public.

Edit (just a simple example of what I meant):
C++:
void DX_Init(DWORD* table)
{
	//bla
	DWORD* pVTable = (DWORD*)pd3dDevice;
	pVTable = (DWORD*)pVTable[0];
	//bla
}

C++:
typedef unsigned __int64 QWORD;
void DX_Init(QWORD* table)
{
	//bla
	QWORD* pVTable = (QWORD*)pd3dDevice;
	pVTable = (QWORD*)pVTable[0];
	//bla
}
 
Last edited:
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods