xxxxx@hotmail.com wrote:
I can not understand why every time I?m asking a no standard question I get an answer of something link âthis code is maliciousâ or âyou are trying to hurt other softwareâ or something link this. There are also none malicious use of a lot of technique.
When someone asks a question about a technique that we KNOW to be
dangerous, are you saying we should just keep quiet about it?
Here is the problem that causes this to happen. When people come here
with questions, they have a problem to solve. But when they ask their
question, they donât say âI need to solve X problem. What are some good
ways to do that?â Instead, less experienced people will often have done
just a bunch of misguided web searching to come up with proposed
solutions that are completely wrong. They will focus with laser-like
intensity on these wrong approaches, and ask us âI need to implement
proposed solution Y. How do I do that?â They are looking at the tree,
not at the forest.
When someone comes to us and asks, âI need to get plutonium for a
nuclear reactor, where can I do that?â, it behooves us to dig in a bit,
in case they are trying to create a power supply for a nuclear-powered
fly swatter. There are better ways to solve that problem.
Those of us who have been in the business a long time recognize that
âsolution Yâ is almost always a naive attempt to solve some other
problem. What we are TRYING to do is get you to describe the PROBLEM
you are trying to solve, not the solution you think you have come up with.
Fortunately, you did exactly that in this email, and thatâs a Good Thing.
The driver is for Windows 64Bit and so it is necessary to sign the driver. I donât think someone will create malicious code or virus code in its own signed driver.
Malicious and and dangerous are two very different things.
Iâm thinking about the following design:
- we have a service and a driver
- sometime it is necessary that the service will capture some user events or do something else on the user account
- For this Iâm thinking about to create a simple dll that will be loaded with the explorer. It is not necessary to create a process, a simple dll is enough.
The problem is that from user mode I have found no way to load and unload the dll in the explorer so Iâm searching a way to load the dll from the kernel mode.
Explorer extensions are trivially easy to write. You just register a
COM object and put it in the right location. Explorer will happily load
your DLL. Once it is loaded, you can do whatever you need.
Iâm searching for a simple solution to load a dll on another process. I know that there is the possibility to create an ATL DLL and register it to the explorer, but this DLL will only be loaded when it is necessary.
Why? A DLL that sits idle has no impact performance. That seems like
the perfect solution to your problem. Whatâs the point in having the
DLL come and go?
So my question: Is there a way to load a NO malicious signed dll in the explorer from a windows driver? If someone think it is not a good idea to load a signed dll in the explorer, please explain why.
There is no good way to load a user-mode DLL into a user-mode process
from a kernel-mode driver. However, you can certainly inject a DLL into
another process from user mode. Thatâs exactly how Windows hooks work.
Perhaps you should investigate Windows hooks some more.
In the end, I believe there are a number of very good user-mode
solutions to your problem.
â
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.