Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Avira erlaubt seit heute Debugger+Wininet.dll nicht mehr

  Alt 8. Dez 2010, 14:00
Avira erlaubt es seit heute (Virendef. 7.10.14.224, Guard 10.00.01.56) nicht mehr, dass Programme, die debugged werden, auf die Registry schreibend zugreifen. Und genau das macht z.B. Wininet.dll wenn man sie lädt, was durch "WebBrowser.Navigate('about:blank');" geschieht.

Delphi-Quellcode:
program Test;
{$APPTYPE CONSOLE}
uses
  Windows, SysUtils;
var
  Disposition: DWORD;
  ResKey: HKEY;
  Err: Integer;
begin
  ResKey := 0;
  try
    Err := RegCreateKeyEx(HKEY_CURRENT_USER, 'SOFTWARE\Microsoftx\Windows\CurrentVersion\Internet Settings', 0,
      nil, 0, KEY_READ {or KEY_WRITE}, nil, ResKey, @Disposition);
    if Err <> ERROR_SUCCESS then
      RaiseLastOSError(Err)
    else
      RegCloseKey(ResKey);
    ReadLn;

    if Disposition <> 0 then ;
  except
    on E: Exception do
      WriteLn(ErrOutput, 'Error: ', E.Message);
  end;
  ReadLn;
end.
Und nicht nur der Delphi-Debugger ist betroffen. Auch Visual Studio hat mit dem Avira Update das selbe Problem:
Code:
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
   HKEY resKey;
   DWORD disposition;

   int err = RegCreateKeyEx(HKEY_CURRENT_USER, L"SOFTWARE\Microsoftx\Windows\CurrentVersion\Internet Settings", 0,
      NULL, 0, KEY_READ /*| KEY_WRITE*/, NULL, &resKey, &disposition);
    if (err == ERROR_INVALID_HANDLE)
   {
      MessageBox(0, L"ERROR_INVALID_HANDLE: 0xC0000235: NtClose wurde für ein Handle aufgerufen, das mit NtSetInformationObject gegen Schließen geschützt wurde.", L"Error", MB_OK);
      return 1;
   }
    else
      RegCloseKey(resKey);
   return 0;
}
Ohne Debugger funktioniert das ganze ohne Probleme. Leider bringt einem das recht wenig, wenn man gerade debuggen muss.
  Mit Zitat antworten Zitat