Woops accidentally posted again, sorry >_<.
Anyway thanks for any replies.
Hmm i guess this is just a general question. Let us say i had a program, that i didn't make, Program Cat. And i wanted to create a program to directly interact(ie have access to the memory of), with program Cat, called program Hi.
Would the only way for program Hi to do this be to make program hi a dll instead of an exe, and injecting it into Cat?
Also suppose lets say i wanted my now dll to have a GUI, could the GUI be coded directly into the DLL, or would it be necessary to make another exe that the dll interfaces with. infact is that even possible? Having the same dll be attached to 2 different processes at the same time?
Also now that the topic comes up, when there is a dll, and it is either injected, or legitimately there, is it's purpose so that the program can draw functions from it or something like that? So kinda like for extensibility?
Thanks, i'm new to DLL's, microsoft is confusing v_v
Woops accidentally posted again, sorry >_<.
Anyway thanks for any replies.
I've actually have been studying DLL lately. I don't really understand the .NET Framework, Windows and how it all interacts, but here is what I do know.
DLL are like any other executable, so you can pretty much make them do whatever a executable can do. The only problem with DLL is they can not execute themselves o_O, so you need an executable to "call" on a .dll in order for it's code to run, but once called on a .dll can interact with other programs and even call on other .dll's
Without .dll the window enviroment couldn't work because there has to be globally active programs that can access all other programs. Say you wanted to close a program, but the program froze D:... task manager allows you to do that because it can access the "frozen program's" code even though it is a separate entity.
For this reason .dll are very powerful tools, that's how keyloggers can view your keystrokes even when you type it in another program.
"Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."- Dwight D. Eisenhower
man u confused the crap out of me, call me a newb at C++, im still on the first chapter of the the C++ Beginner's Guide lol
You would have to edit the engine for the process to call the dll you wanted but injectors force the dll into the memory of the process. Cutting work in half...
Goals In Life:
[X] Become an Advanced Member
[X]Release a tut on mpgh
[0]Post 300 posts
[X]Make a working hack
[X] Learn c++