I want to check the version of a dll that I made.
Would I check the manifest info to accomplish that ?
Thanks
GetDllVersion
Or your add in your dll a Procedur
Example Getversion and return in eax the version number ;)
yes - you could even return the value in EDX when you exit from the dll init function :P
I did not put enuf info in my first post.
Say I made dont.dll.
It has a manifest with version 7.21.
I want to make sure something didn't play hanky panky with it.
How does "you know who" check for changes ?
I don't need anything elaborate. (maybe I will shortly)
The code would first check if the dll even contains a manifest file.
I'll do some research on that.
Gotta run,
Andy
the GetDllVersion function reads the version control block from the manifest resource
while it is designed for DLL's, i think it will also work on your current process module, if you wanted to use it that way
again, there is no way to prevent "you know who" from altering files - lol
no method you use can prevent that
you could return a somewhat cryptic version, though :P
Actually there is.
But I don't want a patch for that method being generated.
I am talking about my code of course.
Andy
"They will lay siege to all the cities throughout your land until the high fortified walls in which you trust fall down." Dt. 28:52
well - maybe you have come up with something new
my guess is - you can slow them down and/or make it difficult, but, you can't stop them
it's a bit like playing chess
no matter how good you are, there's always someone that can beat you
The versioninfo resource can easily be modified or duplicated in a modified DLL.
Checksum/hash the whole DLL and store that value somewhere else for later external checking.
The reason I asked is that Windows has all kinds of same name dlls spread out everywhere.
Is this normal or abi-normal ?
Andy
Ex.
Directory of C:\Documents and Settings\7777777\Application Data\Sun\Java\Deployment\SystemCache\6.0\4\7ec4bf04-1f3d85f8-n
11/17/2010 07:53 PM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
Directory of C:\Program Files\Common Files\Microsoft Shared\Help
02/21/2003 04:42 AM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
Directory of C:\Program Files\Common Files\Microsoft Shared\OFFICE12\VS Runtime
10/26/2006 01:40 PM 348,160 MSVCR71.DLL
1 File(s) 348,160 bytes
Directory of C:\Program Files\Hewlett-Packard\HP Quick Launch Buttons
02/25/2010 03:18 PM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
Directory of C:\Program Files\Lexmark 2600 Series
03/31/2008 12:16 PM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
Directory of C:\Program Files\Microsoft Office\Office14\ADDINS
03/03/2005 08:50 AM 344,064 MSVCR71.DLL
1 File(s) 344,064 bytes
Directory of C:\SWSetup\HPQATTAgent\program files\AT&T\Service Activation
10/07/2008 07:53 PM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
Directory of C:\SWSetup\SP48568\HPQATTAgent\program files\AT&T\Service Activation
10/07/2008 07:53 PM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
Directory of C:\WINDOWS\system32
08/27/2009 04:26 PM 348,160 msvcr71.dll
1 File(s) 348,160 bytes
pretty normal - lol
not a great example of SxS, at all
you have MsVcRt ver 7.1 in windows\system32
and, it would appear there are different revisions of the same version
these could be very minor differences - functionally identical
one is redistributable, one is not, for example
so, the licensing text may be the only difference
let's say you author a program that uses a specific version of msvcrt
and - you want to insure that version is present
so - you put it in your program files folder and use that version
side-by-side is supposed to take care of this :P
at any rate, a couple of the ones you list are in setup folders - you can ignore those, at least
the java one is in a cache folder - you might be able to delete that one
Hi Andy,
it looks a bit like a muddle. I've searched for that dll too but it's not on my machine. But I've only XP with SP3 as virtual machine; that's probably the reason.
Gunther