Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Way to load .dll at startup?

Posted on 2004-10-08
8
370 Views
Last Modified: 2010-04-05
Does Anyone know the way to load the FiLE .DLL at windows startup (because .dll cannot be seen in task manager of winNT platform) IN USER RIGHT ONLY ?
I have tried dll injection in madCollection of MadShi but impossible...
thanks.
0
Comment
Question by:lehongwang
8 Comments
 
LVL 6

Expert Comment

by:pritaeas
ID: 12257310
This is only possible if it is used by an .exe
There must be ways to keep a dll in memory, but it has to be started by an executable calling (a function in) it.
0
 
LVL 7

Expert Comment

by:petoskey-001
ID: 12258538
I'm a bit confused.

Why would you want the DLL loaded at startup without an EXE to launch it?  What would trigger the DLL's code?
0
 

Author Comment

by:lehongwang
ID: 12259104
because .dll cannot be seen in task manager of winNT platform
but UNDER USER RIGHT,I have no way to do so with register.
if UNDER ADMIN RIGHT,it's  so easy

trigger
....

begin
// dosomething if some call loadlibrary('my.dll');
end.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 2

Expert Comment

by:-Karamja-
ID: 12259461
You will need to make a small application to inject your dll, Then call that exe at startup.

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run

or using Delphi

procedure AddStartup;
begin
With TRegistry.Create Do
Try
RootKey:= HKEY_LOCAL_MACHINE;
If OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run\', True) Then
WriteString('My DLL Inject', ParamStr(0));
CloseKey;
Finally
Free;
end;
end;
0
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 12259719
DLL's are never meant to just run by itself. They lack the proper setup for the process space or memory management. There's only one option which, as Karamja already noted, is by injecting the DLL in the process space of another process.

However, these kinds of practices are extremely discouraged since these tricks can be used by virus writers and spyware writers to hide they malware. And personally I cannot think of any legitimate reason to do this.

However, it is of course possible to make the DLL part of the Explorer, and Explorer is always started by some user since it makes his desktop, toolbar and other things visible. Consider this as an alternate option.
0
 
LVL 13

Expert Comment

by:BlackTigerX
ID: 12262961
you could also use rundll32.exe to start your DLL...

rundll32 [name of DLL], [name of the function]
0
 

Author Comment

by:lehongwang
ID: 12264211

>>>>>However, it is of course possible to make the DLL part of the Explorer, and Explorer is always started by some user since it makes his desktop, toolbar and other things visible. Consider this as an alternate option.

how can we do that UNDER USER RIGHT ? because writing to register is limtited.
0
 
LVL 17

Accepted Solution

by:
Wim ten Brink earned 500 total points
ID: 12272157
The biggest problem if you only have user rights is that you're quite limited in the access rights that you have. That is true. But I thought that Explorer add-ins could be installed by any user, thus you would not need administrator rights. This is because you'll be adding registry entries to the CURRENT_USER branch, not the LOCAL_MACHINE branch of the registry.
Of course, as a simple user you cannot install anything that would affect the settings of other users. If you could, that would be a bug in Windows. (Or a security leak.)
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Path  to current project in Delphi. 2 92
FMX StringGrid1->Canvas->FillRect Problem 3 171
Downloading email attachments 2 79
How to make Sign in, using Clientdataset? 1 28
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question