-
Member
Search Library for C # and 64 Bit
I have always used a self-programmed code for reading memory in the 32 and 64 bit system. But now all this is a while ago and I do not want to rewrite everything, especially since I can not do the ASM.
Is there a C # dll I can use for 64 bit applications?
best regards
-
If you are just reading memory, there is no need to deal with assembly. Just use the PInvoke and call it directly.
pinvoke.net:
ReadProcessMemory (user32)
-
Member
Originally Posted by
Sychotix
Thank you for your answer. Unfortunately, I also need ASM because it seems that the CTM is no longer writing the XYZ coordinate and Action 5!
-
Originally Posted by
Picasopaya
Thank you for your answer. Unfortunately, I also need ASM because it seems that the CTM is no longer writing the XYZ coordinate and Action 5!
Ah. Isn't CTM just writing the X/Y/Z to certain addresses, then writing a "GO" value to another address? WriteProcessMemory should do the trick.
pinvoke.net:
WriteProcessMemory (kernel32)
-
Member
Originally Posted by
Sychotix
I think you misunderstand me. I would like to use ClickToMove in WoW. Unfortunately, this does not work as usual with the function you specified.
I'll probably need ASM injections for that. I can not do that without help unfortunately .. I'm not that good!
-
Originally Posted by
Picasopaya
I think you misunderstand me. I would like to use ClickToMove in WoW. Unfortunately, this does not work as usual with the function you specified.
I'll probably need ASM injections for that. I can not do that without help unfortunately .. I'm not that good!
https://www.ownedcore.com/forums/wor...questions.html (Newbie questions)
From your question here, it sounds as if you are not aware of how offsets work. Offsets basically tell you where certain things are located within the game. With a game like WoW that is frequently updating, offsets change fairly regularly. The memory editing section is active enough such that you can find just about everything you need in there with a bit of digging. I haven't dug into Click to Move in a number of years, but it was not necessary to inject into memory and call the CTM method. There were 4 offsets if I remember correct. 3 for the target X/Y/Z and 1 for the... action maybe? The GO offset. All you should need to do is find those updated offsets.
EDIT: and if you go the other approach, you could simply write your program as a DLL and inject it using any injector you would like. No ASM knowledge required. If you want to keep your program out of process, you could inject a DLL which does the method calling and sends back the results. I don't know the best approach for the cross-app communication... but I have used a named pipe in the past to communicate between a server and a client. It adds a little delay, but nothing big.
-
Post Thanks / Like - 1 Thanks
Picasopaya (1 members gave Thanks to Sychotix for this useful post)
-
Member
Originally Posted by
Sychotix
https://www.ownedcore.com/forums/wor...questions.html (Newbie questions)
From your question here, it sounds as if you are not aware of how offsets work. Offsets basically tell you where certain things are located within the game. With a game like WoW that is frequently updating, offsets change fairly regularly. The memory editing section is active enough such that you can find just about everything you need in there with a bit of digging. I haven't dug into Click to Move in a number of years, but it was not necessary to inject into memory and call the CTM method. There were 4 offsets if I remember correct. 3 for the target X/Y/Z and 1 for the... action maybe? The GO offset. All you should need to do is find those updated offsets.
EDIT: and if you go the other approach, you could simply write your program as a DLL and inject it using any injector you would like. No ASM knowledge required. If you want to keep your program out of process, you could inject a DLL which does the method calling and sends back the results. I don't know the best approach for the cross-app communication... but I have used a named pipe in the past to communicate between a server and a client. It adds a little delay, but nothing big.
Thanks for the competent answer. But where is the difference when injecting from a DLL and reading a memory area and write in there?
-
Originally Posted by
Picasopaya
Thanks for the competent answer. But where is the difference when injecting from a DLL and reading a memory area and write in there?
Well, to my knowledge, in order to invoke a method within the process you need to inject code within that process. If you have found the offset to the click to move method and wish to invoke it directly, you will need to write a DLL which accepts the input X/Y/Z (potentially from a named pipe) and then invokes the method.
Reading and Writing memory can be done out of process and requires no injection. You would not be able to directly invoke a method however. As I mentioned before, a few years ago ClickToMove seemed to basically invoke itself when you set the action address... but ultimately it is up to you how you want to design your code.
EDIT: I've been informed that the X/Y/Z and action stuff MAY not work anymore. If you want to call the click to move method directly, injecting a dll to run your code is probably your best bet.
EDIT: Nevermind maybe?
Last edited by Sychotix; 08-21-2018 at 08:36 AM.
-
Member
Originally Posted by
Sychotix
Well, to my knowledge, in order to invoke a method within the process you need to inject code within that process. If you have found the offset to the click to move method and wish to invoke it directly, you will need to write a DLL which accepts the input X/Y/Z (potentially from a named pipe) and then invokes the method.
Reading and Writing memory can be done out of process and requires no injection. You would not be able to directly invoke a method however. As I mentioned before, a few years ago ClickToMove seemed to basically invoke itself when you set the action address... but ultimately it is up to you how you want to design your code.
EDIT: I've been informed that the X/Y/Z and action stuff MAY not work anymore. If you want to call the click to move method directly, injecting a dll to run your code is probably your best bet.
EDIT: Nevermind maybe?
Yes and there is the problem, I have to deactivate Warden (Anti Cheat), I think. And that is clearly too high for me!
And so I thought that I could just inject some ASM and then run like that. But I need a library to help me with that, because so far I have only worked with ReadProcessMemory and WriteProcessMemory.
So my question for a library for it, so I can read smart and test it too!
-
Originally Posted by
Picasopaya
Yes and there is the problem, I have to deactivate Warden (Anti Cheat), I think. And that is clearly too high for me!
And so I thought that I could just inject some ASM and then run like that. But I need a library to help me with that, because so far I have only worked with ReadProcessMemory and WriteProcessMemory.
So my question for a library for it, so I can read smart and test it too!
What exactly do you want this library to do? Why do you think "injecting some ASM" will somehow bypass warden?
-
Member
Originally Posted by
Sychotix
What exactly do you want this library to do? Why do you think "injecting some ASM" will somehow bypass warden?
If I inject a DLL, then the memory of the application gets bigger. And that's what I think scans WARDEN! Or?
-
Originally Posted by
Picasopaya
If I inject a DLL, then the memory of the application gets bigger. And that's what I think scans WARDEN! Or?
I can't speak for what warden does or doesn't scan for, but I believe there are many valid use cases where DLL's are loaded into a process. If I had to guess, unless warden sees your loaded binary as suspicious... you will be fine.
I'd be surprised if you could find any library that can do what you want without injecting a dll.