Peștera programatorului creând propria sa oglindă a serverului de actualizare antivirus Kaspersky

Crearea unei oglinzi proprii a serverului de actualizare Kaspersky Anti-Virus

Unul dintre antivirusurile populare din Rusia este, desigur, Kaspersky Anti-Virus (denumit în continuare AK). Discutați dacă este bun sau rău nu voi, acesta este un alt subiect pentru "războaiele sfinte". Dar faptul rămâne - este folosit de mulți.

Structura bazei de date antivirus.

Acum trebuie să vorbim despre structura bazei de date antivirus.

Cel puțin avem nevoie de două dosare. Acesta este directorul Index și dosarul Baze. Și dacă vrem ca AK să actualizeze fișierele de programe, atunci va fi necesar dosarul AutoPatches. Ie dacă vom "descărca" prost aceste dosare cu tot conținutul, vom obține oglinda serverului de actualizare. Dacă această operație se face la fiecare 2 ore, atunci vom avea mereu baze proaspete. Dar nu suntem oameni bogați, ei sunt economici și. ceea ce este cel mai important, inteligent. Aceste dosare conțin o mulțime de actualizări nefolositoare, iar dacă reintroducem la fiecare 2 ore, toate folderele din trafic vor fi ruinate. Apoi trebuie să ne gândim ca AK când se actualizează. Și anume:
  1. descarcă indexul / 6 / u0607g.xml
  2. descărcați fișiere index pentru componentele de care avem nevoie
  3. descărcați numai fișierele de actualizare actualizate pentru aceste componente

În aceste scopuri, trebuie să putem descărca și să putem determina ce fișiere avem nevoie.
Cu prima sarcină vom face față programului de consolă WGet. Dar cu cea de-a doua sarcină este mai dificilă. Pentru a rezolva aceasta, am scris un mic program de consolă kav_upd.

Programul are 2 taste pentru a rula. Primul "-main". Programul analizează fișierul
% path% \ index \ 6 \ u0607g.xml și creează un fișier principal.txt cu fișierele pointer pentru încărcare. Al doilea "haine". Citește fișierul principal.txt și fișierele indicatoare, creând un fișier othes.txt cu o listă de fișiere de actualizare pentru descărcare.

Un script pentru crearea unei oglinzi pentru actualizări.

Acum, să începem să creăm scenariul. Vom folosi comanda obișnuită
Fișiere Windows. Iată un exemplu de astfel de scenariu


După executare, în dosarul D: \ avp \ test3 \ avp sunt fișiere plictisitoare. Tasta - timestamping a programului wget spune programului să descarce numai fișierele actualizate. După prima rulare, comanda este de aproximativ 19 MB (în funcție de componentă). În viitor, mult mai puțin. După examinarea cheilor wget, o puteți face să funcționeze printr-un server proxy.

Acum putem pune conținutul directorului avp_path pe serverul web. Și AK configurat pe acest server. va fi actualizat din acesta în mod normal. De asemenea, puteți partaja fișierul avp_path în rețea și configurați AK pentru a actualiza din acest dosar.

Folosind această tehnică, puteți crea un server de actualizare pentru multe produse de la Kaspersky Lab. Principalul lucru pe care trebuie să-l examinați este ce componente nu se pot actualiza sau fișiere.

Se utilizează fie o versiune mai veche, dar vor exista întrebări cu cheile (pentru utilizarea piratată).
A doua opțiune este utilizarea versiunii 7. și periodic faceți o scanare completă a computerului atunci când antivirusul spune (plus minus câteva zile). datorită acestui antivirus nu va verifica încă o dată fișierele în care suma de control nu sa schimbat. tehnologia iChecker dacă nu mă înșel.
Ei bine, am nevoie de 512 MB de RAM pentru funcționarea normală pe xp. bine, puteți juca în jurul valorii de filtre, care fișiere pentru a verifica, și care nu. de exemplu, de ce verificați arhiva rar când ați descărcat-o? să verificați conținutul arhivei atunci când despachetați. dar aceasta este doar o opțiune care nu se pretinde a fi corectă. în fiecare caz, toate în mod individual.

indamixer
Nici măcar nu știu. Principalul lucru pentru a înțelege ce ar trebui făcut. și apoi încercați să implementați. pentru mine, a fost interesant. în cele din urmă, sa întâmplat ceva

mi-a curățat recent PC-ul cu Kaspersky, el însuși în șoc cât de multe gunoi a găsit. acum voi fi în mod constant: razz:

trebuie să găsiți o eroare sau să veniți cu o nouă funcție funcțională.
în timp ce nu există astfel de gânduri.
dacă faceți ceva, o vom face.

pasip, dar pentru mine mai bine nod32, baza este întotdeauna proaspăt coaptă

Există vreo alternativă? ;)

Ajutor pzhsta. Comutatorul de timp nu funcționează corect. Când încerc să actualizez toate fișierele încep să se leagă de noi, deși sunt prezente în dosar. Cum se fac NUMERAR descărcări noi?
+++++++++++++++++++++++++++++
Setați avp_path = C: \ WebServers \ home \ 123 \ www \ avp \
Setați log = log.txt

Kirya Robki
nu a văzut
XuT
discutat în icq
Blogoved
mereu gata pentru discuții

Mulțumesc.
Ieri am început să scriu, așa cum voi termina - voi da o legătură cu rezultatul. Este rău că nu există niciunul în shell-ul parserului CML, dar limbajele de programare "reale" sunt reticente în a-și chinui :)

Și poți posta aici discuția în ICQ
XuT
discutat în icq
despre wget-timestamping
?

yanis, deși am discutat cu tine. Voi scrie pentru toată lumea
XuT sa plâns că a încărcat în mod constant toate fișierele.
Răspunsul a fost acesta - la început, rulați scenariul. este prima dată când se descarcă și se fixează datele. apoi, cu noua descărcare, numai shake fișierele schimbate.
problemele sunt de așa natură încât totul să fie roci. cu care este dificil de spus. trebuie să încercați versiuni noi de wget.
ca alternativă, modificați programul (așa cum ați făcut în versiunea nix), verificând mărimea și data fișierului de pe server și în xml

Cu dimensiunile fișierelor ca cele mai bune - dar, din păcate, nu toate fișierele au atributul FileSize. Scriptul meu va descărca întotdeauna astfel de fișiere. Deși voi încerca să combină - dacă atributul este pus pe, atunci credeți-l. Dacă nu, verificați de la server

Articole similare