On a 32-bit computer, it should be pretty obvious that this is a bit. Any processor application takes care.
A 64-bit computer receives two separate .NET Framework installations: one for each bit. A .NET application compiled with any CPU, since the target usually runs on a 64-bit installation, but can also work on a 32-bit installation if it refers to another application that directly targets x86. Thus, you can only be sure of what you get if you know how the application runs: as an independent process or through a link.
I would not make any assumptions. Do not assume that this process is 64-bit on a 64-bit computer: it may be 32-bit. Check it correctly to see what mode it is working in. Then enter the 32-bit or 64-bit version, respectively.
The reason you should use the same bitte as the target process is because for technical reasons that I will not receive, such hooks cannot cross the so-called SysWOW barrier. SysWOW allows 32-bit applications to run on a 64-bit computer, 16-bit applications to run on a 32-bit computer, etc. You cross the barrier when you talk between applications running on opposite sides of SysWOW — that is, one works in SysWOW (32-bit) and the other doesn't (64-bit). Simply put, the process must be entirely in or out of SysWOW. Thus, you cannot add 32-bit code to a 64-bit process and vice versa.
Zenexer
source share