![]() |
Борьба с NOD32 из Delphi
Есть программка (код ниже), она не делает ничего особенного кроме того что при запуске её устанавливается Домашняя страница у IE в http://www.my_site.ru, а затем вызывается прогрмма из той же директории some_bin.exe (которая полностью безопасна). НОД 32 почему то ругается на скомпилинный EXEшник, хотя DR.Web молчит.
Вопрос: 1) как сделать чтобы заткнуть НОД или модернизировать код чтобы НОД не рушгался 2)правда ли что если я буду компилилить данный код более низкой версией Делфи чем 7.0, то размер ЕХЕшника будет меньше? Код:
|
нод скорее всего ругается на изменение реестра осла...
|
точняк это из за осла нод парит мозги.
1)если уж совсем никак, то попробуй реализовать операции с реестром через bat файл, а потом его запустить 2) может быть и уменьшится, но не значительно. проблемы с размером exe решаются просто: использовать kol библиотеку. |
Цитата:
2. Работа с ветвью реестра которая подгрузится по умолчанию... ну похоже ведь на Adware, да? =) Цитата:
а) не юзай пакеры б) ни делай скрытых запусков типа winexec('file.exe',sw_hide); ShellExecute(handle,nil,'file.exe',nil,nil,sw_hide ); (примечание. ИСХОДНИК СМОТРЕЛ!) в) ни делай ничего противозаконного =) 2) да действительно так чем выше версия КОМПИЛЯТОРА тем выше исходный размер. Код:
|
1) Думаю многие видели диски какого нить там софта, где также ставиться хомпага в ИЕ на их сайт, причем нод молчит. Может есть способ изменения хомпаге ИЕ через ВинАпи ?
2) я пренебрежительно отношусь к Kol, он бывает коверкает приложение, хотя здесь вроде программка маленькая, думаю что всё будет ОК. Кстати, будет ли НОД ругаться если использовать не консльное приложение а Gui-приложение? ( надо проверить ) . |
Иконка нужна, однозначна, ну чтоб красиво было :)
Если избавться от Registry & ShellAPI , то каким образом менять хомпагу у ИЕ ? |
))
Ужос... от ShellAPI можно избавиться путем переноса описания функции со всем описанием т.е. имя, переменные, экспорт... сейчас не могу сделать т.к. не дома. в качестве варианта можно использовать winexec от Registry можно избавиться если будешь работать с реестром на API |
а вместо 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 подключать, размер будет меньше |
пакеры как раз надо использовать!!! какой нибудь telock 1.0 (private edition). Вряд ли нод его распакует )))
|
Тут попробавал изменить код, чрез ВинАпи попыытался, нифига, НОД Снова орет:
//{$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 |