GTA 5 - File Checker v3 (SHA 1 Prüfung)

bizzare82

Komplett-PC-Aufrüster(in)
GTA 5 - File Checker v3 (SHA 1 Prüfung)

Update 20.06.15 - Version 3.3
- versch. Hashes aktualisiert und Dateien hinzugefügt (Gotten Gains Patch)

Download:
workuploadPUNKTcomSCHRÄGSTRICHfileSCHRÄGSTRICHD7XxjC9d
(Absichtlich nicht klickbar - danke Google)

Update 26.04.15 - Version 3.2
- GTAVLauncher.exe Patch 4
- Texte in Englisch
- Checkboxen um nur bestimmte Dateien zu prüfen
- Button um die Checkboxen zu invertieren (Beim Start werden alle markiert, sofern die Datei gefunden wurde :) )
- Buttons werden während dem Check deaktiviert (kann man eh nicht klicken)
Edit: Noch eine Kleinigkeit: Die Liste scrollt nun automatisch mit :)

Screenshot:
checkerv3.2.png

Sourcecode: (ja, es wird nicht weniger^^)
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.12.0
 Author:         bizzare

#ce ----------------------------------------------------------------------------

#include <Crypt.au3>
#include <File.au3>
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ColorConstants.au3>
#include <GUIListView.au3>

 _Crypt_Startup() ; To optimize performance start the crypt library.

Local $hGUI = GUICreate("GTA V - File Checker", 900, 600)
Local $idCheckButton = GUICtrlCreateButton("Check selected files", 20, 20, 120, 25)
Local $idInvertButton = GUICtrlCreateButton("Invert selection", 160, 20, 100, 25)
Local $idCloseButton = GUICtrlCreateButton("Quit", 280, 20, 85, 25)

ListFiles()

; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)

; Loop until the user exits.
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE, $idCloseButton
			ExitLoop

		Case $idCheckButton
			DoCheck()

		Case $idInvertButton
			InvertSelection()
	EndSwitch
WEnd

; Delete the previous GUI and all controls.
GUIDelete($hGUI)

Exit

Func ListFiles()
	Global $idMylist = GUICtrlCreateListView("File                             |Status", 20, 60, 860, 520)
	_GUICtrlListView_SetExtendedListViewStyle($idMylist, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES))

	Global $path = @ScriptDir & "\"
	Global $arrFiles[0][2]
	FillArray()

	Global $arrFilesCount = UBound($arrFiles)
	Global $idItem[$arrFilesCount]

	For $i = 0 To $arrFilesCount -1
		$CurrentFile = $path & $arrFiles[$i][0]
		If FileExists($CurrentFile) Then
			$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & " ", $idMylist)
			_GUICtrlListView_SetItemChecked($idMylist, $i, True)
		Else
			$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "not found", $idMylist)
			GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
			_GUICtrlListView_SetItemChecked($idMylist, $i, False)
		EndIf

		_GUICtrlListView_SetColumnWidth($idMylist, 0, $LVSCW_AUTOSIZE)
	Next
EndFunc

Func InvertSelection()
	For $i = 0 To $arrFilesCount -1
		$CurrentFile = $path & $arrFiles[$i][0]
		If FileExists($CurrentFile) Then
			If _GUICtrlListView_GetItemChecked($idMylist, $i) Then
				_GUICtrlListView_SetItemChecked($idMylist, $i, False)
			Else
				_GUICtrlListView_SetItemChecked($idMylist, $i, True)
			EndIf
		EndIf
	Next
EndFunc


Func DoCheck()

	GUICtrlSetState($idCheckButton, $GUI_DISABLE)
	GUICtrlSetState($idInvertButton, $GUI_DISABLE)
	GUICtrlSetState($idCloseButton, $GUI_DISABLE)

	Global $FilesToCheck = 0

	For $i = 0 To $arrFilesCount -1
		If _GUICtrlListView_GetItemChecked($idMylist, $i) Then
			$FilesToCheck = $FilesToCheck + 1
		EndIf
	Next

	Local $idStatus = GUICtrlCreateLabel("Checking " & $FilesToCheck & " files - please wait", 385,25,300)
	$iCurrentFileToCheck = 0

	For $i = 0 To $arrFilesCount -1
		If _GUICtrlListView_GetItemChecked($idMylist, $i) Then
			$iCurrentFileToCheck = $iCurrentFileToCheck + 1

			GUICtrlSetData($idStatus, "Checking " & $FilesToCheck & " files - please wait (" & $iCurrentFileToCheck & "/" & $FilesToCheck & ")")

			$CurrentFile = $path & $arrFiles[$i][0]
			$CorrectHash = $arrFiles[$i][1]

			If FileExists($CurrentFile) Then

				_GUICtrlListView_SetItemText($idMylist, $i, "checking", 1)

				$Hash = _Crypt_HashFile($CurrentFile, $CALG_SHA1)

				If $Hash = "0x" & $CorrectHash Then
					_GUICtrlListView_SetItemText($idMylist, $i, "hash correct" , 1)
					GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
				Else
					If $arrFiles[$i][0] = "GTAVLauncher.exe" Then
						If $Hash = "0x398cec42e611bedd195c8de65af700cf6ac9bf7b" Then
							_GUICtrlListView_SetItemText($idMylist, $i, "hash correct (Patch 1)", 1)
							GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
						ElseIf $Hash = "0x5d9f58caf1aa3c0d4b44a6c048e8ab6a2f7c8a15" Then
							_GUICtrlListView_SetItemText($idMylist, $i, "hash correct (Patch 2)", 1)
							GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
						ElseIf $Hash = "0xd6b8d41bb59c62007e948775e837accd87c3d280" Then
							_GUICtrlListView_SetItemText($idMylist, $i, "hash correct (Patch 3)", 1)
							GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
						ElseIf $Hash = "0x2f8a88d338e77da142aa0e65cab2dbfa3120c31a" Then
							_GUICtrlListView_SetItemText($idMylist, $i, "hash correct (Patch 4)", 1)
							GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
						Else
							_GUICtrlListView_SetItemText($idMylist, $i, "hash not correct (max. Version 1.0.335.2) - Hash: " & $Hash, 1)
							GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
						EndIf
					ElseIf $arrFiles[$i][0] = "GTA5.exe" Then
						_GUICtrlListView_SetItemText($idMylist, $i, "hash not correct (Version 1.0.335.2 only)", 1)
						GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
					ElseIf $arrFiles[$i][0] = "update/update.rpf" Then
						_GUICtrlListView_SetItemText($idMylist, $i, "hash not correct (Patch 3 only)", 1)
						GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
					Else
						_GUICtrlListView_SetItemText($idMylist, $i, "hash not correct", 1)
						GUICtrlSetColor($idItem[$i], $COLOR_RED)
					EndIf
				EndIf
			Else
				_GUICtrlListView_SetItemText($idMylist, $i, "still not found ;)", 1)
			EndIf
			_GUICtrlListView_SetColumnWidth($idMylist, 1, $LVSCW_AUTOSIZE)
                      _GUICtrlListView_EnsureVisible($idMylist, $i, False)
		EndIf
	Next

	GUICtrlSetData ($idStatus, "Done! (checked " & $FilesToCheck & " files)")

	GUICtrlSetState($idCheckButton, $GUI_ENABLE)
	GUICtrlSetState($idInvertButton, $GUI_ENABLE)
	GUICtrlSetState($idCloseButton, $GUI_ENABLE)

	_Crypt_Shutdown() ; Shutdown the crypt library.
EndFunc

Func FillArray()
	_ArrayAdd($arrFiles, "bink2w64.dll|4c8535e46456ef09ea562459619bd7ef0fa23ac1")
	_ArrayAdd($arrFiles, "common.rpf|fb733cbfa4ade56810134b30f8d4736fe4022b15")
	_ArrayAdd($arrFiles, "d3dcompiler_46.dll|acf2000d794b6ab6d7bb43f37fa89b887b79c49d")
	_ArrayAdd($arrFiles, "d3dcsx_46.dll|1878a0cbbd064183ca290efd8841d11338a3dfcd")
	_ArrayAdd($arrFiles, "GFSDK_ShadowLib.win64.dll|98110c694b87d2ff5475d257f2f82096ed9e80c7")
	_ArrayAdd($arrFiles, "GFSDK_TXAA.win64.dll|1af76e56527705b68ea11cb7b51710df57169d85")
	_ArrayAdd($arrFiles, "GFSDK_TXAA_AlphaResolve.win64.dll|c2f455e80e7c695fd358f8405d44b61398f9a146")
	_ArrayAdd($arrFiles, "GPUPerfAPIDX11-x64.dll|fff4527981d873e558fd09bd493e97a308d179a4")
	_ArrayAdd($arrFiles, "GTAVLauncher.exe|cb3bb13488ad9af5ca8a284b9304e31cfe363703")
	_ArrayAdd($arrFiles, "NvPmApi.Core.win64.dll|f6ee70a84223aa6fdce862304551ca7037475c6e")
	_ArrayAdd($arrFiles, "PlayGTAV.exe|4beb938ccc470968e95e8ba842d6c4302bd8d421")
	_ArrayAdd($arrFiles, "ReadMe\Chinese\ReadMe.txt|f8e00b7f8d1ecf97186fc194a636841e58f7d6f2")
	_ArrayAdd($arrFiles, "ReadMe\English\ReadMe.txt|9eba21a78e4dd6ddb78367dd95347cccf29e3609")
	_ArrayAdd($arrFiles, "ReadMe\French\ReadMe.txt|426fbf628bec80de2305430e0445683bf882c294")
	_ArrayAdd($arrFiles, "ReadMe\German\ReadMe.txt|f2316f808ebb48e1abd89eb15126269090a6887c")
	_ArrayAdd($arrFiles, "ReadMe\Italian\ReadMe.txt|b59d8ef4d5709f761985c8e3c9d697ecf7a169b2")
	_ArrayAdd($arrFiles, "ReadMe\Japanese\ReadMe.txt|dfe3372dc6af7fd8e38c489b20be63ec70f4956a")
	_ArrayAdd($arrFiles, "ReadMe\Korean\ReadMe.txt|038f185233fb5e789f0ac86cccf0803ddfb55733")
	_ArrayAdd($arrFiles, "ReadMe\Mexican\Readme.txt|1936af8869359d86d35018b79b8cd53adb233eed")
	_ArrayAdd($arrFiles, "ReadMe\Polish\ReadMe.txt|56970d42bf5cb947354505117c3bb49b4d81722b")
	_ArrayAdd($arrFiles, "ReadMe\Portuguese\ReadMe.txt|837bd41d5b0c4426fa282a9488154a5a2ab05e2d")
	_ArrayAdd($arrFiles, "ReadMe\Russian\ReadMe.txt|7d477f165f4658d98dd574a332f27720712c456f")
	_ArrayAdd($arrFiles, "ReadMe\Spanish\ReadMe.txt|6a0dc5742a99a5990b665cccdb6275e58ca709d6")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\american.txt|0aade8af42ba0f46bcf9ba07c82d280dffc00f26")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\chinese.txt|765b9f489ea9b0c25719586377f8c4b03d023133")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\french.txt|6fac2a4ac290f1939eca67426d2f3ea248d75310")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\german.txt|d263ac14eeadc9b947f0ff74cb6671dd22d7963a")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\italian.txt|170e06b136785ea314c6969ef08abd277acf903a")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\japanese.txt|2fb07a9871c72a19b2209c0dbbc2d6a568e79515")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\korean.txt|8f9ea275ee0cd209c30be4960f82599821b38d05")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\mexican.txt|5be410bc1767d4117f499c1ff58203ccc52672f8")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\polish.txt|a065cd6e8849ca1dbee51cc89fbf6205b22cfa32")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\portuguese.txt|1c2c4d630d62d63838fc03c327f79ae88d07fcb0")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\russian.txt|9df5364af1223f825da1bd0b99d7b3760c6b4145")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\spanish.txt|1b7b34d9cbb3660f96db2a5db42cd45b91cab04d")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mpchristmas2\dlc.rpf|5d22e472b186122695f34172ab20b34644890843")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mpheist\dlc.rpf|342074459b07d7c3b9c5b5569325122a95bdc370")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mppatchesng\dlc.rpf|3b1b7bd941c3b144585c190043e08d71f3a0894d")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday1ng\dlc.rpf|b213d03af6d112600753e0c35a15b0cec4af8a22")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday2bng\dlc.rpf|fdd3698363dce48036bdbb4e79219b61d1b1cad7")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday2ng\dlc.rpf|7c84c1a7624a6e581a93faa20a427aca00a314ea")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday3ng\dlc.rpf|c424331f6f33a14e7ea93195ac528d32ca937fd2")
	_ArrayAdd($arrFiles, "version.txt|ee93567db8b31414449a3cb25b8a556a20c09be7")
	_ArrayAdd($arrFiles, "x64\audio\audio_rel.rpf|dd19ff65972f5d2af5740d7cd17d956a509dc93a")
	_ArrayAdd($arrFiles, "x64\audio\occlusion.rpf|14c553e0e0c411f509660da9751c82061bbe6fbf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS.rpf|ce3c1e703a7a9d8a90e552247622ff7103f81cf0")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS_FAR.rpf|8d44b1a23d07d3898e42ce3efd9ec7565a5dfdf4")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS_NEAR.rpf|2c7df2b04ef062fd45d6fa9d9c6326df4d03cbd5")
	_ArrayAdd($arrFiles, "x64\audio\sfx\CUTSCENE_MASTERED_ONLY.rpf|127ee2a5f56d87acae0e12cce961e64eb8dd5a62")
	_ArrayAdd($arrFiles, "x64\audio\sfx\DLC_GTAO.rpf|9d25a24453c82feda4c3809f4edac6b80c9e69db")
	_ArrayAdd($arrFiles, "x64\audio\sfx\INTERACTIVE_MUSIC.rpf|e0deea4db177b631ddcd806969a33d1801f3055d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ONESHOT_AMBIENCE.rpf|ec82a6878888a7e4fd837acbf10ec81c6ce4a59c")
	_ArrayAdd($arrFiles, "x64\audio\sfx\PAIN.rpf|e934b4a03908c8e1fb912bdf31f58d27a5135daf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\POLICE_SCANNER.rpf|20f8298a6b6196c2ea8601a5248d6401af094f33")
	_ArrayAdd($arrFiles, "x64\audio\sfx\PROLOGUE.rpf|c87213e7fbbd1cb77b722588ab7d49c7058c7e9c")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_01_CLASS_ROCK.rpf|4cc8a3f221fffac4abbbebed099abf7daa8b119b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_02_POP.rpf|ae5ff5cf5fa5a236070d207bd881570075befa64")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_03_HIPHOP_NEW.rpf|f7e597ff22a291ae979f90c1340aec3ee219d930")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_04_PUNK.rpf|030d0f864c3a39af56bf7b408b2228f7485d7a46")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_05_TALK_01.rpf|64f0d6692a261604cb67ba03aa136816b7ffb8f2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_06_COUNTRY.rpf|0987ab05d3aa6298225c5f74a0fe5c03a70e33bd")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_07_DANCE_01.rpf|7605851bcb6e3c51ee145809442898a69f1d7593")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_08_MEXICAN.rpf|3554d4df101c5d0a2693ab2620d03c225a66fba2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_09_HIPHOP_OLD.rpf|6a4f248520d6638261674d05d1b5dac07df3ab53")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_11_TALK_02.rpf|c3184094b0329504e83b81bd72e70e66a83b8bed")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_12_REGGAE.rpf|9201218baac4592ae3907add940c68132605627b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_13_JAZZ.rpf|39c76772933a80559ce05e7793c328e74a1c37e8")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_14_DANCE_02.rpf|723b474c322a30e98214b8a181f7fa71fead6c00")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_15_MOTOWN.rpf|a7b74ccdc9e3d2b35659df8b2149cf942a9d5621")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_16_SILVERLAKE.rpf|8a1812111dc2e27df40499edd9464371a23f1351")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_17_FUNK.rpf|c63e588037408f7a49a8b04493f5deced5c7243b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_18_90S_ROCK.rpf|96796243a29577659f1da4fe0891e698d9c4dc71")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_ADVERTS.rpf|cf9810fa39bf9b35789a18a08dad3d60c62e38d7")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_NEWS.rpf|0892e44ceafbe31d351ae63ab517b92e1deae95a")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RESIDENT.rpf|c42fd227375597ffdde335303dec1d7e88d931fb")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_AMB_F.rpf|64d3416b0921d74590a5f0678be5b53583639b5d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_AMB_M.rpf|05f45fad093a8fd2cfa67930e7dbf9cc33ad8664")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_GAN.rpf|f100770647179b98095db28664b7fa3f9d8f7b7d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_SER.rpf|b54836ffc6107a5d6dcfaf1ecc99b77c49e7da9b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_AMB.rpf|7f6b579cf70162b499cf2cdcb83a9afe4a8be7be")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_GAN.rpf|45e3d598f7977a2576730bf6e17aa73e7c3bf1d3")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_SER.rpf|020e1bee4ff1e1d59b2fcf89a56f0ca4b7bf0f9d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MISC.rpf|4d895426966a278e17f40260b252f2b990aa6036")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SCRIPT.rpf|37d2fbf25e030763d0e586c07c7079af7ebd7f17")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_AC.rpf|678b3b168861022338f23acb5b0843e83e4d3baf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_DE.rpf|7f0760f7f57c7c1529fcf598b453bdaee3d50e31")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_FF.rpf|16c7b0299b425832f6d06fa56dcdd4157e2d0c0b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_GM.rpf|1a4787c79791d3e7eb049e7d631578ea6f8f3612")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_NP.rpf|9eb81664301fcc7640d9d86156f4897a3c9f4cb2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_QR.rpf|b889b0cac6d031848ffe126f6641091f43b0074b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_ST.rpf|57d98a0d63b4a6d6b114178190f1ba7ff96cb118")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_UZ.rpf|4a12eec3f0e34fc129f311b2ee9c711daf062266")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_AMBIENCE.rpf|8404c0cd784b1e57957232bd839eb8cc93774b39")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES.rpf|d5a90a585c90cdbc5ceacaefdc869a3395051069")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_GRANULAR.rpf|2e86bbe78c335bb0ec9873d9670472ba96342370")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_GRANULAR_NPC.rpf|f8a9e00e3d8e257318e065da1fb7dce4ed18adf5")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_LOW_LATENCY.rpf|52cf675ec48426fc7e9ef6caf2f16ccf4790a6bf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMS.rpf|0a88d996b98c3e60afc80b18e1afbb56a86a4f75")
	_ArrayAdd($arrFiles, "x64\audio\sfx\WEAPONS_PLAYER.rpf|ee64e7bffe63ceb457fb337746bc11f03293cddc")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\american.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\chinese.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\french.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\german.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\italian.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\japanese.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\korean.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\mexican.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\polish.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\portuguese.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\russian.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\spanish.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\metadata.dat|cc2c15acf669cad5135c179c514a0d9befe45e2e")
	_ArrayAdd($arrFiles, "x64a.rpf|3b602ed88cc88c090ee829697276b9aeaffde619")
	_ArrayAdd($arrFiles, "x64b.rpf|4c6c431c8469ea558c469b60a8aeec8c6f8453c2")
	_ArrayAdd($arrFiles, "x64c.rpf|c96928111e88b8708ee8c6755363c4355fe6f8a2")
	_ArrayAdd($arrFiles, "x64d.rpf|f176b1428d0d7657e1c8bf140b47d007ba0d1f38")
	_ArrayAdd($arrFiles, "x64e.rpf|765257522a60c3b48a679037febe5e0ac436ab0f")
	_ArrayAdd($arrFiles, "x64f.rpf|5dbb1234efaada60e0f42cf36c210ae49508c4d5")
	_ArrayAdd($arrFiles, "x64g.rpf|51d1d25babe20462076f49c69ef38a4baa328b12")
	_ArrayAdd($arrFiles, "x64h.rpf|018e9d96c86f7f04997e15d4ee94934ce5149163")
	_ArrayAdd($arrFiles, "x64i.rpf|28cafb36a2776fd616c52962834c55415c1f95ba")
	_ArrayAdd($arrFiles, "x64j.rpf|b417385d2b32f8dbfe8ab3e8b5f8077eca858a5d")
	_ArrayAdd($arrFiles, "x64k.rpf|45ca8eff8f8d94df30d4b41a8b42ed7f6ae2497b")
	_ArrayAdd($arrFiles, "x64l.rpf|e99a733b2bbe2b7f48bf8090ba17dd21c773f1bb")
	_ArrayAdd($arrFiles, "x64m.rpf|0d2e8b8c051815db0e7273f09369d0da399078d9")
	_ArrayAdd($arrFiles, "x64n.rpf|7112f3271b946c83a8d9ee0cb703753f7d1b2032")
	_ArrayAdd($arrFiles, "x64o.rpf|738ffb1f2f12345a0e83c2682d4615877a56a7bf")
	_ArrayAdd($arrFiles, "x64p.rpf|f0ef2d83141cbefd08826ae50e1bae2ca57553a7")
	_ArrayAdd($arrFiles, "x64q.rpf|15750edfcd439c77ef9240d46e89651c2d039d6f")
	_ArrayAdd($arrFiles, "x64r.rpf|558def91dc1d627e38c0490e61588ac6f9b87177")
	_ArrayAdd($arrFiles, "x64s.rpf|097ac3e5124fcb2bc4fb9ed76b3a95fc3d509ef4")
	_ArrayAdd($arrFiles, "x64t.rpf|4d1cfc16e655b2c7bd6fb3fbee73024722dad683")
	_ArrayAdd($arrFiles, "x64u.rpf|0408fb654823d8dfe11f7b551cdff37fe7176c9d")
	_ArrayAdd($arrFiles, "x64v.rpf|99ba53f43cc0824a026bedcdc69093a1b9fd1e93")
	_ArrayAdd($arrFiles, "x64w.rpf|cd38264ba88bb17d0bbf27306a31b264344ded0c")
	_ArrayAdd($arrFiles, "GTA5.exe|82ecc8e4e15c945f0858f3bdfeb170dba9fd38c6")
	_ArrayAdd($arrFiles, "update/update.rpf|2c54dd364d69122317223f4f6af3d21c60a3fcca")
EndFunc

Update 25.04.15 - Version 3.1
- GTAVLauncher.exe Patch 3
- GTA5.exe (NUR Patch 3 - kenne die alten Hashes nicht)
- update/update.rpf (NUR Patch 3 - keine Ahnung ob es die vorher schon gab)

Sourcecode (wird langsam unübersichtlich und bräuchte ne andere Struktur :D )
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.12.0
 Author:         bizzare

#ce ----------------------------------------------------------------------------

#include <Crypt.au3>
#include <File.au3>
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ColorConstants.au3>
#include <GUIListView.au3>

 _Crypt_Startup() ; To optimize performance start the crypt library.

Local $hGUI = GUICreate("GTA V - File Checker", 900, 600)
Local $idCheckButton = GUICtrlCreateButton("Starte Check", 20, 20, 85, 25)
Local $idCloseButton = GUICtrlCreateButton("Beenden", 130, 20, 85, 25)

; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)

; Loop until the user exits.
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE, $idCloseButton
			ExitLoop

		Case $idCheckButton
			DoCheck()
	EndSwitch
WEnd

; Delete the previous GUI and all controls.
GUIDelete($hGUI)

Exit

Func DoCheck()

	Local $idMylist = GUICtrlCreateListView("Datei                             |Status", 20, 60, 860, 520)

	Global $path = @ScriptDir & "\"
	Global $arrFiles[0][2]
	FillArray()

	$arrFilesCount = UBound($arrFiles)

	Local $idStatus = GUICtrlCreateLabel("Prüfe " & $arrFilesCount & " Dateien - bitte warten", 245,25,300)

	Dim $idItem[$arrFilesCount]

	For $i = 0 To $arrFilesCount -1
		GUICtrlSetData($idStatus, "Prüfe " & $arrFilesCount & " Dateien - bitte warten (" & $i & "/" & $arrFilesCount & ")")

		$CurrentFile = $path & $arrFiles[$i][0]
		$CorrectHash = $arrFiles[$i][1]

		If FileExists($CurrentFile) Then
			$Hash = _Crypt_HashFile($CurrentFile, $CALG_SHA1)

			If $Hash = "0x" & $CorrectHash Then
				$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt!", $idMylist)
				GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
			Else
				If $arrFiles[$i][0] = "GTAVLauncher.exe" Then
					If $Hash = "0x398cec42e611bedd195c8de65af700cf6ac9bf7b" Then
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt! (1. Patch)", $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
					ElseIf $Hash = "0x5d9f58caf1aa3c0d4b44a6c048e8ab6a2f7c8a15" Then
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt! (2. Patch)", $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
					ElseIf $Hash = "0xd6b8d41bb59c62007e948775e837accd87c3d280" Then
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt! (3. Patch)", $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
					Else
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash nicht korrekt (max. Version 1.0.335.2) - Hash: " & $Hash, $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
					EndIf
				ElseIf $arrFiles[$i][0] = "GTA5.exe" Then
					$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash nicht korrekt (nur Version 1.0.335.2 unterstützt) - Hash: " & $Hash, $idMylist)
					GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
				ElseIf $arrFiles[$i][0] = "update/update.rpf" Then
					$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash nicht korrekt (nur Patch 3 unterstützt) - Hash: " & $Hash, $idMylist)
					GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
				Else
					$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash NICHT korrekt!", $idMylist)
					GUICtrlSetColor($idItem[$i], $COLOR_RED)
				EndIf
			EndIf
		Else
			$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "nicht vorhanden", $idMylist)
			GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
		EndIf

		_GUICtrlListView_SetColumnWidth($idMylist, 0, $LVSCW_AUTOSIZE)

	Next

	GUICtrlSetData ($idStatus, "Fertig!")
	_Crypt_Shutdown() ; Shutdown the crypt library.
EndFunc

Func FillArray()
	_ArrayAdd($arrFiles, "bink2w64.dll|4c8535e46456ef09ea562459619bd7ef0fa23ac1")
	_ArrayAdd($arrFiles, "common.rpf|fb733cbfa4ade56810134b30f8d4736fe4022b15")
	_ArrayAdd($arrFiles, "d3dcompiler_46.dll|acf2000d794b6ab6d7bb43f37fa89b887b79c49d")
	_ArrayAdd($arrFiles, "d3dcsx_46.dll|1878a0cbbd064183ca290efd8841d11338a3dfcd")
	_ArrayAdd($arrFiles, "GFSDK_ShadowLib.win64.dll|98110c694b87d2ff5475d257f2f82096ed9e80c7")
	_ArrayAdd($arrFiles, "GFSDK_TXAA.win64.dll|1af76e56527705b68ea11cb7b51710df57169d85")
	_ArrayAdd($arrFiles, "GFSDK_TXAA_AlphaResolve.win64.dll|c2f455e80e7c695fd358f8405d44b61398f9a146")
	_ArrayAdd($arrFiles, "GPUPerfAPIDX11-x64.dll|fff4527981d873e558fd09bd493e97a308d179a4")
	_ArrayAdd($arrFiles, "GTAVLauncher.exe|cb3bb13488ad9af5ca8a284b9304e31cfe363703")
	_ArrayAdd($arrFiles, "NvPmApi.Core.win64.dll|f6ee70a84223aa6fdce862304551ca7037475c6e")
	_ArrayAdd($arrFiles, "PlayGTAV.exe|4beb938ccc470968e95e8ba842d6c4302bd8d421")
	_ArrayAdd($arrFiles, "ReadMe\Chinese\ReadMe.txt|f8e00b7f8d1ecf97186fc194a636841e58f7d6f2")
	_ArrayAdd($arrFiles, "ReadMe\English\ReadMe.txt|9eba21a78e4dd6ddb78367dd95347cccf29e3609")
	_ArrayAdd($arrFiles, "ReadMe\French\ReadMe.txt|426fbf628bec80de2305430e0445683bf882c294")
	_ArrayAdd($arrFiles, "ReadMe\German\ReadMe.txt|f2316f808ebb48e1abd89eb15126269090a6887c")
	_ArrayAdd($arrFiles, "ReadMe\Italian\ReadMe.txt|b59d8ef4d5709f761985c8e3c9d697ecf7a169b2")
	_ArrayAdd($arrFiles, "ReadMe\Japanese\ReadMe.txt|dfe3372dc6af7fd8e38c489b20be63ec70f4956a")
	_ArrayAdd($arrFiles, "ReadMe\Korean\ReadMe.txt|038f185233fb5e789f0ac86cccf0803ddfb55733")
	_ArrayAdd($arrFiles, "ReadMe\Mexican\Readme.txt|1936af8869359d86d35018b79b8cd53adb233eed")
	_ArrayAdd($arrFiles, "ReadMe\Polish\ReadMe.txt|56970d42bf5cb947354505117c3bb49b4d81722b")
	_ArrayAdd($arrFiles, "ReadMe\Portuguese\ReadMe.txt|837bd41d5b0c4426fa282a9488154a5a2ab05e2d")
	_ArrayAdd($arrFiles, "ReadMe\Russian\ReadMe.txt|7d477f165f4658d98dd574a332f27720712c456f")
	_ArrayAdd($arrFiles, "ReadMe\Spanish\ReadMe.txt|6a0dc5742a99a5990b665cccdb6275e58ca709d6")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\american.txt|0aade8af42ba0f46bcf9ba07c82d280dffc00f26")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\chinese.txt|765b9f489ea9b0c25719586377f8c4b03d023133")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\french.txt|6fac2a4ac290f1939eca67426d2f3ea248d75310")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\german.txt|d263ac14eeadc9b947f0ff74cb6671dd22d7963a")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\italian.txt|170e06b136785ea314c6969ef08abd277acf903a")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\japanese.txt|2fb07a9871c72a19b2209c0dbbc2d6a568e79515")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\korean.txt|8f9ea275ee0cd209c30be4960f82599821b38d05")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\mexican.txt|5be410bc1767d4117f499c1ff58203ccc52672f8")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\polish.txt|a065cd6e8849ca1dbee51cc89fbf6205b22cfa32")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\portuguese.txt|1c2c4d630d62d63838fc03c327f79ae88d07fcb0")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\russian.txt|9df5364af1223f825da1bd0b99d7b3760c6b4145")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\spanish.txt|1b7b34d9cbb3660f96db2a5db42cd45b91cab04d")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mpchristmas2\dlc.rpf|5d22e472b186122695f34172ab20b34644890843")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mpheist\dlc.rpf|342074459b07d7c3b9c5b5569325122a95bdc370")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mppatchesng\dlc.rpf|3b1b7bd941c3b144585c190043e08d71f3a0894d")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday1ng\dlc.rpf|b213d03af6d112600753e0c35a15b0cec4af8a22")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday2bng\dlc.rpf|fdd3698363dce48036bdbb4e79219b61d1b1cad7")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday2ng\dlc.rpf|7c84c1a7624a6e581a93faa20a427aca00a314ea")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday3ng\dlc.rpf|c424331f6f33a14e7ea93195ac528d32ca937fd2")
	_ArrayAdd($arrFiles, "version.txt|ee93567db8b31414449a3cb25b8a556a20c09be7")
	_ArrayAdd($arrFiles, "x64\audio\audio_rel.rpf|dd19ff65972f5d2af5740d7cd17d956a509dc93a")
	_ArrayAdd($arrFiles, "x64\audio\occlusion.rpf|14c553e0e0c411f509660da9751c82061bbe6fbf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS.rpf|ce3c1e703a7a9d8a90e552247622ff7103f81cf0")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS_FAR.rpf|8d44b1a23d07d3898e42ce3efd9ec7565a5dfdf4")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS_NEAR.rpf|2c7df2b04ef062fd45d6fa9d9c6326df4d03cbd5")
	_ArrayAdd($arrFiles, "x64\audio\sfx\CUTSCENE_MASTERED_ONLY.rpf|127ee2a5f56d87acae0e12cce961e64eb8dd5a62")
	_ArrayAdd($arrFiles, "x64\audio\sfx\DLC_GTAO.rpf|9d25a24453c82feda4c3809f4edac6b80c9e69db")
	_ArrayAdd($arrFiles, "x64\audio\sfx\INTERACTIVE_MUSIC.rpf|e0deea4db177b631ddcd806969a33d1801f3055d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ONESHOT_AMBIENCE.rpf|ec82a6878888a7e4fd837acbf10ec81c6ce4a59c")
	_ArrayAdd($arrFiles, "x64\audio\sfx\PAIN.rpf|e934b4a03908c8e1fb912bdf31f58d27a5135daf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\POLICE_SCANNER.rpf|20f8298a6b6196c2ea8601a5248d6401af094f33")
	_ArrayAdd($arrFiles, "x64\audio\sfx\PROLOGUE.rpf|c87213e7fbbd1cb77b722588ab7d49c7058c7e9c")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_01_CLASS_ROCK.rpf|4cc8a3f221fffac4abbbebed099abf7daa8b119b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_02_POP.rpf|ae5ff5cf5fa5a236070d207bd881570075befa64")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_03_HIPHOP_NEW.rpf|f7e597ff22a291ae979f90c1340aec3ee219d930")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_04_PUNK.rpf|030d0f864c3a39af56bf7b408b2228f7485d7a46")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_05_TALK_01.rpf|64f0d6692a261604cb67ba03aa136816b7ffb8f2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_06_COUNTRY.rpf|0987ab05d3aa6298225c5f74a0fe5c03a70e33bd")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_07_DANCE_01.rpf|7605851bcb6e3c51ee145809442898a69f1d7593")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_08_MEXICAN.rpf|3554d4df101c5d0a2693ab2620d03c225a66fba2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_09_HIPHOP_OLD.rpf|6a4f248520d6638261674d05d1b5dac07df3ab53")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_11_TALK_02.rpf|c3184094b0329504e83b81bd72e70e66a83b8bed")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_12_REGGAE.rpf|9201218baac4592ae3907add940c68132605627b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_13_JAZZ.rpf|39c76772933a80559ce05e7793c328e74a1c37e8")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_14_DANCE_02.rpf|723b474c322a30e98214b8a181f7fa71fead6c00")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_15_MOTOWN.rpf|a7b74ccdc9e3d2b35659df8b2149cf942a9d5621")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_16_SILVERLAKE.rpf|8a1812111dc2e27df40499edd9464371a23f1351")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_17_FUNK.rpf|c63e588037408f7a49a8b04493f5deced5c7243b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_18_90S_ROCK.rpf|96796243a29577659f1da4fe0891e698d9c4dc71")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_ADVERTS.rpf|cf9810fa39bf9b35789a18a08dad3d60c62e38d7")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_NEWS.rpf|0892e44ceafbe31d351ae63ab517b92e1deae95a")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RESIDENT.rpf|c42fd227375597ffdde335303dec1d7e88d931fb")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_AMB_F.rpf|64d3416b0921d74590a5f0678be5b53583639b5d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_AMB_M.rpf|05f45fad093a8fd2cfa67930e7dbf9cc33ad8664")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_GAN.rpf|f100770647179b98095db28664b7fa3f9d8f7b7d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_SER.rpf|b54836ffc6107a5d6dcfaf1ecc99b77c49e7da9b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_AMB.rpf|7f6b579cf70162b499cf2cdcb83a9afe4a8be7be")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_GAN.rpf|45e3d598f7977a2576730bf6e17aa73e7c3bf1d3")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_SER.rpf|020e1bee4ff1e1d59b2fcf89a56f0ca4b7bf0f9d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MISC.rpf|4d895426966a278e17f40260b252f2b990aa6036")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SCRIPT.rpf|37d2fbf25e030763d0e586c07c7079af7ebd7f17")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_AC.rpf|678b3b168861022338f23acb5b0843e83e4d3baf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_DE.rpf|7f0760f7f57c7c1529fcf598b453bdaee3d50e31")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_FF.rpf|16c7b0299b425832f6d06fa56dcdd4157e2d0c0b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_GM.rpf|1a4787c79791d3e7eb049e7d631578ea6f8f3612")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_NP.rpf|9eb81664301fcc7640d9d86156f4897a3c9f4cb2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_QR.rpf|b889b0cac6d031848ffe126f6641091f43b0074b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_ST.rpf|57d98a0d63b4a6d6b114178190f1ba7ff96cb118")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_UZ.rpf|4a12eec3f0e34fc129f311b2ee9c711daf062266")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_AMBIENCE.rpf|8404c0cd784b1e57957232bd839eb8cc93774b39")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES.rpf|d5a90a585c90cdbc5ceacaefdc869a3395051069")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_GRANULAR.rpf|2e86bbe78c335bb0ec9873d9670472ba96342370")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_GRANULAR_NPC.rpf|f8a9e00e3d8e257318e065da1fb7dce4ed18adf5")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_LOW_LATENCY.rpf|52cf675ec48426fc7e9ef6caf2f16ccf4790a6bf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMS.rpf|0a88d996b98c3e60afc80b18e1afbb56a86a4f75")
	_ArrayAdd($arrFiles, "x64\audio\sfx\WEAPONS_PLAYER.rpf|ee64e7bffe63ceb457fb337746bc11f03293cddc")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\american.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\chinese.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\french.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\german.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\italian.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\japanese.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\korean.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\mexican.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\polish.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\portuguese.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\russian.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\spanish.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\metadata.dat|cc2c15acf669cad5135c179c514a0d9befe45e2e")
	_ArrayAdd($arrFiles, "x64a.rpf|3b602ed88cc88c090ee829697276b9aeaffde619")
	_ArrayAdd($arrFiles, "x64b.rpf|4c6c431c8469ea558c469b60a8aeec8c6f8453c2")
	_ArrayAdd($arrFiles, "x64c.rpf|c96928111e88b8708ee8c6755363c4355fe6f8a2")
	_ArrayAdd($arrFiles, "x64d.rpf|f176b1428d0d7657e1c8bf140b47d007ba0d1f38")
	_ArrayAdd($arrFiles, "x64e.rpf|765257522a60c3b48a679037febe5e0ac436ab0f")
	_ArrayAdd($arrFiles, "x64f.rpf|5dbb1234efaada60e0f42cf36c210ae49508c4d5")
	_ArrayAdd($arrFiles, "x64g.rpf|51d1d25babe20462076f49c69ef38a4baa328b12")
	_ArrayAdd($arrFiles, "x64h.rpf|018e9d96c86f7f04997e15d4ee94934ce5149163")
	_ArrayAdd($arrFiles, "x64i.rpf|28cafb36a2776fd616c52962834c55415c1f95ba")
	_ArrayAdd($arrFiles, "x64j.rpf|b417385d2b32f8dbfe8ab3e8b5f8077eca858a5d")
	_ArrayAdd($arrFiles, "x64k.rpf|45ca8eff8f8d94df30d4b41a8b42ed7f6ae2497b")
	_ArrayAdd($arrFiles, "x64l.rpf|e99a733b2bbe2b7f48bf8090ba17dd21c773f1bb")
	_ArrayAdd($arrFiles, "x64m.rpf|0d2e8b8c051815db0e7273f09369d0da399078d9")
	_ArrayAdd($arrFiles, "x64n.rpf|7112f3271b946c83a8d9ee0cb703753f7d1b2032")
	_ArrayAdd($arrFiles, "x64o.rpf|738ffb1f2f12345a0e83c2682d4615877a56a7bf")
	_ArrayAdd($arrFiles, "x64p.rpf|f0ef2d83141cbefd08826ae50e1bae2ca57553a7")
	_ArrayAdd($arrFiles, "x64q.rpf|15750edfcd439c77ef9240d46e89651c2d039d6f")
	_ArrayAdd($arrFiles, "x64r.rpf|558def91dc1d627e38c0490e61588ac6f9b87177")
	_ArrayAdd($arrFiles, "x64s.rpf|097ac3e5124fcb2bc4fb9ed76b3a95fc3d509ef4")
	_ArrayAdd($arrFiles, "x64t.rpf|4d1cfc16e655b2c7bd6fb3fbee73024722dad683")
	_ArrayAdd($arrFiles, "x64u.rpf|0408fb654823d8dfe11f7b551cdff37fe7176c9d")
	_ArrayAdd($arrFiles, "x64v.rpf|99ba53f43cc0824a026bedcdc69093a1b9fd1e93")
	_ArrayAdd($arrFiles, "x64w.rpf|cd38264ba88bb17d0bbf27306a31b264344ded0c")
	_ArrayAdd($arrFiles, "GTA5.exe|82ecc8e4e15c945f0858f3bdfeb170dba9fd38c6")
	_ArrayAdd($arrFiles, "update/update.rpf|2c54dd364d69122317223f4f6af3d21c60a3fcca")
EndFunc

Update 18.04.15 - Version 3
Habe einiges geändert:
- GTAVLauncher.exe "Patch 2" Kompatibiltät hinzugefügt
- Hashtable direkt im Sourcecode - keine CSV mehr, die extrahiert wird (Virenscanner Kompatibilität)
- Fenster verbreitert (900px)
- Dateispalte vergrößert sich automatisch, je nach Content
- Messagebox entfernt
- Anzahl Dateien und Nummer der aktuellen Datei im Status-Text
- farbliche Kennzeichnung der Ergebnisse (grün = OK / rot = fehlerhaft / grau = nicht vorhanden)

Sourcecode:
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.12.0
 Author:         bizzare

#ce ----------------------------------------------------------------------------

#include <Crypt.au3>
#include <File.au3>
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ColorConstants.au3>
#include <GUIListView.au3>

 _Crypt_Startup() ; To optimize performance start the crypt library.

Local $hGUI = GUICreate("GTA V - File Checker", 900, 600)
Local $idCheckButton = GUICtrlCreateButton("Starte Check", 20, 20, 85, 25)
Local $idCloseButton = GUICtrlCreateButton("Beenden", 130, 20, 85, 25)

; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)

; Loop until the user exits.
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE, $idCloseButton
			ExitLoop

		Case $idCheckButton
			DoCheck()
	EndSwitch
WEnd

; Delete the previous GUI and all controls.
GUIDelete($hGUI)

Exit

Func DoCheck()

	Local $idMylist = GUICtrlCreateListView("Datei                             |Status", 20, 60, 860, 520)

	Global $path = @ScriptDir & "\"
	Global $arrFiles[0][2]
	FillArray()

	$arrFilesCount = UBound($arrFiles)

	Local $idStatus = GUICtrlCreateLabel("Prüfe " & $arrFilesCount & " Dateien - bitte warten", 245,25,300)

	Dim $idItem[$arrFilesCount]

	For $i = 0 To $arrFilesCount -1
		GUICtrlSetData($idStatus, "Prüfe " & $arrFilesCount & " Dateien - bitte warten (" & $i & "/" & $arrFilesCount & ")")

		$CurrentFile = $path & $arrFiles[$i][0]
		$CorrectHash = $arrFiles[$i][1]

		If FileExists($CurrentFile) Then
			$Hash = _Crypt_HashFile($CurrentFile, $CALG_SHA1)

			If $Hash = "0x" & $CorrectHash Then
				$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt!", $idMylist)
				GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
			Else
				If $arrFiles[$i][0] = "GTAVLauncher.exe" Then
					If $Hash = "0x398cec42e611bedd195c8de65af700cf6ac9bf7b" Then
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt! (1. Patch)", $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
					ElseIf $Hash = "0x5d9f58caf1aa3c0d4b44a6c048e8ab6a2f7c8a15" Then
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash korrekt! (2. Patch)", $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GREEN)
					Else
						$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash nicht korrekt (max. Version 1.0.331.1)", $idMylist)
						GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
					EndIf
				Else
					$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "Hash NICHT korrekt!", $idMylist)
					GUICtrlSetColor($idItem[$i], $COLOR_RED)
				EndIf
			EndIf
		Else
			$idItem[$i] = GUICtrlCreateListViewItem($CurrentFile & "|" & "nicht vorhanden", $idMylist)
			GUICtrlSetColor($idItem[$i], $COLOR_GRAY)
		EndIf

		_GUICtrlListView_SetColumnWidth($idMylist, 0, $LVSCW_AUTOSIZE)

	Next

	GUICtrlSetData ($idStatus, "Fertig!")
	_Crypt_Shutdown() ; Shutdown the crypt library.
EndFunc

Func FillArray()
	_ArrayAdd($arrFiles, "bink2w64.dll|4c8535e46456ef09ea562459619bd7ef0fa23ac1")
	_ArrayAdd($arrFiles, "common.rpf|fb733cbfa4ade56810134b30f8d4736fe4022b15")
	_ArrayAdd($arrFiles, "d3dcompiler_46.dll|acf2000d794b6ab6d7bb43f37fa89b887b79c49d")
	_ArrayAdd($arrFiles, "d3dcsx_46.dll|1878a0cbbd064183ca290efd8841d11338a3dfcd")
	_ArrayAdd($arrFiles, "GFSDK_ShadowLib.win64.dll|98110c694b87d2ff5475d257f2f82096ed9e80c7")
	_ArrayAdd($arrFiles, "GFSDK_TXAA.win64.dll|1af76e56527705b68ea11cb7b51710df57169d85")
	_ArrayAdd($arrFiles, "GFSDK_TXAA_AlphaResolve.win64.dll|c2f455e80e7c695fd358f8405d44b61398f9a146")
	_ArrayAdd($arrFiles, "GPUPerfAPIDX11-x64.dll|fff4527981d873e558fd09bd493e97a308d179a4")
	_ArrayAdd($arrFiles, "GTAVLauncher.exe|cb3bb13488ad9af5ca8a284b9304e31cfe363703")
	_ArrayAdd($arrFiles, "NvPmApi.Core.win64.dll|f6ee70a84223aa6fdce862304551ca7037475c6e")
	_ArrayAdd($arrFiles, "PlayGTAV.exe|4beb938ccc470968e95e8ba842d6c4302bd8d421")
	_ArrayAdd($arrFiles, "ReadMe\Chinese\ReadMe.txt|f8e00b7f8d1ecf97186fc194a636841e58f7d6f2")
	_ArrayAdd($arrFiles, "ReadMe\English\ReadMe.txt|9eba21a78e4dd6ddb78367dd95347cccf29e3609")
	_ArrayAdd($arrFiles, "ReadMe\French\ReadMe.txt|426fbf628bec80de2305430e0445683bf882c294")
	_ArrayAdd($arrFiles, "ReadMe\German\ReadMe.txt|f2316f808ebb48e1abd89eb15126269090a6887c")
	_ArrayAdd($arrFiles, "ReadMe\Italian\ReadMe.txt|b59d8ef4d5709f761985c8e3c9d697ecf7a169b2")
	_ArrayAdd($arrFiles, "ReadMe\Japanese\ReadMe.txt|dfe3372dc6af7fd8e38c489b20be63ec70f4956a")
	_ArrayAdd($arrFiles, "ReadMe\Korean\ReadMe.txt|038f185233fb5e789f0ac86cccf0803ddfb55733")
	_ArrayAdd($arrFiles, "ReadMe\Mexican\Readme.txt|1936af8869359d86d35018b79b8cd53adb233eed")
	_ArrayAdd($arrFiles, "ReadMe\Polish\ReadMe.txt|56970d42bf5cb947354505117c3bb49b4d81722b")
	_ArrayAdd($arrFiles, "ReadMe\Portuguese\ReadMe.txt|837bd41d5b0c4426fa282a9488154a5a2ab05e2d")
	_ArrayAdd($arrFiles, "ReadMe\Russian\ReadMe.txt|7d477f165f4658d98dd574a332f27720712c456f")
	_ArrayAdd($arrFiles, "ReadMe\Spanish\ReadMe.txt|6a0dc5742a99a5990b665cccdb6275e58ca709d6")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\american.txt|0aade8af42ba0f46bcf9ba07c82d280dffc00f26")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\chinese.txt|765b9f489ea9b0c25719586377f8c4b03d023133")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\french.txt|6fac2a4ac290f1939eca67426d2f3ea248d75310")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\german.txt|d263ac14eeadc9b947f0ff74cb6671dd22d7963a")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\italian.txt|170e06b136785ea314c6969ef08abd277acf903a")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\japanese.txt|2fb07a9871c72a19b2209c0dbbc2d6a568e79515")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\korean.txt|8f9ea275ee0cd209c30be4960f82599821b38d05")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\mexican.txt|5be410bc1767d4117f499c1ff58203ccc52672f8")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\polish.txt|a065cd6e8849ca1dbee51cc89fbf6205b22cfa32")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\portuguese.txt|1c2c4d630d62d63838fc03c327f79ae88d07fcb0")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\russian.txt|9df5364af1223f825da1bd0b99d7b3760c6b4145")
	_ArrayAdd($arrFiles, "update\x64\data\errorcodes\spanish.txt|1b7b34d9cbb3660f96db2a5db42cd45b91cab04d")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mpchristmas2\dlc.rpf|5d22e472b186122695f34172ab20b34644890843")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mpheist\dlc.rpf|342074459b07d7c3b9c5b5569325122a95bdc370")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\mppatchesng\dlc.rpf|3b1b7bd941c3b144585c190043e08d71f3a0894d")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday1ng\dlc.rpf|b213d03af6d112600753e0c35a15b0cec4af8a22")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday2bng\dlc.rpf|fdd3698363dce48036bdbb4e79219b61d1b1cad7")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday2ng\dlc.rpf|7c84c1a7624a6e581a93faa20a427aca00a314ea")
	_ArrayAdd($arrFiles, "update\x64\dlcpacks\patchday3ng\dlc.rpf|c424331f6f33a14e7ea93195ac528d32ca937fd2")
	_ArrayAdd($arrFiles, "version.txt|ee93567db8b31414449a3cb25b8a556a20c09be7")
	_ArrayAdd($arrFiles, "x64\audio\audio_rel.rpf|dd19ff65972f5d2af5740d7cd17d956a509dc93a")
	_ArrayAdd($arrFiles, "x64\audio\occlusion.rpf|14c553e0e0c411f509660da9751c82061bbe6fbf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS.rpf|ce3c1e703a7a9d8a90e552247622ff7103f81cf0")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS_FAR.rpf|8d44b1a23d07d3898e42ce3efd9ec7565a5dfdf4")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ANIMALS_NEAR.rpf|2c7df2b04ef062fd45d6fa9d9c6326df4d03cbd5")
	_ArrayAdd($arrFiles, "x64\audio\sfx\CUTSCENE_MASTERED_ONLY.rpf|127ee2a5f56d87acae0e12cce961e64eb8dd5a62")
	_ArrayAdd($arrFiles, "x64\audio\sfx\DLC_GTAO.rpf|9d25a24453c82feda4c3809f4edac6b80c9e69db")
	_ArrayAdd($arrFiles, "x64\audio\sfx\INTERACTIVE_MUSIC.rpf|e0deea4db177b631ddcd806969a33d1801f3055d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\ONESHOT_AMBIENCE.rpf|ec82a6878888a7e4fd837acbf10ec81c6ce4a59c")
	_ArrayAdd($arrFiles, "x64\audio\sfx\PAIN.rpf|e934b4a03908c8e1fb912bdf31f58d27a5135daf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\POLICE_SCANNER.rpf|20f8298a6b6196c2ea8601a5248d6401af094f33")
	_ArrayAdd($arrFiles, "x64\audio\sfx\PROLOGUE.rpf|c87213e7fbbd1cb77b722588ab7d49c7058c7e9c")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_01_CLASS_ROCK.rpf|4cc8a3f221fffac4abbbebed099abf7daa8b119b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_02_POP.rpf|ae5ff5cf5fa5a236070d207bd881570075befa64")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_03_HIPHOP_NEW.rpf|f7e597ff22a291ae979f90c1340aec3ee219d930")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_04_PUNK.rpf|030d0f864c3a39af56bf7b408b2228f7485d7a46")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_05_TALK_01.rpf|64f0d6692a261604cb67ba03aa136816b7ffb8f2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_06_COUNTRY.rpf|0987ab05d3aa6298225c5f74a0fe5c03a70e33bd")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_07_DANCE_01.rpf|7605851bcb6e3c51ee145809442898a69f1d7593")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_08_MEXICAN.rpf|3554d4df101c5d0a2693ab2620d03c225a66fba2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_09_HIPHOP_OLD.rpf|6a4f248520d6638261674d05d1b5dac07df3ab53")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_11_TALK_02.rpf|c3184094b0329504e83b81bd72e70e66a83b8bed")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_12_REGGAE.rpf|9201218baac4592ae3907add940c68132605627b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_13_JAZZ.rpf|39c76772933a80559ce05e7793c328e74a1c37e8")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_14_DANCE_02.rpf|723b474c322a30e98214b8a181f7fa71fead6c00")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_15_MOTOWN.rpf|a7b74ccdc9e3d2b35659df8b2149cf942a9d5621")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_16_SILVERLAKE.rpf|8a1812111dc2e27df40499edd9464371a23f1351")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_17_FUNK.rpf|c63e588037408f7a49a8b04493f5deced5c7243b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_18_90S_ROCK.rpf|96796243a29577659f1da4fe0891e698d9c4dc71")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_ADVERTS.rpf|cf9810fa39bf9b35789a18a08dad3d60c62e38d7")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RADIO_NEWS.rpf|0892e44ceafbe31d351ae63ab517b92e1deae95a")
	_ArrayAdd($arrFiles, "x64\audio\sfx\RESIDENT.rpf|c42fd227375597ffdde335303dec1d7e88d931fb")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_AMB_F.rpf|64d3416b0921d74590a5f0678be5b53583639b5d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_AMB_M.rpf|05f45fad093a8fd2cfa67930e7dbf9cc33ad8664")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_GAN.rpf|f100770647179b98095db28664b7fa3f9d8f7b7d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_FULL_SER.rpf|b54836ffc6107a5d6dcfaf1ecc99b77c49e7da9b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_AMB.rpf|7f6b579cf70162b499cf2cdcb83a9afe4a8be7be")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_GAN.rpf|45e3d598f7977a2576730bf6e17aa73e7c3bf1d3")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MINI_SER.rpf|020e1bee4ff1e1d59b2fcf89a56f0ca4b7bf0f9d")
	_ArrayAdd($arrFiles, "x64\audio\sfx\S_MISC.rpf|4d895426966a278e17f40260b252f2b990aa6036")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SCRIPT.rpf|37d2fbf25e030763d0e586c07c7079af7ebd7f17")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_AC.rpf|678b3b168861022338f23acb5b0843e83e4d3baf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_DE.rpf|7f0760f7f57c7c1529fcf598b453bdaee3d50e31")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_FF.rpf|16c7b0299b425832f6d06fa56dcdd4157e2d0c0b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_GM.rpf|1a4787c79791d3e7eb049e7d631578ea6f8f3612")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_NP.rpf|9eb81664301fcc7640d9d86156f4897a3c9f4cb2")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_QR.rpf|b889b0cac6d031848ffe126f6641091f43b0074b")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_ST.rpf|57d98a0d63b4a6d6b114178190f1ba7ff96cb118")
	_ArrayAdd($arrFiles, "x64\audio\sfx\SS_UZ.rpf|4a12eec3f0e34fc129f311b2ee9c711daf062266")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_AMBIENCE.rpf|8404c0cd784b1e57957232bd839eb8cc93774b39")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES.rpf|d5a90a585c90cdbc5ceacaefdc869a3395051069")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_GRANULAR.rpf|2e86bbe78c335bb0ec9873d9670472ba96342370")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_GRANULAR_NPC.rpf|f8a9e00e3d8e257318e065da1fb7dce4ed18adf5")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMED_VEHICLES_LOW_LATENCY.rpf|52cf675ec48426fc7e9ef6caf2f16ccf4790a6bf")
	_ArrayAdd($arrFiles, "x64\audio\sfx\STREAMS.rpf|0a88d996b98c3e60afc80b18e1afbb56a86a4f75")
	_ArrayAdd($arrFiles, "x64\audio\sfx\WEAPONS_PLAYER.rpf|ee64e7bffe63ceb457fb337746bc11f03293cddc")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\american.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\chinese.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\french.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\german.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\italian.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\japanese.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\korean.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\mexican.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\polish.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\portuguese.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\russian.txt|d358f9094a73cce162e2d90a1908a494e4799f80")
	_ArrayAdd($arrFiles, "x64\data\errorcodes\spanish.txt|066b01a98ea8cf62cf2e525f9d1aa97da496045d")
	_ArrayAdd($arrFiles, "x64\metadata.dat|cc2c15acf669cad5135c179c514a0d9befe45e2e")
	_ArrayAdd($arrFiles, "x64a.rpf|3b602ed88cc88c090ee829697276b9aeaffde619")
	_ArrayAdd($arrFiles, "x64b.rpf|4c6c431c8469ea558c469b60a8aeec8c6f8453c2")
	_ArrayAdd($arrFiles, "x64c.rpf|c96928111e88b8708ee8c6755363c4355fe6f8a2")
	_ArrayAdd($arrFiles, "x64d.rpf|f176b1428d0d7657e1c8bf140b47d007ba0d1f38")
	_ArrayAdd($arrFiles, "x64e.rpf|765257522a60c3b48a679037febe5e0ac436ab0f")
	_ArrayAdd($arrFiles, "x64f.rpf|5dbb1234efaada60e0f42cf36c210ae49508c4d5")
	_ArrayAdd($arrFiles, "x64g.rpf|51d1d25babe20462076f49c69ef38a4baa328b12")
	_ArrayAdd($arrFiles, "x64h.rpf|018e9d96c86f7f04997e15d4ee94934ce5149163")
	_ArrayAdd($arrFiles, "x64i.rpf|28cafb36a2776fd616c52962834c55415c1f95ba")
	_ArrayAdd($arrFiles, "x64j.rpf|b417385d2b32f8dbfe8ab3e8b5f8077eca858a5d")
	_ArrayAdd($arrFiles, "x64k.rpf|45ca8eff8f8d94df30d4b41a8b42ed7f6ae2497b")
	_ArrayAdd($arrFiles, "x64l.rpf|e99a733b2bbe2b7f48bf8090ba17dd21c773f1bb")
	_ArrayAdd($arrFiles, "x64m.rpf|0d2e8b8c051815db0e7273f09369d0da399078d9")
	_ArrayAdd($arrFiles, "x64n.rpf|7112f3271b946c83a8d9ee0cb703753f7d1b2032")
	_ArrayAdd($arrFiles, "x64o.rpf|738ffb1f2f12345a0e83c2682d4615877a56a7bf")
	_ArrayAdd($arrFiles, "x64p.rpf|f0ef2d83141cbefd08826ae50e1bae2ca57553a7")
	_ArrayAdd($arrFiles, "x64q.rpf|15750edfcd439c77ef9240d46e89651c2d039d6f")
	_ArrayAdd($arrFiles, "x64r.rpf|558def91dc1d627e38c0490e61588ac6f9b87177")
	_ArrayAdd($arrFiles, "x64s.rpf|097ac3e5124fcb2bc4fb9ed76b3a95fc3d509ef4")
	_ArrayAdd($arrFiles, "x64t.rpf|4d1cfc16e655b2c7bd6fb3fbee73024722dad683")
	_ArrayAdd($arrFiles, "x64u.rpf|0408fb654823d8dfe11f7b551cdff37fe7176c9d")
	_ArrayAdd($arrFiles, "x64v.rpf|99ba53f43cc0824a026bedcdc69093a1b9fd1e93")
	_ArrayAdd($arrFiles, "x64w.rpf|cd38264ba88bb17d0bbf27306a31b264344ded0c")
EndFunc

--------------------------------------------------------------------------------------------------------------------------------

Da es im Sammelthread leicht untergegangen ist, an dieser Stelle nochmal die Info:

Guten Morgen,

für all die Part-Dateien Löscher und "alternative Quellen Downloader" habe ich ein kleines AutoIT Tool erstellt, mit dem man die GTA5 Dateien überprüfen kann.
Der SHA1 File Hash wird mit dem Hash aus diesem GoogleDocs (https://docs.google.com/spreadsheets/d/13tiRJqlqysh1yYLYziQxv55qxZWpPsSqL810lssCnLA/edit?pli=1#gid=0) verglichen.

Edit: Die SHA1 Hashs sind m.E. nur mit den Dateien kompatibel, die direkt über den RSC Downloader geladen wurden (das hier gilt also nicht für die Steam Files).

Download:

HowTo:
- Die Datei muss im GTA5 Ordner platziert werden (wo auch die GTAVLauncher.exe liegt).
- Nach Klick auf "Starte Check" dauert es eine ganze Weile (sind ja immerhin 60GB...) - wennn alle Dateien gecheckt wurden steht oben rechts "Fertig!".
- Falls unter "Status" "Hash NICHT korrekt" erscheint, ist die Datei fehlerhaft - dann sollte man folgendes tun:
- Die entsprechende Datei löschen (oder verschieben)
- Falls noch eine entsprechende .part und/oder .hash Datei vorhanden ist, diese auch löschen
- Den Downloader starten; nun sollte die Datei erneut heruntergeladen werden

Beispiel-Ergebnis:
Anhang anzeigen 817527
(bei der x64q.rpf hatte ich die part Datei gelöscht... die x64n.rpf war noch nicht fertig geladen)


Für all die jenigen, die das Programm selbst kompilieren wollen, verlinke ich einfach mal auf meinen hwluxx-Beitrag:
[Sammelthread] Grand Theft Auto V - Seite 169

Gruss bizzare
 
Zuletzt bearbeitet:
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Hallo, Ich wollte dies grad versuchen, doch wenn ich das Tool starte kommt diese Meldung:" C:\Program Files\Rockstar Games\ Grand Theft Auto V\GTA5FileCheck_SAH1.exe Nicht genügend Systemressourcen, um den angeforderten Dienst auszuführen."
Was soll ich machen?
 
Puuh ok, keine Ahnung - lmgtfy.

Kommt die Meldung direkt beim Start? Also noch bevor du auf "Starte Check" klicken kannst?

Hier ist vielleicht die Lösung:
Nicht genügend Systemressourcen um den angeforderten Dienst auszuführen ! (Computer, System)

Wüsste aber nicht, für was mein Tool Admin Rechte bräuchte...

Edit: Auch ein Versuch wert: Windows ? Fehler ?Nicht genügend Systemressourcen um den angeforderten Dienst auszuführen? « cobble IT

Und noch etwas: Hast du auch den richtigen Download-Button auf file-upload.net benutzt (der mit der Wolke)?
Die anderen Download Buttons laden einen Installer herunter :(
Die korrekte Filegröße meines Tools ist 882 KB (903.680 Bytes)
 
Zuletzt bearbeitet von einem Moderator:
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Hmm ok.
Die einzige Aktion die der Virenscanner blocken könnte, ist das extrahieren des Filehash CSVs (wird in den GTA5 Ordner extrahiert und eben zum vergleichen benutzt).
Wenn man die Virenscanner Ausnahme nicht hinzufügen möchte, kann man auch einfach direkt das CSV File im GTA5 Ordner ablegen.
File-Upload.net - SHA1CheckTable_full.csv

Hier der entsprechende Part im Source:
Code:
FileInstall(".\SHA1checkTable_full.csv", @ScriptDir & "\SHA1checkTable_full.csv")
_FileReadToArray($path & "SHA1checkTable_full.csv",$arrFiles, 0, ",")
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Hallo, Ich wollte dies grad versuchen, doch wenn ich das Tool starte kommt diese Meldung:" C:\Program Files\Rockstar Games\ Grand Theft Auto V\GTA5FileCheck_SAH1.exe Nicht genügend Systemressourcen, um den angeforderten Dienst auszuführen."
Was soll ich machen?

Hast Spiel auf C: installiert oder auf einer anderen Partition. Man sollte einen Text erstma richtig lesen und verstehen. Dann kann man meckern
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Er hat nichts falsch gemacht ;)
Wenn man das Tool in den falschen Ordner kopiert, kommt einfach bei jeder Datei nur "nicht gefunden" - abstürzen tut da nichts.
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Ich glaube ich bin einfach zu dumm aber wie sehe ich welche fehlerhaften files ich löschen muss (staht ja bei status ob sie nicht korrekt sind aber wie sehe ich den vollständigen namen der datei um sie im installations ordner zu löschen?) Bitte antworte schnell :(
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Die linke Spalte kann man größer machen, dann sieht man auch den Dateinamen ^^
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Hello German friends. Sorry i can't speak German but i hope somebody can help me in English. I downloaded your file checker but file names seem only abbreviation with and i can't move mouse cursor. By the way i use windows 7 64bit. Please help me to fix that trouble, thanks in advance.
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

You can expand the left column by dragging the line right to file column.
this doesnt work for you?
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

lch hatte 3 fehlerhafte dateien >> GTALAUNCHER.exe // x64o.rpf und x64q.rpf...........muss jetzt nochmal 5GB runterladen :( das kann mal was werden. lch hoffe einfach nur dass es klappt, vielen dank schonmal.
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Naja, die GTAVLauncher.exe war wahrscheinlich nicht fehlerhaft, sondern die Day1 Patch Variante - da klappt der SHA1 Vergleich natürlich nicht mehr.
Aber ich habe im anderen Thread (der zum Artikel) eine v2 Variante verlinkt - damit sollte der Vergleich klappen (falls mein SHA1 Hash richtig ist und deine exe nicht fehlerhaft ist - was unwahrscheinlich ist^^)
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

lch habe schon 1,5 GB runtergeladen :( naja ich muss es aber jetzt laufen lassen -.- na toll!
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Ich weiß es steht schon in der Beschreibung aber wenn ich nun einen vollständigen Steam GTA V Ordner habe und ich einen Rockstar Social Club Key, dann hilft mir dieses Programm auch nicht die Datein zu löschen die an Steam gebunden sind oder?
 
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Auch wenn ich die Frage nicht ganz verstehe: Nein ;)

Also zumindest kann man mit dem Tool nicht die Steam Files checken, soweit ich weiß (ok, nach dem entschlüsseln vielleicht schon??)

Gerade bei jemanden geschaut: Die entschlüsselten Steamfiles entsprechen (natürlich) den Files, die man über den Rockstart Downloader geladen hat - also kann man den Checker benutzen :)
Ob Steam dann die gelöschten Dateien nachlädt, ist die andere Frage^^
 
Zuletzt bearbeitet:
AW: GTA 5 - File Checker (SHA 1 Prüfung)

Mein Problem ist, dass ich die NON Steam version habe. Ich war aber zu faul das Spiel 80 Stunden lang runterzuladen. Deshalb hab ich mir einfach den ORdner eines Kumpels kopiert. Er hat aber die Steam Version. Wenn ich nun die exe öffne verweist er mich auf die Steam shop seite.... das ist mein hauptproblem
 
Zurück