Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 



Tripredacus

Regshot for files?

Recommended Posts

Tripredacus    286

I get to add a new task into my current software certification list. This is to test for full removal of a product via uninstall. I already know I can use Regshot to see what registry changes are made, but is there a program that shows me what files are changed? Basically I need to verify a complete removal is done when uninstalling.

Share this post


Link to post
Share on other sites

iamtheky    0

Im reworking an AutoIt version of an integrity checker, this may give you the means to roll your own...


#include <Crypt.au3>
#include<RecFileListToArray.au3>
#Include <File.au3>
#Include <Array.au3>
#include <WindowsConstants.au3>
#Include <WinAPIEx.au3>

_CreateHashFile()

sleep (2000)

_CheckHashFile()


Func _CreateHashFile()

$path = FileSelectFolder ("Select Directory" , "c:" , 2)

$Farray = _RecFileListToArray ($path ,"*" , 1 , 1 , 1 , 2)

Dim $HashArray[$Farray[0] + 1]
Dim $ComboArray[$Farray[0] + 1]

For $i = 1 to $Farray[0]
$HashArray[$i] = _Crypt_HashFile($Farray[$i], $CALG_SHA1)
Next

For $n = 1 to $Farray[0]
$ComboArray[$n] = $Farray[$n] & "||" & $HashArray[$n]
Next

$ComboArray[0] = $path

_FileWriteFromArray (@ScriptDir & "\hashfile.txt" , $ComboArray , 0)

EndFunc


;;;===============================CHECKING AN EXISTING FILE====================================

Func _CheckHashFile()

$GUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_LAYERED)
GUISetBkColor(1, $GUI)
_WINAPI_SETLAYEREDWINDOWATTRIBUTES($GUI, 1, 255)
GUISetState(@SW_SHOW)

Dim $ReadArray
_FileReadToArray(@ScriptDir & "\hashfile.txt" , $ReadArray)
$path = $ReadArray[1]
_ArrayDelete($ReadArray , 0)


$FArray = _RecFileListToArray ($path ,"*" , 1 , 1 , 1 , 2)

Dim $HashArray[$Farray[0] + 1]
Dim $ComboArray[$Farray[0] + 1]

For $i = 1 to $Farray[0]
$HashArray[$i] = _Crypt_HashFile($Farray[$i], $CALG_SHA1)
Next

For $n = 1 to $Farray[0]
$ComboArray[$n] = $Farray[$n] & "||" & $HashArray[$n]
Next

$ComboArray[0] = $path


;~ ;FIND MISSING ELEMENTS

For $S = 0 To UBound($ReadArray) - 1
_ARRAYSEARCH($ComboArray, $ReadArray[$S])
If @error = 6 Then
GUISetBkColor(16711680, $GUI)
ExitLoop
EndIf
Next
For $K = UBound($ComboArray) - 1 To 0 Step -1
$FIND = _ARRAYFINDALL($ReadArray, $ComboArray[$K])
For $M = UBound($FIND) - 1 To 0 Step -1
_ARRAYDELETE($ReadArray, $FIND[$M])
Next
Next


$MISSINGARRAY = $READARRAY
_ArrayDisplay($MissingArray , "Missing or Modified Files")
If NOT IsArray ($missingArray) Then $flag = 0


;FIND ADDED or Modified Elements

_FileReadToArray(@ScriptDir & "\hashfile.txt" , $ReadArray)
$path = $ReadArray[1]
_ArrayDelete($ReadArray , 0)

For $K = UBound($READARRAY) - 1 To 0 Step -1
$FIND = _ARRAYFINDALL($ComboARRAY, $READARRAY[$K])
For $M = UBound($FIND) - 1 To 0 Step -1
_ARRAYDELETE($ComboARRAY, $FIND[$M])
Next
Next

$ADDEDARRAY = $ComboARRAY
_ArrayDisplay($AddedArray , "Added or Modified Files")
If NOT IsArray ($AddedArray) And $flag = 0 Then msgbox(0, '' , "Directory contents are the same")

_ArrayConcatenate($AddedArray , $MissingArray)
_ArrayDisplay($AddedArray , "All Modifications")

EndFunc











Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×