Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Йошь-мыслитель
124 / 118 / 26
Регистрация: 22.02.2009
Сообщений: 693
Записей в блоге: 5
1

Как обойти НОД (опознаёт программу, как троян)

22.09.2010, 08:01. Показов 2960. Ответов 11
Метки нет (Все метки)

Итак дана функция:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function GetInetFile(const fileURL, FileName: String): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
  Result:=False;
  sAppName:=ExtractFileName(Application.ExeName);
  hSession:=InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
  try
    hURL:=InternetOpenURL(hSession,PChar(fileURL),nil,0,0,0);
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
      repeat
        InternetReadFile(hURL,@Buffer,SizeOf(Buffer),BufferLen);
        BlockWrite(f,Buffer,BufferLen)
      until BufferLen = 0;
      CloseFile(f);
      Result:=True;
    finally
    InternetCloseHandle(hURL)
    end
  finally
  InternetCloseHandle(hSession)
  end
end;
При попытке скомпилировать программу с этой функцией антивирус NOD не даёт создать EXE-файл. Он опознаёт программу, как возможный trojan-downloader. Теперь задачка: что нужно изменить в функции, чтобы НОД её игнорировал. Сразу скажу: вариант отключить антивирус не катит, ибо на нём стоит пароль, который знает только главный админ, а до него (админа) достучаться невозможно.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2010, 08:01
Ответы с готовыми решениями:

НОД нашёл троян, но не смог удалить. Что делать?
Запись в журнале антивира NOD32 "обнаруженные угрозы" гласит: Модуль сканирования файлов,...

нет rdp! (как обойти?)+права администраторов часто как у пользователя! (как повысить?)
windows7/32 home basic edition нет рдп! (как обойти?) права администраторов часто как у...

Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать рекурсивную функцию вычисления НОД......
Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать...

Найти НОД трёх чисел. Примечание. НОД(a,b,c)=НОД(НОД(a,b),c).
Кто может решить данную задачку (составить программу с помощью циклов)))) заранее спасибо)) Найти...

11
Модератор
64058 / 47473 / 32728
Регистрация: 18.05.2008
Сообщений: 115,185
22.09.2010, 08:11 2
Цитата Сообщение от Xander_Bass Посмотреть сообщение
что нужно изменить в функции, чтобы НОД её игнорировал.
Не писать всякую дрянь. Ибо когда ищут обходы антивирусов, то именно дрянью и пытаются заниматься. Если вы меня не переубедите, тему удалю и накажу.
0
Йошь-мыслитель
124 / 118 / 26
Регистрация: 22.02.2009
Сообщений: 693
Записей в блоге: 5
22.09.2010, 08:52  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Если вы меня не переубедите, тему удалю и накажу.
Не вопрос Вот полный исходник того, что я пишу.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
unit MainForm;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, WinInet, URLMon, ShellAPI;
 
type
  TEXPDownLoadWin = class(TForm)
    ed_adress: TEdit;
    btn_load: TButton;
    ind_status: TShape;
    btn_folder: TButton;
    ed_name: TEdit;
    lbl_from: TLabel;
    lbl_to: TLabel;
    procedure ed_adressChange(Sender: TObject);
    procedure btn_folderClick(Sender: TObject);
    procedure btn_loadClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    rFolder: string;
    rAdress: string;
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  EXPDownLoadWin: TEXPDownLoadWin;
 
implementation
 
{$R *.dfm}
 
procedure TEXPDownLoadWin.ed_adressChange(Sender: TObject);
begin
  rAdress:=ed_adress.Text;
  ind_status.Brush.Color:=clGray
end;
 
procedure TEXPDownLoadWin.btn_folderClick(Sender: TObject);
begin
  ;
end;
 
function GetInetFile(const fileURL, FileName: String): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
  Result:=False;
  sAppName:=ExtractFileName(Application.ExeName);
  hSession:=InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
  try
    hURL:=InternetOpenURL(hSession,PChar(fileURL),nil,0,0,0);
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
      repeat
        InternetReadFile(hURL,@Buffer,SizeOf(Buffer),BufferLen);
        BlockWrite(f,Buffer,BufferLen)
      until BufferLen = 0;
      CloseFile(f);
      Result:=True;
    finally
    InternetCloseHandle(hURL)
    end
  finally
  InternetCloseHandle(hSession)
  end
end;
 
function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
  try 
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; 
  except 
    Result := False; 
  end; 
end; 
 
procedure TEXPDownLoadWin.btn_loadClick(Sender: TObject);
var
  s: string;
begin
  if ed_name.Text = '' then s:='Untitled.dlex' else s:=ed_name.Text;
  if GetInetFile(rAdress,rFolder+'\'+s) then
  begin
    ind_status.Brush.Color:=clLime
  end
  else
  begin
    ind_status.Brush.Color:=clRed
  end
end;
 
procedure TEXPDownLoadWin.FormCreate(Sender: TObject);
begin
  rFolder:='DL'
end;
 
end.
Собственно назначение программы - скачать указанный в строке ввода файл в указанное в другой строке ввода место. Код процедуры был взят... не помню точно откуда Особо опасных инструкций я там не нашёл.

Вирусописательством (если вы об этом) не занимаюсь!!! Кстати, приложение визуальное, что нетипично для вирусов Тем более, что основная моя специфика - это IT-безопасность.

Добавлено через 4 минуты
По идее программа в конечном должна скачивать особый тип файлов, нужных для обновления одной из программ (если надо, в личку напишу назначение - продукт предполагается коммерческий, так что чтобы никто больше не узнал). Сам файл по идее является XML-файлом особого синтаксиса, где содержится структура обновлений.
0
Модератор
64058 / 47473 / 32728
Регистрация: 18.05.2008
Сообщений: 115,185
22.09.2010, 08:55 4
Тогда странно. Я несколько лет пользуюсь НОД32 и не помню ложных срабатываний в отличие от других антивирусов.
Цитата Сообщение от Xander_Bass Посмотреть сообщение
приложение визуальное, что нетипично для вирусов
Это так, но для всяких пакостей в виде так называемых шуток, весьма типично, сам получал.
Но думаю у вас действительно все в норме. Ищите проблему, может в поддержку НОД написать?
1
Йошь-мыслитель
124 / 118 / 26
Регистрация: 22.02.2009
Сообщений: 693
Записей в блоге: 5
22.09.2010, 09:14  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
сам получал.
Я на подобные пакости наталкивался на совершенно безобидных сайтах а-ля "DelphiWorld". Автор заявляет, мол, такая-то программа, а запускаешь и кроме "такой-то матери" ничего на ум не приходит.
Цитата Сообщение от Puporev Посмотреть сообщение
Ищите проблему, может в поддержку НОД написать?
Суть проблемы и так ясна. Антивирь опознаёт код процедуры, как сигнатуру трояна. Так что скорее всего надо что-то в процедуре изменить. Впрочем за совет спасибо. Единственная проблема, что НОД нелицензионный. Так что писать в поддержку, ИМХО, глупо.

Добавлено через 6 минут
Кстати, в ТП НОДа писать не имеет смысла и по другой причине, ибо я примерно знаю что они ответят. Они скажут, мол, добавляй приложение в исключения. А добавить не могу ибо см.выше о пароле на НОД.
0
872 / 543 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
22.09.2010, 09:48 6
да выключай его на время работы программы.У меня было то же интересное явление с касперским.
Когда работал в delphi 7 при запуске из под оболочки он любой код воспринимал как вирус.Лазил по форумам - ничего не помогло - приходилось выключать пока на десятку не перешел
0
Модератор
64058 / 47473 / 32728
Регистрация: 18.05.2008
Сообщений: 115,185
22.09.2010, 09:55 7
Аналогично у меня было с Авастом. Он почти все екзешники на Паскале за вирусы принимал, приходилось отключать. Но с Нод такого еще не было. Единственно, когда Делфи заразилась induc.
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
22.09.2010, 10:16 8
dr. web негодяй тоже ругается бывает на безобидные строки, ему очень не нравится функция GetCursorPos )))
0
Йошь-мыслитель
124 / 118 / 26
Регистрация: 22.02.2009
Сообщений: 693
Записей в блоге: 5
22.09.2010, 10:46  [ТС] 9
Цитата Сообщение от igoriy Посмотреть сообщение
да выключай его на время работы программы
И рад бы, но смотри выше (про пароль).
0
Puporev
22.09.2010, 10:48
  #10

Не по теме:

Цитата Сообщение от anonimus Посмотреть сообщение
ему очень не нравится функция GetCursorPos )))
А как же, указание не согласованное с вебом!

0
Брюс Всемогущий
35 / 35 / 1
Регистрация: 02.09.2008
Сообщений: 256
22.09.2010, 12:27 11
У меня один раз похожая проблемма была. Расскажу что я в прошлый раз делал (сразу скажу что у меня все нормально стало):

1)Выяснил, какая процедура распознается вирусом(поочередня заремаривал каждую)
2)Когда выяснил, нужно было просто изменить последовательность скомпилированного кода, для этого (не знаю что именно помогла): изменил типы данных в используемой функции, перетащил фнкцию в другое ЛОГИЧЕСКОЕ место(в отдельный модуль) ну и соответственно все ссылки пришлося поменять, в самой функции стал использовать некоторые(медленно работающие) стандартные процедуры.
1
Йошь-мыслитель
124 / 118 / 26
Регистрация: 22.02.2009
Сообщений: 693
Записей в блоге: 5
17.12.2010, 23:07  [ТС] 12
Цитата Сообщение от anonimus Посмотреть сообщение
ему очень не нравится функция GetCursorPos
Кстати, только сейчас стало актуальным совсем недавно поставили ДырВеб. Так что спасибо за информацию.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2010, 23:07

Символ переноса строки появляется как пробел. Как обойти?
Между пунктами меню появляется пробел. Но если написать всё в одну строку то всё становится...

Как конвертнуть строку в текст(номер), или как обойти такую ситуацию....?
Код: <% quarter=request('quarter') year_=request('year') if quarter='' and year_='' then ...

Модем huawei e173 megafon как прошить или как обойти траф поср. серавака
модем обновил. но жутко траф жрет. на билайновском сайте модемы с тарифами 490р без всяких...

Как удалить троян
Привет всем!Все банально,искал кряк нашёл троян) Аваст ругается,выскакивает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.