I've got programs(just random, don't have the source code) that are being mounted on a virtual drive(with the aim of the DOKAN FileSystem Lib). Somehow programs being mounted cannot resolve DNS(translate domainnames into ip-adresses) when they are being mounted. This is a known bug in Dokan. There are not many alternatives to this than the dokan driver file system when you want to create a virtual file system. Anyways, I was thinking of creating a solution for this problem myself, some kind of short cut or so. I was wondering:
Is there a way to take over a function call from a certain process? Since I would like to resolve the DNS function calls of a mounted program with a program that is not being mounted. Can I possbily hook into the function getaddr from a mounted program or into winsock from this mounted program, and then let my own program resolve the dns and send back the answer? Or is there a better way to somehow manipulate the DNS resolving part of a program? Maybe I can share my virtual domain adress space and call the mounted program as a childprocess of myself? Will it then use the dll calls loaded by the program that is not mounted?
Lot of questions, but I have not a clue what is a good options that might work.
Someone with a suggestion?