Some software claims to be portable, but how do we know if it is really portable or not? I remembered back in the days when everyone was using Windows 98, a lot of “hacking tools” especially nukers are just one single executable file but it still requires dependency files such as winsck.ocx, msvbvm60.dll and etc. If those DLL or OCX files are not registered in your system32 folder, you won’t be able to run the program.
Another example would be software coded in .NET. Most of the .NET coded software seems to be portable because it doesn’t require installation but since .NET Framework doesn’t come pre-installed in Windows XP, we can’t say that it’s portable. Perhaps when Windows Vista or 7 has totally replaced XP, then we can call software coded in .NET portable.
Last week I tried to run Remove Restriction Tool on one of a customer’s computer that has been infected by a computer virus but it gave an error. I couldn’t figure out what was wrong but I can only suspect that maybe one of the DLL files that was required to run RRT has corrupted but I didn’t know which one. Many years ago I had a tool that was able to check what DLL or OCX files is needed to run the executable file but I’ve lost it since I didn’t have a blog at that time to record it down. I searched around and found a similar tool called Dependency Walker.
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.

All you need to do is run depends.exe and then load an executable (EXE) file that you want to check what file is required to run it. Within a few seconds Dependency Walker will show you the required files. As you can see on the image above, I loaded RRT.exe (Remove Restriction Tool) unto Dependency Walker and it shows me that KERNEL32.DLL and MSVBVM60.DLL is required. Every Windows has kernel32.dll file so we don’t need to worry on the availability of that file. As for msvbvm60.dll, I can place a working copy of that DLL file at the same folder as where the RRT.exe is and it will automatically load the DLL file if it can’t find one in system32 folder.
[ Download Dependency Walker ]
Related posts:
.NET assemblies can be analyzed by CheckASM (checkasm.booring.net), this is quite simpler than with ildasm.
What are these two libraries?:
IESHISM e WER
Thanks a lot for this Raymond..
Very handy!
HANKS RAYMOND
Thanks Raymond.
So is Dependency Walker portable? :P
Thanks for the link. I’m always wondering if stuff I download is something I could be carrying around on my flash drive instead. I guess now I’ll know!
raymond.cc/blog/archives/2007/02/27/how-to-cheat-and-hack-flash-based-games/
As a friend pointed out u had discovered it.
Thanx for this useful article
Thanks bro.. keep up the good stuff!
Thanks Ray. I’m totally techless, but am hoping this might help me track down a big long-running problem with one of my favorite applications.
I have checked a software indicates to me:
IESHIMS.dll, WER.dll, open file error.
What to do when you find errors or missing dll?
I`m not sure were to post this , on the forum or here.
I stumbled onto a tool Cheat Engine(5.5). Felt a bit facinated, being a non-programer ,thought ,I might not be able to use it.
Well it was a tool for getting around games rather than spent time u dont have on one level in a game. Being versatile,
Either u could simply modify your score , health,ammo,etc & finish a level or the game. It came to much use, because I love games, but never have the patience or time to finish them.
Or u could use it 2 create a cheat module 4 any game.
The tool mostly uses memory address searching and modification.
The tutorial was complete and it helped me get through a couple of techniques, to locate memory address in the running game.
I guess every gamer would like have a cheat engine for any game he can lay his hands on.So u don`t need separate cheat modules for each game.
Its not not like using `Standard` cheats because, you could use it to overcome just a simple score benchmark in a level, without ruining the fun of the entire game.
Its kind of cheating to shorten game play time.
I remember you saying you were a CS fan. I guess even even system admins play games & would love a tool like this. I`ve never played CS, i tried engine with a couple of games, and it worked fine.
Sure is a useful tool, thanks mate!
Thank you Ray ;)
A good tool for troubleshooting system errors.
To get the dependancies for a .Net assembly you can use ildasm: msdn2.microsoft.com/en-us/library/f7dy01k1(VS.80).aspx
If your application links statically with a DLL, you can check the availability of that DLL by simply verifying if a DLL with that name exists in one of the directories where Windows will look for it.
msdn.microsoft.com/en-us/library/ms684175.aspx
Possible to delete unused dlls left behind as shared dlls after uninstalling programs.
Windows CE is an implementation of Win32 and therefore the dependency walker works with CE files.However the CE version of files and DLLs are not automatically found
in %SYSTEMROOT% the same way as the desktop versions. If you have problem you can place the DLL in question into the _FLATRELEASEDIR for the platform it is to run under and then use dependency viewer on it there, it can get all the DLLs from that.
Very useful tool. Thank You.. :)