Код:
Procedure DelAppInit_DLLsByFileName(Name : string);
var
AppInit_DLLs: string;
i, j, c, s: integer;
endSearch, found: boolean;
begin
if Name = '' then
exit;
AppInit_DLLs := RegKeyStrParamRead('HKEY_LOCAL_MACHINE', 'Software\Microsoft\Windows NT\CurrentVersion\Windows', 'AppInit_DLLs');
endSearch := false;
while not endSearch do
begin
found := false;
for i := 1 to length(AppInit_DLLs) do
begin
s := 0;
c := i;
for j := 1 to length(Name) do
if copy(AppInit_DLLs, c, 1) = copy(Name, j, 1) then
begin
s := s + 1;
if s = length(Name) then
begin
if ((i = 1) and (length(Name) = length(AppInit_DLLs)))
or ((i = 1) and (pos(copy(AppInit_DLLs, i + length(Name), 1), ', ') > 0))
or ((i + length(Name) - 1 = length(AppInit_DLLs)) and (pos(copy(AppInit_DLLs, i - 1, 1), ', ') > 0))
or ((pos(copy(AppInit_DLLs, i - 1, 1), ', ') > 0) and (pos(copy(AppInit_DLLs, i + length(Name), 1), ', ') > 0)) then
begin
found := true;
Delete(AppInit_DLLs, i, length(Name));
end;
end;
c := c + 1;
end
else
break;
if found then
break;
end;
if not found then
endSearch := true;
end;
i := 1;
while i < length(AppInit_DLLs) do
begin
if pos(copy(AppInit_DLLs, i, 1), ', ') > 0 then
if pos(copy(AppInit_DLLs, i + 1, 1), ', ') > 0 then
begin
Delete(AppInit_DLLs, i, 1);
i := i - 1;
end;
i := i + 1;
end;
if copy(AppInit_DLLs, 1, 1) = ',' then
Delete(AppInit_DLLs, 1, 1);
if copy(AppInit_DLLs, length(AppInit_DLLs), 1) = ',' then
Delete(AppInit_DLLs, length (AppInit_DLLs), 1);
AppInit_DLLs := Trim(AppInit_DLLs);
RegKeyStrParamWrite('HKEY_LOCAL_MACHINE', 'Software\Microsoft\Windows NT\CurrentVersion\Windows', 'AppInit_DLLs', AppInit_DLLs);
end;
begin
DelAppInit_DLLsByFileName('Name');
end.
Закачайте карантин по красной ссылке вверху. Лог virusinfo_syscheck повторите