comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Antis

  • 0 Respuestas
  • 1651 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5411
  • Actividad:
    20%
  • Reputación 33
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Abril 04, 2012, 11:33:14 am »
Les dejo un code de Fakedo0r:

Código: Delphi
  1. //******************************************************************************
  2. //Unit        : ANTIS
  3. //Autor       : Fakedo0r .:[PD-TEAM]:.
  4. //Fecha       : 04.04.2012
  5. //Creditos    : Cobein
  6. //Descripcion : Detecta [VirtualPC / VMWare / VirtualBox]
  7. //              Detecta [Sandboxie / ThreatExpert / Anubis / CWSandbox / JoeBox]
  8. //Uso         : Anti_End;
  9. //******************************************************************************
  10. unit ANTIS;
  11. //******************************************************************************
  12. //DECLARACION DE CLASES
  13. //******************************************************************************
  14. interface
  15. uses
  16.   Windows, ShlObj, Messages, SysUtils;
  17. //******************************************************************************
  18. //DECLARACION DE FUNCIONES / PROCEDIMIENTOS
  19. //******************************************************************************
  20. function InStr(iStart: Integer; sSource: String; sSourceToFind: String): Integer;
  21. function TrimA(sCadena: String): String;
  22. function IsVirtualPCPresent: Bool;
  23. function IsInSandbox: Bool;
  24. function Anti_End: Bool;
  25. //******************************************************************************
  26. //FUNCIONES / PROCEDIMIENTOS
  27. //******************************************************************************
  28. implementation
  29. //******************************************************************************
  30. //<--- MAQUINAS VIRTUALES [VirtualPC / VMWare / VirtualBox] --->
  31. //******************************************************************************
  32. function IsVirtualPCPresent: Bool;
  33. const
  34.   sArrVM    :array[0..2] of string = ('VMWARE','VMWARE','VBOX');
  35. var
  36.   hlKey     :HKEY;
  37.   sBuffer   :String;
  38.   i         :Integer;
  39.   iRegType  :Integer;
  40.   iDataSize :Integer;
  41. begin
  42.   IsVirtualPCPresent := False;
  43.   iRegType := 1;
  44.  
  45.   if RegOpenKeyEx($80000002, Pchar('SYSTEM\ControlSet001\Services\Disk\Enum'), 0, $20019, hlKey) = 0 then
  46.     if RegQueryValueEx(hlKey, '0', 0, @iRegType, nil, @iDataSize) = 0 then
  47.       SetLength(sBuffer, iDataSize);
  48.       RegQueryValueEx(hlKey, '0', 0, @iRegType, PByte(PChar(sBuffer)), @iDataSize);
  49.  
  50.       for I := 0 to 2 do
  51.         if InStr(1, TrimA(sBuffer), sArrVM[i]) > 0 then
  52.           IsVirtualPCPresent := True;
  53.  
  54.  
  55.     RegCloseKey(hlKey);
  56. end;
  57. //******************************************************************************
  58. //<--- SANDBOX [Sandboxie / ThreatExpert / Anubis / CWSandbox / JoeBox] --->
  59. //******************************************************************************
  60. function IsInSandbox: Bool;
  61. const
  62.   sArrSB      :array[0..2] of string = ('76487-337-8429955-22614',
  63.                                         '76487-644-3177037-23510',
  64.                                         '55274-640-2673064-23950');
  65.   sArrDll     :array[0..1] of string = ('sbiedll.dll', 'dbghelp.dll');
  66. var
  67.   hlKey       :HKEY;
  68.   sBuffer     :String;
  69.   i           :Integer;
  70.   hDll        :Integer;
  71.   iRegType    :Integer;
  72.   iDataSize   :Integer;
  73.   hSnapShot   :Integer;
  74. begin
  75.   IsInSandbox := False;
  76.   iRegType := 1;
  77.  
  78.   hDll := LoadLibrary(PChar(sArrDll[0]));
  79.  
  80.   if hDll <> 0 then
  81.     IsInSandbox := True;
  82.  
  83.   FreeLibrary(hDll);
  84.  
  85.   hDll := LoadLibrary(PChar(sArrDll[1]));
  86.  
  87.   if hDll <> 0 then
  88.     IsInSandbox := True;
  89.  
  90.   FreeLibrary(hDll);
  91.  
  92.   if RegOpenKeyEx($80000002, Pchar('Software\Microsoft\Windows\CurrentVersion'), 0, $20019, hlKey) = 0 then
  93.     if RegQueryValueEx(hlKey, 'ProductId', 0, @iRegType, nil, @iDataSize) = 0 then
  94.       SetLength(sBuffer, iDataSize);
  95.       RegQueryValueEx(hlKey, 'ProductId', 0, @iRegType, PByte(PChar(sBuffer)), @iDataSize);
  96.  
  97.       for I := 0 to 2 do
  98.         if InStr(1, TrimA(sBuffer), sArrSB[i]) > 0 then
  99.           IsInSandbox := True;
  100.  
  101.     RegCloseKey(hlKey);
  102. end;
  103. //******************************************************************************
  104. //<--- BUSCA CADENA DENTRO DE OTRA CADENA --->
  105. //******************************************************************************
  106. function InStr(iStart: Integer; sSource: String; sSourceToFind: String): integer;
  107. begin
  108.   Result := Pos(sSourceToFind, Copy(sSource, iStart, Length(sSource) - (iStart - 1)));
  109. end;
  110. //******************************************************************************
  111. //<--- ELIMINA LOS ESPACIOS DE UNA CADENA --->
  112. //******************************************************************************
  113. function TrimA(sCadena: String): String;
  114. begin
  115.   Result := '';
  116.  
  117.   if sCadena = '' then Exit;
  118.  
  119.   while sCadena[1] = ' ' do
  120.   begin
  121.     Delete(sCadena, 1, 1);
  122.     if sCadena='' then Exit;
  123.   end;
  124.  
  125.   while sCadena[Length(sCadena)] = ' ' do
  126.   begin
  127.     Delete(sCadena,Length(sCadena),1);
  128.     if sCadena  = '' then Exit;
  129.   end;
  130.  
  131.   Result :=  sCadena;
  132. end;
  133. //******************************************************************************
  134. //<--- CIERRA EL EJECUTABLE EN CASO DE TRUE  --->
  135. //******************************************************************************
  136. function Anti_End: Bool;
  137. begin
  138.   Anti_End := False;
  139.  
  140.   if IsVirtualPCPresent = True or IsVirtualPCPresent = True then
  141.     ExitProcess(0);
  142. end;
  143.  
  144. end.

Saludos!
« Última modificación: Abril 21, 2013, 01:00:43 pm por Expermicid »


 

¿Te gustó el post? COMPARTILO!