_______________________________________________________________________________

Verify v0.21                                                (c) 2010-2012 Pepak
http://www.pepak.net/download/verify-overovani-integrity-souboru/
_______________________________________________________________________________


O APLIKACI
----------

Verify je nstroj pro ovovn integrity soubor na disku. Hlavnm dvodem,
pro jsem psal novou utilitu a nespokojil se s destkami a stovkami u 
existujcch (nap. nejrznj SFV, MD5SUMS apod.), bylo to, e stvajc
nstroje trp uritmi omezenmi, se ktermi se nechci smit.

Co tedy um VERIFY navc proti ostatnm utilitm?

* tyi zkladn operan reimy. Bn programy tohoto druhu poskytuj funkce
  pro vytvoen seznamu soubor a pro oven, e soubory odpovdaj seznamu.
  VERIFY navc nabz funkce pro aktualizaci seznamu (ani by bylo teba 
  pepotvat to, co se nezmnilo) a pro porovnn dvou seznam mezi sebou
  (vetn specializovanho vyhledvn jenom duplicit).

* VERIFY um detekovat nejen bn stavy "soubor se nezmnil", "soubor se
  zmnil" a "soubor byl smazn", ale tak "soubor byl nov vytvoen" nebo
  "soubor byl pesunut z msta A na msto B".

* Seznamy soubor jsou ist textov a je mon je spojovat nebo rozdlovat
  podle poteb. Mete napklad udlat po jednom seznamu z kadho disku, 
  vechny soubory spojit do jednoho a porovnat je proti seznamu ze sovho
  loit.

* VERIFY se um vypodat s adou ppad, kter nejsou zcela bn, ale ke
  kterm me dochzet a ostatn programy je vesms nijak nee. Napklad:

  - VERIFY si na Windows XP porad se soubory o velikosti nad 2TB, kter nejdou
    bnmi prostedky st.

  - VERIFY si porad s velmi dlouhmi cestami (a cca 32000 znak, proti 
    standardnm 256).

  - VERIFY doke za jistch podmnek pracovat s case-sensitive jmny soubor
    (jmna dvou soubor se li jen velikost psmen).

  - VERIFY rozpozn a voliteln peskakuje junctions a reparse points.

  - VERIFY doke natat skuten obsah disku i na 64bitovch Windows se
    zapnutm pesmrovnm cest jako WINDOWS\SYSTEM32 nebo PROGRAM FILES.
    K dispozici je i nativn 64bitov verze, kter samozejm dn omezen
    s pesmrovnm cest nem.

* VERIFY doke pesn specifikovat soubory, kter se maj zpracovvat, nejen
  pomoc klasickch wildcards, ale voliteln i pomoc regulrnch vraz.

* VERIFY m oteven kd a me se dle rozvjet (nap. hledn duplicitnch
  soubor).


OVLDN
--------

Program se ovld z pkazov dky (protoe to je nejrychlej a nejpesnj),
nic ale nebrn ve vytvoen grafickho prosted. Zkladn syntaxe je:
Hashfile must be provided.

    vfy.exe [<arg>] [<arg>] ... <hashfile> [<dir>] [<dir>] ...

Na poad parametr nezle, s tou vhradou, e identifikace hashlistu (tj.
seznamu soubor a jejich hash) mus bt ped seznamem adres. Vechny
parametry krom identifikace hashlistu jsou voliteln.

Pkazy:

 -h, -? ......... Zobraz npovdu (seznam vech povolench argument)

 -b ............. Vytvo nov hashlist.
 -v ............. Ov soubory proti hashlistu.
 -u ............. Ov soubory proti hashlistu a zaktualizuje ho.
 -m <soubor> .... Porovn nov hashlist <hashfile> se starm hashlisted <soubor>
                  a vype zmny, ke kterm dolo.
 -D <soubor> .... Vyhled v hashlistu <hashfile> poloky, kter se vyskytuj
                  i v <soubor>, a vype jejich seznam.
 -D1 ............ Vyhled v hashlistu <hashfile> poloky, kter jsou tam ve
                  vce kopich, a vype jejich seznam.

  Pokud nen uveden dn pkaz, automaticky se pedpokld pkaz -v
  (verify).
 
Nastaven pro porovnvn soubor:

 -j ............. Prochzet junctions a reparse points.
 -j- ............ Peskakovat junctions a reparse points. Pedpokld se
                  pitom, e tyto struktury budou dostupn odjinud. Toto
                  nastaven umouje ovovat profil ve Windows 7, kter m
                  standardn zacyklenou strukturu junctions a pi zpracovn
                  bnm zpsobem v nm dochz k nekonen smyce.

 -r ............. Rekurzivn prochzet podadrese.
 -r- ............ Neprochzet podadrese.

 -t ............. Pi aktualizaci hashlistu (-u) peskakovat soubory, u kterch
                  se datum nezmnilo - bude se pedpokldat, e ani obsah nebyl
                  zmnn.
 -t- ............ I pi aktualizaci se budou kontrolovat vechny soubory.
 -tp <msec> ..... Pokud je pouito -t, bude se za shodu data a asu pokldat
                  i pklad, kdy je mezi pvodnm a aktulnm asem rozdl a 
                  <msec> milisekund.

 -wow64 ......... Pi zpracovn adres bude respektovno aktuln nastaven
                  WOW64 redirection - tzn. v 64bitovch Windows bude pi pokusu
                  o ten adrese WINDOWS\SYSTEM32 ve skutenosti ten adres
                  WINDOWS\SYSWOW64.
 -wow64- ........ WOW64 redirection bude zakzno, tzn. pi pokusu o ten
                  WINDOWS\SYSTEM32 bude skuten ten soubor WINDOWS\SYSTEM32
                  (tzn. jde o funkci, kvli kter spousta lid vol po 64bitov
                  verzi Total Commanderu, protoe "v 32 bitovm programu nejde
                  st teba WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS" - tady vidte,
                  e to jde, kdy se chce...).

 -cs ............ Zapnout podporu pro case-sensitive nzvy soubor.
 -cs- ........... Vypnout podporu pro case-sensitive nzvy soubor.
                  Tato nastaven vyaduj zvltn kompilaci programu a tak
                  speciln nastaven Windows. Podrobnosti jsou uvedeny ne
                  v sekci Kompilace.


  Vchoz nastaven je:
    -j (prochzet junctions)
    -r (prochzet podadrese)
    -t (hashovat pouze zmnn soubory)
    -tp 0 (asy se mus pesn rovnat)
    -wow64 (respektovat WOW64 filesystem redirection)
    -cs- (v nzvech soubor nezle na velikosti psmen)

Zdrojov soubory:

 -d <adr> ....... Soubory se budou brt i z adrese <dir>. Alternativn lze
                  pouvat i pmo <adr> bez pepnae, ale v tomto ppad
                  u mus bt uren hashlist, zatmco parametr -d me bt
                  na pkazov dce uveden kdekoliv.

 -i <wildcard> .. Soubory vyhovujc masce <wildcard> budou zpracovny.
 -x <wildcard> .. Soubory vyhovujc masce <wildcard> nebudou zpracovny.
 -ir <regexp> ... Soubory vyhovujc regulrnmu vrazu <regexp> budou 
                  zpracovny.
 -xr <regexp> ... Soubory vyhovujc regulrnmu vrazu <regexp> nebudou 
                  zpracovny.

  V ppad pkaz -i, -x, -ir, -xr zle na poad: soubor bude nebo nebude
  zpracovn podle toho, kter posledn pepna na nm uspl. Tzn. sekvence
  "-i a.* -x *.txt" znamen, e budou zpracovny vechny soubory zanajc na
  "a", kter nemaj pponu "txt", zatmco sekvence "-x *.txt -i a.*" k, e
  zpracovny budou vechny soubory zanajc na "a" a navc vechny soubory,
  kter nemaj pponu "txt".

  Pokud je jako prvn uveden parametr -i nebo -ir, je ped nj jako vchoz
  hodnota dosazeno -x *.* (tzn. vraz "-i *.txt" k, chci soubory s pponou
  "txt", ale dn jin). Obdobn pokud je prvn uvedeno -x nebo -xr, je ped
  nj jako implicitn hodnota pouito -i *.* (tzn. vraz "-x *.txt" k, chci
  vechny soubory krom tch, kter maj pponu "txt").

  Vchoz nastaven je:
    -d . (aktuln pracovn adres)
    -i *.* (vechny soubory)

Vstup:

 -p ............. Zobrazovat prbh zpracovn soubor procenty a nalezen
                  vsledky rovnou zobrazovat.
 -p- ............ Nezobrazovat prbh zpracovn.

 -e <soubor> .... Chyby (soubory, kter nelo pest apod.) zapisovat do
                  souboru <soubor>.

 -o <soubor> .... Vsledky zpracovn zapsat do souboru <soubor>. Jinak budou
                  poslny na standardn vstup.

 -sm ............ Zobrazovat nezmnn soubory.
 -sm- ........... Nezobrazovat nezmnn soubory.
 -sa ............ Zobrazovat nov soubory.
 -sa- ........... Nezobrazovat nov soubory.
 -sc ............ Zobrazovat zmnn soubory.
 -sc- ........... Nezobrazovat zmnn soubory.
 -sd ............ Zobrazovat smazan soubory.
 -sd- ........... Nezobrazovat smazan soubory.
 -sp ............ Zobrazovat nov soubory, kter pvodn byly pod jinm jmnem.
 -sp- ........... Nezobrazovat nov soubory, kter pvodn byly pod jinm 
                  jmnem.
 -sr ............ Zobrazovat soubory, kter byly pesunuty pod jin jmno.
 -sr- ........... Nezobrazovat soubory, kter byly pesunuty pod jin jmno.

  Vchoz nastaven je:
    -p nebo -p- podle toho, jestli je standardn vstup pesmrovn.
    -e nezadno (vstup na standardn vstup)
    -o nezadno (vstup na standardn vstup)
    -sm- (nezobrazovat nezmnn soubory)
    -sa (zobrazovat nov soubory)
    -sc (zobrazovat zmnn soubory)
    -sd (zobrazovat smazan soubory)
    -sp (zobrazovat zkoprovan soubory)
    -sr (zobrazovat pesunut soubory)


KOMPILACE
---------

Program VERIFY lze zkompilovat pomoc Delphi verze 5, 2009 a XE2 (a 
pravdpodobn s drobnmi pravami i v jinch verzch) a FreePascalu. Nkter 
funkce vyaduj Delphi 2009:

- Podpora pro dlouh cesty (nad 256 znak).

- Podpora pro unicode jmna soubor.

Nativn 64bitov verze vyaduje Delphi XE2; asi pjde njak zkompilovat i
FreePascalem, ale nemm to vyzkouen a nevm, jak na to.

Pro sestaven verze je k dispozici soubor BUILD.BAT. Pomoc parametr mete
proces sestavovn dit. Zkladn parametry se zobraz po sputn skriptu
s parametrem -? nebo -h, mn podstatn si mete dohledat uvnit (skoro na
zatku). Zajmav budou pravdpodobn hlavn voln BUILD (sestav 32bitovou
verzi v Delphi), BUILD X64 (sestav 64bitovou verzi v Delphi) a BUILD FPC
(sestav 32bitovou verzi ve FreePascalu).

Pro podporu case-sensitive nzv soubor mus bt v registru Windows
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel"
nastavena poloka ObCaseInsensitive na 1. Potom mete v soubor SOURCE\VFY.INC
zapnout DEFINE CASESENSITIVESUPPORT.


LICENCE
-------

Program VERIFY publikovn pod tzv. novou BSD licenc. Jej text naleznete v 
souboru DOC\LICENSE.TXT.

Pokud potebujete program pelicencovat pod jinou licenci, dejte mi vdt.

Komponenty tetch stran, umstn v adresi SOURCE\LIB, se d svmi 
vlastnmi licencemi. Z tohoto dvodu nelze pout licenci GNU GPL (dnou
verzi) ani na VERIFY, ani na odvozen programy!

Knihovny a jejich licence:

- DCPCrypt
  - autoi: David Barton
  - zdroj: http://www.cityinthesky.co.uk/cryptography.html
  - licence: MIT License
  - popis: ifrovac a hashovac funkce

- PerlRegEx
  - autor: Jan Goyvaerts
  - zdroj: http://www.regular-expressions.info/delphi.html
  - licence: Mozilla Public License 1.1
  - popis: Vyhodnocovn regulrnch vraz

- Synapse
  - autor: Luk Gebauer
  - zdroj: http://synapse.ararat.cz/
  - licence: vlastn, freeware
  - popis: Prce s TCP/IP, HTTP a dalmi sovmi protokoly
