flat assembler
Message board for the users of flat assembler.

Index > Heap > Clean up unused DLLs?

Author
Thread Post new topic Reply to topic
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY
Hi!
Anyone knows any free utility to remove unused DLL's?
After too much installing/uninstalling programs, I realized that my hard disk is bloated even though there aren't lots of programs installed. There are unused DLLs at the windows folder.

Do you know any free utility that can detect these useless DLL's and remove them?

Thanks
Post 24 Dec 2006, 19:54
View user's profile Send private message Reply with quote
RedGhost



Joined: 18 May 2005
Posts: 443
Location: BC, Canada
RedGhost
Not sure about dynamic link libraries but... Crap Cleaner: http://www.ccleaner.com/

This programme removed 750mb of junk the first time I ran it, very useful. It also cleans the registry. After cleaning with this you can defragment the hard drive aswell.

_________________
redghost.ca
Post 25 Dec 2006, 06:26
View user's profile Send private message AIM Address MSN Messenger Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 8870
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
750mb?
lol, my windows is about 750mb Razz Razz
btw, is crap cleaner means format c:/q ? lmao
Post 25 Dec 2006, 06:43
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY
I already use CCleaner. It's my favorite program for cleaning temp files. But it just works for temp files and crappy registry values.

I really need something for cleaning DLL's that are not used and are just wasting space. Most uninstallers don't remove them.
Post 25 Dec 2006, 18:38
View user's profile Send private message Reply with quote
RedGhost



Joined: 18 May 2005
Posts: 443
Location: BC, Canada
RedGhost
OzzY wrote:
I already use CCleaner. It's my favorite program for cleaning temp files. But it just works for temp files and crappy registry values.

I really need something for cleaning DLL's that are not used and are just wasting space. Most uninstallers don't remove them.


Well I don't think such tool exists -- or can. There is no way to know if the DLL is required by an application. You can check if it is currently in use but perhaps a programme not currently running requires it. There is no registry entry for this.

_________________
redghost.ca
Post 25 Dec 2006, 19:13
View user's profile Send private message AIM Address MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Iirc there's a registry key listing "shared DLL files", along with a usage count. But if an installer doesn't even decremenet the counter, that won't be reliable. There's also stuff like orphaned COM controls and... bleh Smile

Btw, be careful with "registry cleaners". You often don't get much benefit from them these days, and they can screw you over majorly in subtle ways you don't see until weeks later.
Post 25 Dec 2006, 19:22
View user's profile Send private message Visit poster's website Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1171
Location: Overflow
Matrix
the best cleaner is dd

make a windows partition and backup when it is set up working,
then when you need to clean just copy the working set up partition back.
Post 26 Dec 2006, 00:29
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
matrix: not really best. clean it with something else BEFORE storing. And even then, it takes kinda lot of space Wink
Post 26 Dec 2006, 00:37
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
DustWolf



Joined: 26 Jan 2006
Posts: 373
Location: Ljubljana, Slovenia
DustWolf
RedGhost wrote:
There is no way to know if the DLL is required by an application. You can check if it is currently in use but perhaps a programme not currently running requires it.


Well theoretically, all DLLs that are used, need to be imported somewhere.. and DLL names in import tables in compiled and assembled stuff is still plain ANSI text, right?

Thus, if you did one of those file searches, where you are scanning for text inside all files, with the filename of the DLL, if you don't find it, it's not used... right?
Post 26 Dec 2006, 01:37
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Lots of things make file scanning useless, the most important is the packed executables which only imports very few API functions through the import table. The second problem is that the program could use LoadLibrary+GetProcAddress even if it is an unpacked executable so, scanning all EXE's import table is not enough.
Post 26 Dec 2006, 01:58
View user's profile Send private message Reply with quote
DustWolf



Joined: 26 Jan 2006
Posts: 373
Location: Ljubljana, Slovenia
DustWolf
LocoDelAssembly wrote:
Lots of things make file scanning useless, the most important is the packed executables which only imports very few API functions throught the import table. The second problem is that the program could use LoadLibrary+GetProcAddress even if it is an unpacked executable so, scanning all EXE's import table is not enough.


Hmm, yes you'd have to find a way to scan inside packed executables.. not an unsolvable problem in itself (map and memdump exe before scanning), but for example, my computer has no packed or crypted exes.. my AV program is configured to quarantine them on sight. Razz Thus I doubt that would really be that much of a problem.

As for LoadLibrary, that still needs the filename for a parameter... now I'm guessing there are no legitimate programs that would actually runtime generate the names of the DLLs they use, hence the filenames would have to be somewhere in there anyway. Search unicode as well, maybe?

P.S.: I've just been looking into something and I noticed that DLL files do have a "last accessed" date stamp, that seems to update when a program uses that DLL. Could this be used to determine what DLLs are simply leftovers?
Post 26 Dec 2006, 02:04
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.