hey, can you modify a dll without having to recompile it?
like, you can open it up in ResHack, modify something and it'll probably work. is there other ways to do the same thing without having to manually open reshack, etc.? thanks
hey, can you modify a dll without having to recompile it?
like, you can open it up in ResHack, modify something and it'll probably work. is there other ways to do the same thing without having to manually open reshack, etc.? thanks
Registered Linux User #380033. Be counted: http://counter.li.org
What has this got to do with C? Shouldn't you post this in Windows programming?
Well he should have posted it in Windows programming. Now, what he should do is wait for a moderator to move it and not double post. Anyway, I don't think you can modify a DLL without recompiling it. Otherwise hackers would have a field day.
Sent from my iPadŽ
yeaa i wasn't thinking. sryWhat has this got to do with C? Shouldn't you post this in Windows programming?
yea..makes sense.Anyway, I don't think you can modify a DLL without recompiling it. Otherwise hackers would have a field day.
but hackers do have field days, just not as big of ones.
so then how do programs modify programs? like i installed deadaim, but when i run the aim executable it still runs everything that deadaim adds on and has a modified menu, etc.
Registered Linux User #380033. Be counted: http://counter.li.org
Many modifications on programs like that are seperate DLLs completely. They're designed in a way so that they can call a specific DLL (or all DLLs) when opening, and the path of that DLL can most likely be found in an ini, cfg or something similar. Consider an app like Firefox. If you have it installed on your computer, go to the plugins folder. See all the DLLs? All of that is either loaded when Firefox opens or when a webpage requests it (for instance a Flash movie). Which is why programs that load DLLs in such a manner are so prone to attack.
Sent from my iPadŽ
A much better approach is to use import libraries and force the users to recompile everything to use the DLL. You can modify a DLL and game companies do it all the time. It's called a patch but you will probably need a third party program to do it correctly. It's not impossible, but I hope you know quite a bit of assembly.
1. Load DLL or portion into a buffer.
2. Translate the binary result in the buffer to assembly instructions
3. Find the area you wish to modify and make changes.
4. Write the buffer to disk at the correct offset in the file, or write the entire buffer (if using the entire DLL) to disk.
A DLL is really an EXE except the first byte is different.
I always imagined patches were simply replacement DLLs. But I believe you.Originally Posted by Bubba
Sent from my iPadŽ
Some of them are and today most patches are since most people have broadband connections. But back in the day, patches literally patched binary files and these programs still have this ability even if it isn't used that often.
Hmmm... well then is it possible (perhaps with a digital signature) to remove that edittable functionality from your DLLs so noone can mess with them and any changes you need to make simply replaces the DLL?
Sent from my iPadŽ
i have very little assembly knowledge.Originally Posted by Bubba
k so do you know how to tell if a program is running? like when you go to upgrade aim or go to install deadaim, it can tell if aim is running and asks you to close it.
Registered Linux User #380033. Be counted: http://counter.li.org