Lista de RegEx para los Plugins de los antivirus

Desconectado WebNewbie

  • Newbie
  • *
  • Mensajes: 8
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Lista de RegEx para los Plugins de los antivirus
« : febrero 23, 2014, 04:53:36 pm »
El cacheado de archivos para antivirus
Cita
es importante
, por eso listo de los RegEx de algunos antivirus que tengo; pero.. sin embargo, hay muchos que faltan por hacer. Quizás algunos de ustedes tengan y puedan compartirlo :)

LOS MÁS COMUNES:
Código: [Seleccionar]
AntivirusKaspersky => http.*\.kaspersky\.com.*(\.bz2|\.avc|\.kdc|\.dat|\.kd1|\.klz|\.exe|\.kfb|\.dif|\.kdz|\.diffs)
AntivirusMcAfee => http.*\.mcafee\.com.*(\.exe|\.xdb|\.msi|\.zip)
AntivirusSymantec => [h|f]tt?p://[^/]*\.symantec(liveupdate)?\.com/.*\.(exe|zip|vdb|xdb)
AntivirusAvast => http://download[\d]+\.avast\.com/.*\.(def|vpaa|stamp|vpx|exe|vpu)
AntivirusAvira => http://dl[0-9]\.(avgate\.net|avira-update\.com)/.*\.(exe|dll|vdf|dat|gz|bin)
AntivirusPanda Aún FALTA
AntivirusBitDefender Aún FALTA
AntivirusTrendMicro     => http://[^/]*\.trendmicro\.com/activeupdate/.*
AhnLab Aún FALTA
AntivirusAVG => http://.*\.avg\.com/.*\.(exe|bin|ctf)
AntivirusQuick Heal Aún FALTA
AntivirusClamAV Aún FALTA
AntivirusComodo Aún FALTA
AntivirusDr. Web LAún FALTA
AntivirusFrisk Aún FALTA
AntivirusF-Secure Aún FALTA
AntivirusFortinet Aún FALTA
AntivirusG Data Aún FALTA
AntivirusJiangmin Aún FALTA
AntivirusMicrosoft Aún FALTA
AntivirusNorman Aún FALTA
AntivirusRising Aún FALTA
AntivirusSophos     Aún FALTA

Desconectado francisco.romero87

  • Jr. Member
  • **
  • Mensajes: 54
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Lista de RegEx para los Plugins de los antivirus
« Respuesta #1 : enero 06, 2015, 01:12:29 pm »
el plugin de avg quedaria de esta forma quien me ayuda? de igual forma estare probando hoy en la noche a ver que tal me va. ya que estoy en la oficina y no tengo a la mano el raptor:D

Código:
  1. #include <cstring>
  2. #include <string>
  3. #include <vector>
  4. #include "../utils.cpp"
  5.  
  6. using namespace std;
  7.  
  8. // use this line to compile
  9. // g++ -I. -fPIC -shared -g -o avg.com.so avg.com.cpp
  10. // Regex
  11. // http://.*\.avg\.com/.*\.(.exe|\.bin|\.ctf)
  12.  
  13. bool in_array(const string &needle, const vector< string > &haystack) {
  14.  
  15.         int max = haystack.size();
  16.         if (max == 0) return false;
  17.         for (int iii = 0; iii < max; iii++) {
  18.                    if (regex_match(haystack[iii], needle) != "") {
  19.                            return true;
  20.                 }
  21.         }
  22.         return false;
  23. }
  24.  
  25. string get_filename(string url) {
  26.                 vector<string> resultado;
  27.                 if (url.find("?") != string::npos) {
  28.                         stringexplode(url, "?", &resultado);
  29.                         stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
  30.                         return resultado.at(resultado.size()-1);          
  31.                 } else {
  32.                         stringexplode(url, "/", &resultado);
  33.                         return resultado.at(resultado.size()-1);
  34.                 }
  35. }
  36.  
  37. extern "C" resposta getmatch(const string url) {
  38.         resposta r;
  39.                
  40.         vector<string> black_list;
  41.         black_list.push_back ("servers.def.vpx");
  42.         black_list.push_back ("prod-ais.vpx");
  43.                
  44.         if ((url.find(".avg.com/") != string::npos) and (in_array(url, black_list) == false)
  45.                 ) {
  46.                 r.file = get_filename(url);
  47.                 if (!r.file.empty()) {
  48.                         r.match = true;
  49.                         r.domain = "avg";
  50.                 } else {
  51.                         r.match = false;
  52.                 }
  53.         } else {
  54.                 r.match = false;
  55.         }
  56.         return r;
  57. }

Desconectado francisco.romero87

  • Jr. Member
  • **
  • Mensajes: 54
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Lista de RegEx para los Plugins de los antivirus
« Respuesta #2 : enero 06, 2015, 01:15:14 pm »
para avira

Código:
  1. #include <iostream>
  2. #include <cstring>
  3. #include <string>
  4. #include <vector>
  5. #include "../utils.cpp"
  6.  
  7. using namespace std;
  8.  
  9. // use this line to compile
  10. // g++ -I. -fPIC -shared -g -o avira.com.so avira.com.cpp
  11. // Regex
  12. // http://dl[0-9]\.(avgate\.net|avira-update\.com)/.*\.(.exe|\.dll|\.vdf|\.dat|\.gz|\.bin)
  13.  
  14. bool in_array(const string &needle, const vector< string > &haystack) {
  15.  
  16.         int max = haystack.size();
  17.         if (max == 0) return false;
  18.         for (int iii = 0; iii < max; iii++) {
  19.                    if (regex_match(haystack[iii], needle) != "") {
  20.                            return true;
  21.                 }
  22.         }
  23.         return false;
  24. }
  25.  
  26. string get_filename(string url) {
  27.                 vector<string> resultado;
  28.                 if (url.find("?") != string::npos) {
  29.                         stringexplode(url, "?", &resultado);
  30.                         stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
  31.                         return resultado.at(resultado.size()-1);          
  32.                 } else {
  33.                         stringexplode(url, "/", &resultado);
  34.                         return resultado.at(resultado.size()-1);
  35.                 }
  36. }
  37.  
  38. extern "C" resposta getmatch(const string url) {
  39.         resposta r;
  40.                
  41.         vector<string> black_list;
  42.         black_list.push_back ("servers.def.vpx");
  43.         black_list.push_back ("prod-ais.vpx");
  44.                
  45.         if ((url.find(".avira.com/") != string::npos) and (in_array(url, black_list) == false)
  46.                 ) {
  47.                 r.file = get_filename(url);
  48.                 if (!r.file.empty()) {
  49.                         r.match = true;
  50.                         r.domain = "avira";
  51.                 } else {
  52.                         r.match = false;
  53.                 }
  54.         } else {
  55.                 r.match = false;
  56.         }
  57.         return r;
  58. }

Desconectado firecold

  • Moderador
  • *
  • Mensajes: 3440
  • Ubicación: Guatemala
  • Todo lo puedo en Cristo que me fortalece.
    • Ver Perfil
  • Me Gusta: 23
Re:Lista de RegEx para los Plugins de los antivirus
« Respuesta #3 : enero 06, 2015, 09:52:43 pm »
el plugin de avg quedaria de esta forma quien me ayuda? de igual forma estare probando hoy en la noche a ver que tal me va. ya que estoy en la oficina y no tengo a la mano el raptor:D

Código:
  1. #include <cstring>
  2. #include <string>
  3. #include <vector>
  4. #include "../utils.cpp"
  5.  
  6. using namespace std;
  7.  
  8. // use this line to compile
  9. // g++ -I. -fPIC -shared -g -o avg.com.so avg.com.cpp
  10. // Regex
  11. // http://.*\.avg\.com/.*\.(.exe|\.bin|\.ctf)
  12.  
  13. bool in_array(const string &needle, const vector< string > &haystack) {
  14.  
  15.         int max = haystack.size();
  16.         if (max == 0) return false;
  17.         for (int iii = 0; iii < max; iii++) {
  18.                    if (regex_match(haystack[iii], needle) != "") {
  19.                            return true;
  20.                 }
  21.         }
  22.         return false;
  23. }
  24.  
  25. string get_filename(string url) {
  26.                 vector<string> resultado;
  27.                 if (url.find("?") != string::npos) {
  28.                         stringexplode(url, "?", &resultado);
  29.                         stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
  30.                         return resultado.at(resultado.size()-1);          
  31.                 } else {
  32.                         stringexplode(url, "/", &resultado);
  33.                         return resultado.at(resultado.size()-1);
  34.                 }
  35. }
  36.  
  37. extern "C" resposta getmatch(const string url) {
  38.         resposta r;
  39.                
  40.         vector<string> black_list;
  41.         black_list.push_back ("servers.def.vpx");
  42.         black_list.push_back ("prod-ais.vpx");
  43.                
  44.         if ((url.find(".avg.com/") != string::npos) and (in_array(url, black_list) == false)
  45.                  {
  46.                 r.file = get_filename(url);
  47.                 if (!r.file.empty()) {
  48.                         r.match = true;
  49.                         r.domain = "avg";
  50.                 } else {
  51.                         r.match = false;
  52.                 }
  53.         } else {
  54.                 r.match = false;
  55.         }
  56.         return r;
  57. }

Dependiendo de como esten, ya que los archivos que estas denegando no son los que deberian, ya que solo deniegas los que no permiten que la actualizacion se realice, Saludos