Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / Need a memory editing dll

Author
Message
MadrMan
19
Years of Service
User Offline
Joined: 17th Dec 2005
Location: 0x5AB63C
Posted: 2nd Apr 2006 19:15
I need a dll which enables dbpro to edit memory in other applications, so it can be used as a trainer or info extracting tool. can someone either make it, or find it?
it can't be that hard.. , atleast, for someone who knows how to make dlls.

we'll all turn mad someday..
Three Score
21
Years of Service
User Offline
Joined: 18th Jun 2004
Location: behind you
Posted: 2nd Apr 2006 21:21 Edited at: 2nd Apr 2006 21:24
Quote: "edit memory in other applications"

impossible unless the memory is filemapped

if you could edit memory in other apps then that would pose as a major security flaw because a virus could just edit the memory in every app and cause everything to crash


but however if your looking to share memory between apps and you are making both apps then you could use filemapping to make shared memory
I have developed a plugin just for that purpose
(no .ini yet)
plugin is attached

the commands are:
ptr_to_memory=Create Shared Memory(name_of_memory,access_type,size,number)
this creates memory for another proccess to open
ptr_to_memory: This is the pointer to the new memory, if 0 then error
name_of_memory: This should be a unique name for the name, in the other application it needs to open the memory using this name
access_type:should be 1 if you want no access to it, 2 if you want it readonly, 4 if you want both read and write, 8 if you want to only be able to write(i think)
size:the size of the memory to create
number:should be from 0-32

ptr_to_memory=Open Shared Memory(name_of_memory,access_type,number)
this opens shared memory created by another proccess
ptr_to_memory:the pointer to the newly opened memory
name_of_memory:The name of the memory, should be the same as the name of the created memory
access_type:see above
number:should be from 0-32

error_or_not=Close Shared Memory(number,ptr_to_memory)
this closes opened/created shared memory
error_or_not:0 if error
number:The numebr of the memory
ptr_to_memory:the pointer to the memory

Write String ptr,string
this writes a string at the location of ptr
ptr:where to write the string
string:the string to write to memory


I also have a read string but it don't work

btw this is the source code incase your a C programmer and want to have it communicate or whatever





Your signature has not been erased by a mod but rather all bits set to 0
MadrMan
19
Years of Service
User Offline
Joined: 17th Dec 2005
Location: 0x5AB63C
Posted: 3rd Apr 2006 09:16
Hex editors, some hex editors can open a game's memory, and you can see it, edit it, real-time.
that's what i meant, it won't crash the game if you know what you are doing, i tried to look up the commands, but couldn't find them.
a program like Winhack 2, (trial attached).

thanks for that though

we'll all turn mad someday..
IanG
20
Years of Service
User Offline
Joined: 25th Sep 2004
Location: Cyberspace
Posted: 3rd Apr 2006 17:56
you would have to have a look in thte win api as it will be in there somewhere, but generally speaking it can not be done - there are a lot of safe guards in windows to stop it from happening


amd athlon xp 2600+,1280mb,FX 5200 128mb,200gb,xp pro sp2
MadrMan
19
Years of Service
User Offline
Joined: 17th Dec 2005
Location: 0x5AB63C
Posted: 3rd Apr 2006 18:20
Um, trainers do it?

we'll all turn mad someday..
empty
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: 3 boats down from the candy
Posted: 3rd Apr 2006 19:42
It's tricky but possible.
Different processes (executables) cannot access each other's memory. Filemaps are the official way to go, however, if you're planning to access the memory of a third party process, you'd need to take one of the inofficial routes. Depending on what exactly you're planning to do, one possible path is to inject a DLL in the host process. That wouldn't be a generic solution though, but lots of "tainers" do that (or at least did that- I'm not up-to-date anymore regarding this stuff).

MadrMan
19
Years of Service
User Offline
Joined: 17th Dec 2005
Location: 0x5AB63C
Posted: 4th Apr 2006 16:35
Did anyone of you even look at the winhack yet?
it can select a running app, and then directly edit and read memory, and thats what i mean.

we'll all turn mad someday..
empty
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: 3 boats down from the candy
Posted: 4th Apr 2006 18:21
Quote: "Did anyone of you even look at the winhack yet?"

Counter question: Did you even read my post?

Such a thing won't be (properly) done on an afternoon for languages like Delphi or C(++). And it'll be even more time consuming to do that as a plugin for DBpro.
Anyway, good luck finding a solution.

MadrMan
19
Years of Service
User Offline
Joined: 17th Dec 2005
Location: 0x5AB63C
Posted: 4th Apr 2006 18:27
Hmm, i just searched forums and pages a bit, and i found out that some trainers are made by looking processes up in the hardware, and editing it there. but all im asking for is a command like write_memory(process_name,adress,value) and a read.. some time ago i found things like 'read memory' for c++ and stuff, but i have no idea how it works and im not eve sure if that was the command..
i did just found this 72 page long tutorial, which isn't really helping. because it isnt directly editing the memory, but the exe itself.

and it's old

and for the 'afternoon'.. i have no idea, if theres just a command for those languages, it might be done soon. if it involves hardware lookups, well.. there goes my idea

we'll all turn mad someday..
empty
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: 3 boats down from the candy
Posted: 4th Apr 2006 18:44
To repeat what has been said, Windows does not allow a process to access the memory of another process. It's difficult to read and even more to write. If it were that easy, you'd have to re-install you system every other day. There are work arounds, as I mentioned above, but it's not a matter of... well Peek and Poke.

IanG
20
Years of Service
User Offline
Joined: 25th Sep 2004
Location: Cyberspace
Posted: 4th Apr 2006 20:09
dll injection is the most common way - and is probably what your winhack program does, but you can do other ways, you could write a driver of some sorts, but why do you need to edit of apps memory anyway - you said in your first post for trainers and info extracting tools but what do you exactly want to do - you might be over complicating things, like if you want to get info from the app you can sometimes do it through less complicated methods depending on what you want


amd athlon xp 2600+,1280mb,FX 5200 128mb,200gb,xp pro sp2
MadrMan
19
Years of Service
User Offline
Joined: 17th Dec 2005
Location: 0x5AB63C
Posted: 4th Apr 2006 20:51
Well, some info about what dll injection is would be nice
the program im making, is a bot, it currently can connect to a matchmaker of populous 3, trough some difficult encrypting and stuff, but eventually it reaches the matchmaker so it can talk there.
People use the matchmaker to play games trough it, and i can let my bot do that too, i know how to move to the mouse, how to capture the screen, but just being able to move the mouse and capturing the screen isn't enough to make an automatic game-playing robot, i have messed around ALOT with the game's memory, i know the adress of quite some data the game uses, and can change it. if i can combine all this i can let him play the game, to a certain level of course.
that's why i need it. also, i know a ton of other things i could use a memory editing plugin for, like for making trainers and stuff. of course i could just use a trainer maker kit for it, but i dont my bot would have such a great use of a trainer maker kit..

oh and the manual i found was a DOS manual, explains the .com files...

maybe there is another way for all this though.. i know the game uses a constants.dat, stored somewhere in the game's temp directory, i might be able to open that instead of the game's memory, but it might get a little trickey, since i don't know much about, wish me good luck, atleast all i would need for that is read byte and write byte

we'll all turn mad someday..
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 5th Apr 2006 15:46
This is about Windows, not DOS. Just to reiterate what ewveryone else has told you: YOU CANNOT WRITE TO THE MEMORY ADDRESSES OF ANOTHER PROCESS WITHOUT JUMPING THROUGH A LOT OF COMPLICATED HOOPS.

I've got a suggestion ... google for code injection. codeproject.com in particular has lots of information on this type of thing if you are willing to read/understand it.

For free Plug-ins and source code http://www.matrix1.demon.co.uk

Login to post a reply

Server time is: 2025-08-08 17:27:46
Your offset time is: 2025-08-08 17:27:46