therofl (11-02-2010)
Sawp.
So, I'm wondering if you can emulate a module being loaded after it's already been loaded. I know for a fact that DLL's are only loaded into memory once, then the executable imports the function into the IAT, and it goes from there.
Reason being, I edited a table full of addresses and I want to reset them. The only way I was able to edit them in the first place was if my module got loaded before that module ( at runtime ) meaning I'm only able to edit the addresses once.
Any other way I can do this besides re loading the module, if possible? I mean, it seems pretty complex just to reset the table to it's default addresses.
therofl (11-02-2010)
You would either have to unload and load the library again, or manually load from the file.
Void (08-12-2010)
Make a trigger event that would change the addresses back. Really dont have to reload or load it again as long as you trigger a event that will do as you please.
therofl (11-02-2010)
therofl (11-02-2010)
address->hackon;
address->hackoff; // rewrites the address back to its original
if u edited the addresses once u should be able to edit them again.
Source code mabye? Your question is quite confusing..
You could just save the state of the addresses you need, edit them, and write back the original values - much simpler than having to reload the module.
On a side note, I coded this thing to unload modules a while back, I might still have it on my computer somewhere, so I may be able to pull it up on request. [written in C#, was originally for Portal, but I ended up simplifying the whole thing and removing hundreds of features in exchange for user simplicity. Easily ported to C++ or an equivalent language]
Are they function pointers? if so just let your hooked function decide what to do(modify stuff or return control to the original function)
if not then I don't know ;P
Ah we-a blaze the fyah, make it bun dem!