-
Two things: the extension and the header flag stored in the file.Both files are PE files. Both contain the exact same layout.
A DLL is a library and therefore can not be executed. If you try to run it you'll get an error about a missing entry point. An EXE is a program that can be executed. It has an entry point. A flag inside the PE header indicates which file type it is (irrelevant of file extension). The PE header has a field where the entry point for the program resides. In DLLs it isn't used (or at least not as an entry point).One minor difference is that in most cases DLLs have an export section where symbols are exported.
EXEs should never have an export section since they aren't libraries but nothing prevents that from happening. The Win32 loader doesn't care either way.Other than that they are identical. So, in summary, EXEs are executable programs while DLLs are libraries loaded into a process and contain some sort of useful functionality like security, database access or something.Michael Taylor - 6/12/07.
DLL - Dynamic Link LibraryAn ActiveX Dll runs is an in process server running in the same memory space as the client process.EXE – Executable FileAn ActiveX Exe is an out of process server which runs in its own separate memory space.Advantages of ActiveX Dll-1) An in-process component shares its client’s address space, so property and method calls don’t have to be marshaled. This results in much faster performance.Disadvantages of ActiveX Dll-1) If an unhandled error occurs it will cause the client process to stop operating.Advantages of ActiveX Exe-1) The component can run as a standalone desktop application, like Microsoft Excel or Microsoft Word, in addition to providing objects.2) The component can process requests on an independent thread of execution, notifying the client of task completion using events or asynchronous call-backs. This frees the client to respond to the user.3)If an error occurs the client processes can continue to operate.Disadvantages of ActiveX Exe-1) Generally slower than an ActiveX dll alternative. The DLL is an inprocess component but exe is outprocess component.
When system launches an exe, a new process is created, for DLL a new process is not created.DLL is a WIN 32 LIBRARY file, whereas the exe is a WIN32 executable file.DLL can be reused and versioned. DLL reduces storage space as different programs/files can use the same dll.DLL does not have a main function. DLL binding occurs at runtime. That is why its called 'Dynamic Link' library.EXE has a single main entry point.Pls see Jeffrey Richter's 'Programming with.NET Framework' for more details. Both.dll and.exe are binary filesDLL: Dynamic Link Library, its a library of functions.
DLL files do not have an entry point-start up function(main function from where program execution starts). It is loaded dynamically with in a process execution hence it is a in processcomponent. DLLs are faster in performance as compared to EXEs. If exceptions are not handeled with in functions of DLL then it will cause process to terminate.EXE: Executable files, it is also a library of functions but they do have an entry point from where the program execution starts. It is an out of process component.
Slower in performance as compared to DLLs.
EXE files'.exe' files, or files that end in the four characters '.exe' are assumed byWindows (and even MS-DOS before it) to be executableprograms.Which is really just a fancy way of saying that they're the programs yourun.You'll recognize many examples:.explorer.exe - Windows Explorer and the Windows primary user interface.iexplore.exe - Internet Explorer web browser.chrome.exe - the Google Chrome browser.thunderbird.exe - the Mozilla Thunderbird email program.winword.exe - Microsoft Word, word processor. And so onDLL filesDLL stands for Dynamic Link Library.A library is a collection of software that is made available for programs touse. That means a program you run, such as 'winword.exe' from the list above, might load additional DLLs that contain more software that make up the program. In Word's case,perhaps the software for the 'Word Art' feature is placed in a separate DLLthat winword.exe loads either at startup or when you use that particularfeature.Software is often broken up into or provided as an.EXE and a collection of.DLLs for any of a number of reasons:.The DLL only needs to be loaded when it's used, which reduces load time and memory needs when not. Loading only when needed is the 'dynamic' part of Dynamic Link Library.The DLL may be shared among multiple programs. For example, if Word andPowerPoint both have WordArt as a feature, then they can both use that same.DLL to provide the feature (if written properly, of course).
This avoids multiple programs from all needing to duplicate the software required to perform a task.The DLL may provide functionality to another program. For example, using DLLsis one way that one program might cause features to appear in another, such as newcontext menu items in Windows Explorer.In fact, much of Windows itself is implemented as DLLs that applications load and use to access your system.It is true - DLLs cannot be directly executed. They're designed to be loadedand run by other programs: EXE programs. Why the difference mattersIn short, malware. In fact, your example perfectly shows one way that malware tries to mislead you: explorer.dll.exeThat's an.exe file, and nothing else.
Everything in front of the.exe isthe name of the file - even the part that says '.dll'. The file endsin.exe and Windows will treat that as a program. It is not a DLL. The factthat it has.dll in the middle of its name is completely meaningless- other than, to confuse and mislead you.It is also not Windows Explorer - that's 'explorer.exe' without the '.dll'in the middle. The name may be similar, but this is a completely unrelatedfile.Why do this?Because when displaying files by default, Windows will 'hide extensions forknown file types'. That means that while the file's actual name is: explorer.dll.exewhat will be displayed is: explorer.dllHiding the '.exe' because that's a known file type.It could fool you into thinking that's a DLL and not an EXE. What they mightdo from there is unclear.One thing that I can tell you though: Don't double-click onit.Double-clicking means 'open this file', which for an.exe means 'run thisprogram'.
Even though it shows.dll, the real filename ends in.exe andthat's exactly how Windows will treat it.Misleading you in this manner is one technique to get you to installmalware.Article-January 15, 2012. You may also be interested in:.It's often difficult given just a DLL to know exactly where it camefrom or what it does. We'll look at a few steps you can take to try to findout.Windows Explorer defaults to a simple view of the files on your machine. InWindows 7, you can change that default to include details with a few steps.Filename extensions are important pieces of information that Windowsuses to determine what a file contains. Change it, and you could loseaccess.Windows Explorer tries to help by hiding some information. Unfortunately, that opens a hole that hackers can use to fool you. RahulJanuary 16, 2012 5:41 AMNaah.
That is for the geeks.If the extensions are hidden, it is much neater to look at. That is the main purpose of the GUI in the first place. And under this setting, if you happen to see an extension - the file is a suspect.
Convert Exe To Dll
Easier to detect a suspicious file this way than looking for double extensions. In fact the system itself can flag such multiple-extension files.Besides there are so many extensions that displaying them would confuse most users. That must have been the purpose of the default setting, I suspect.Personally, I prefer if the icons for all executable files would in someway indicate that they are executable - a system superimposed 'X' perhaps. MS-Word files have 'W' on the icon.-Rahul.