Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Можно ли внедрить dll в свой проект?   Найти похожие ветки 

 
Дмитрий С ©   (2010-02-28 12:54) [0]

Subj.
Как самый простой вариант можно предварительно сохранять dll из ресурса в temp, затем загружать.
Вариант не очень хороший, т. к. требует динамическую загрузку dll.

Есть еще варианты? Желательно без сохранения библиотеки на диск?

Может быть можно ее как-то декомпилировать в asm и присоединить как модуль?


 
Anatoly Podgoretsky ©   (2010-02-28 13:02) [1]

А чего ты боишься, ДЛЛ ворованая?


 
Дмитрий С ©   (2010-02-28 13:48) [2]


> А чего ты боишься, ДЛЛ ворованая?

Не знаю, может быть. Это: 7z.dll.
Я коммерческой выгоды получать все-равно не буду. С собой таскать ее не хочется.


 
Аноним ©   (2010-02-28 15:13) [3]


> Subj.

можно, но сложно
на рсдн есть статья по загрузке PE в память и запуск
от таких действий антивирусы сильно напрягутся


 
Кто б сомневался ©   (2010-02-28 15:20) [4]

В чем проблема, сохраняй где нибудь в temp папке под другим именем, заведомо убрав Version с нее или поставив свой. Потом удаляй.


 
Аноним ©   (2010-02-28 15:34) [5]


> заведомо убрав Version с нее или поставив свой.

тюрьма сидеть, без вариантов


 
Дмитрий С ©   (2010-02-28 16:50) [6]


> В чем проблема, сохраняй где нибудь в temp папке под другим
> именем, заведомо убрав Version с нее или поставив свой.
> Потом удаляй.

Пока так и делаю. А версию зачем убирать?


> от таких действий антивирусы сильно напрягутся

А чего это они напрягутся, в своем процессе я что угодно творить могу, разве нет?


 
DVM ©   (2010-02-28 16:51) [7]

То то будут рады антивирусы тому что какая то программа мало того что извлекает из себя подозрительную длл без версии да еще и пытается сразу ее подгрузить минуя файл.


 
Аноним ©   (2010-02-28 16:51) [8]


> А чего это они напрягутся, в своем процессе я что угодно
> творить могу, разве нет?

загрузка в память и запуск чего-то - это в своем процессе?


 
Дмитрий С ©   (2010-02-28 16:56) [9]


> загрузка в память и запуск чего-то - это в своем процессе?


> То то будут рады антивирусы тому что какая то программа
> мало того что извлекает из себя подозрительную длл без версии
> да еще и пытается сразу ее подгрузить минуя файл.

Загрузка в адресное пространство своего процесса, запуск - не более чем вызов процедуры. Мы ведь без труда можем пометить данные в своем процессе как запускаемый блок и выполнить.

Попутный вопрос еще:
Теоретически ведь статически-"прилинкованную" библиотеку (через таблицу импорта) можно внедрить в EXE. Добавить ее к образу, изменить таблицу импорта/экспорта. Практически такое применяется?


 
Игорь Шевченко ©   (2010-02-28 16:58) [10]


> А чего это они напрягутся, в своем процессе я что угодно
> творить могу, разве нет?


Можешь творить. А антивирус (в своем процессе) может напрягаться на что угодно. Разве нет ?


 
Аноним ©   (2010-02-28 17:05) [11]


> Добавить ее к образу, изменить таблицу импорта/экспорта.

да, такие, без вопросов безопасные, действия с точки зрения антивируса

кстати, симантек теперь по дефолту считает все новые екзешники подозрительными, о чем незамедлительно и всенепременно говорит пользователям
это так, о том "в своем что хочу, то и делаю"


 
Дмитрий С ©   (2010-02-28 17:15) [12]


> да, такие, без вопросов безопасные, действия с точки зрения
> антивируса

Так это то тут причем. Это ж не динамически делаться должно, а один раз. Слил два файла в один и все.

Взять те же упаковщики exe файлов. Антивирусы и на них ругаются?


 
Аноним ©   (2010-02-28 17:19) [13]


> Слил два файла в один и все.

нельзя


>  Антивирусы и на них ругаются?

да


 
DVM ©   (2010-02-28 17:22) [14]


> Дмитрий С ©   (28.02.10 17:15) [12]


> Взять те же упаковщики exe файлов. Антивирусы и на них ругаются?

Про большинство из них антивирусы в курсе. Так как они распространены весьма.
А на твою новую программу, ведущую себя подобным образом, антивирус будет ругаться, можешь проверить.


 
Anatoly Podgoretsky ©   (2010-02-28 17:23) [15]

Все хуже и хуже пахнет


 
Аноним ©   (2010-02-28 17:25) [16]


> Про большинство из них антивирусы в курсе.

тем не менее, шанс получить фалсе позитив у упакованной программы на порядки выше


 
Дмитрий С ©   (2010-02-28 17:33) [17]

Кривой, выходит, антивирус попадается.


> Аноним ©   (28.02.10 17:19) [13]

Антивирусы ругаются на упаковщики или на упакованные EXE-файлы?


 
Аноним ©   (2010-02-28 17:37) [18]

а как ты распакуешь екзе, запакованный неизвестным пакером?
это трейсер с ИИ нужен, или бородатый дядька

это ответ на твой вопрос?


 
Anatoly Podgoretsky ©   (2010-02-28 17:53) [19]


> а как ты распакуешь екзе, запакованный неизвестным пакером?

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


 
Аноним ©   (2010-02-28 17:54) [20]


> Ничего потом всю программу как вирус внесут в базы, даже
> не распаковывая, сильно нужно еще распаковывать.

угу
но попасть может сигнатура именно распаковщика этого пакера - автоматом влетают все остальные приложения
такое бывало


 
Anatoly Podgoretsky ©   (2010-02-28 17:58) [21]

Ну и хорошо, одним махом семерых убивахом.


 
Дмитрий С ©   (2010-02-28 17:58) [22]

Так а что криминального в том, что процесс изменяет свою память. Файлы при этом не создаются, другие процессы не трогаются, глобальные хуки, внедрения и прочее не применяются. Что подозрительного в деятельности?


 
Anatoly Podgoretsky ©   (2010-02-28 18:11) [23]


> Что подозрительного в деятельности?

Все подозрительно, особенно надежда, что антивирус не сможет распознать зловредный код


 
Anatoly Podgoretsky ©   (2010-02-28 18:14) [24]

За DEP борятся антивирусы, Виндоус, производители железа. Так что дело это страшное.


 
Дмитрий С ©   (2010-02-28 18:19) [25]


> Anatoly Podgoretsky ©   (28.02.10 18:11) [23]

В уже запущенном процессе, имхо, нужно распознавать не зловредный код, а зловредные действия (сетевая активность, добавления в автозагрузку и пр...)


> За DEP борятся антивирусы, Виндоус, производители железа.
>  Так что дело это страшное.

DEP - это защита от выполнения данных. Костыль для предотвращения переполнений буферов, разве нет? Так, а если процесс намеренно помечает участок памяти как PAGE_EXECUTE_READWRITE, к примеру, а потом передает управление в этот участок, разумно предположить, что так и было задумано. К тому же это никак не угрожает системе.


 
Anatoly Podgoretsky ©   (2010-02-28 18:29) [26]

Сетевая активность, не смеши, во первых это функция файрвола, а во вторых много ты сетевой активности поанализируешь для Интерннт Эксплорер и других подобных программ, куда внедрится зловред.


 
sniknik ©   (2010-02-28 18:36) [27]

> DEP - это защита от выполнения данных.
а ты что собираешься сделать? dll из области данных использовать на выполнение.

> К тому же это никак не угрожает системе.
не смешите мои тапочки. это угроза №1, была еще до интернета и остального. выполнение кода, кодом программы не являющимся (вирусом на проверку).


 
Riply ©   (2010-02-28 18:36) [28]

> Anatoly Podgoretsky

Мощность Вашего биссерного завода просто поразительна :)


 
Аноним ©   (2010-02-28 18:45) [29]


> Так а что криминального в том, что процесс изменяет свою
> память.

еще раз
если антивирус не уверен, что процесс безопасен, то он автоматом становится подозрительным
а запаковынный файл антивирус не всегда может протрейсить
вывод?


 
Anatoly Podgoretsky ©   (2010-02-28 18:49) [30]

Короче Дмитрию явно грозит не хилый срок.


 
Дмитрий С ©   (2010-02-28 18:53) [31]


> Сетевая активность, не смеши, во первых это функция файрвола,
>  а во вторых много ты сетевой активности поанализируешь
> для Интерннт Эксплорер и других подобных программ, куда
> внедрится зловред.

Интернет Эксплорер и другие подобные программы не будут сами в себя "зловред" внедрять.
Вот если бы моя запакованная программа пыталась распаковаться в чужой процесс - это да - это подозрительно "по-любому".
По-моему вы просто "троль" в этой ветке.


> а запаковынный файл антивирус не всегда может протрейсить
> вывод?

А как антивирус вообще может определить, запакованный файл или нет?


> а ты что собираешься сделать? dll из области данных использовать
> на выполнение.
>

Примерно так. Область данных с Dll предварительно подготовить с помощью VirtualProtect.


> не смешите мои тапочки. это угроза №1, была еще до интернета
> и остального. выполнение кода, кодом программы не являющимся
> (вирусом на проверку).

Какая же это угроза? Процесс изменяет сам себя, никуда не внедряется, только вносит изменения в собственную память. В чем угроза?


 
KilkennyCat ©   (2010-02-28 18:53) [32]


> Riply ©

с одной "с"

> Anatoly Podgoretsky ©   (28.02.10 18:49) [30]

фигня, не более 5 лет.


 
Дмитрий С ©   (2010-02-28 18:55) [33]

Тема ушла в сторону. Побоку, что там антивирус решит.
Меня сам принцип "хранения" dll внутри exe интересует.


 
Игорь Шевченко ©   (2010-02-28 18:57) [34]


> Меня сам принцип "хранения" dll внутри exe интересует.


нет такого принципа


 
Аноним ©   (2010-02-28 19:08) [35]


> Меня сам принцип "хранения" dll внутри exe интересует.

я уже дал напревление поиска
что еще?


 
Anatoly Podgoretsky ©   (2010-02-28 19:13) [36]


> фигня, не более 5 лет.

А ты пожизненое хотел?


 
GDI+   (2010-02-28 19:27) [37]

BTMemoryLoadLibary
http://delphi.about.com/od/windowsshellapi/a/delphi-load-resource-dll-into-memory.htm


 
KSergey ©   (2010-02-28 20:52) [38]

> Дмитрий С ©   (28.02.10 18:53) [31]
> Какая же это угроза? Процесс изменяет сам себя, никуда не
> внедряется, только вносит изменения в собственную память.
>  В чем угроза?

А как понять: это задумка автора, писавшего exe, или это вирус успел этот exe похачить (что прошло мимо антивируса, не суть важно как), и теперь таким образом вирус пытается себя активировать?


 
Anatoly Podgoretsky ©   (2010-02-28 21:06) [39]

Антивирус должен спросить - клянешься ли ты мамой, что это не вирус.


 
Дмитрий С ©   (2010-03-01 03:37) [40]


> А как понять: это задумка автора, писавшего exe, или это
> вирус успел этот exe похачить

Можно добавить, к примеру, +10 к подозрительности и следить за дальнейшими действиями программы. :)

Кстати, а о каком антивирусе идет речь?


 
KilkennyCat ©   (2010-03-01 03:59) [41]

о касперском, конечно. остальные не антивирусы, лишь имитация.


 
Дмитрий С ©   (2010-03-01 05:20) [42]

Вот такой пример:

program DepTest;
{$APPTYPE CONSOLE}
uses
 Windows;

function RealTestProc(a, b: Integer): Integer; stdcall;
begin
 Result := a + b;
end;

procedure Terminator; stdcall;
begin
end;

type
 TTestProc = function (a, b: Integer): Integer; stdcall;

var
 VarTestProc: Pointer;
 ProcSize: Integer;

begin
 Write("Test with VirtualProtect... Press Enter...");
 Readln;
 ProcSize := Integer(@Terminator) - Integer(@RealTestProc);
 GetMem(VarTestProc, ProcSize);
 try
   VirtualProtect(VarTestProc, ProcSize, PAGE_EXECUTE_READWRITE, nil);
   CopyMemory(VarTestProc, @RealTestProc, ProcSize);
   Writeln("Result: ", TTestProc(VarTestProc)(1,2));
 finally
   FreeMem(VarTestProc);
 end;

 Write("Test without VirtualProtect... Press Enter...");
 Readln;
 ProcSize := Integer(@Terminator) - Integer(@RealTestProc);
 GetMem(VarTestProc, ProcSize);
 try
   CopyMemory(VarTestProc, @RealTestProc, ProcSize);
   Writeln("Result: ", TTestProc(VarTestProc)(1,2));
 finally
   FreeMem(VarTestProc);
 end;

 Writeln("Complete");
 ReadLn;
end.

Касперскому пофиг, DEP-у, кстати, тоже...


 
brother ©   (2010-03-01 05:33) [43]

> Касперскому пофиг, DEP-у, кстати, тоже...

имхо, это пока, как сигнатуры совпадать начнут тогда...


 
Дмитрий С ©   (2010-03-01 05:49) [44]


> имхо, это пока, как сигнатуры совпадать начнут тогда...

Так и не начнут, если продукт "с добрыми намерениями".


 
brother ©   (2010-03-01 05:53) [45]

> Так и не начнут, если продукт "с добрыми намерениями".

Я имел ввиду совпадать с существующими.


 
KilkennyCat ©   (2010-03-01 07:16) [46]

и совпадать необязательно. эвристика у них тож есть.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.57 MB
Время: 0.068 c
3-1240748319
ford
2009-04-26 16:18
2010.08.27
список несуществующих записей


2-1273643770
zod2009
2010-05-12 09:56
2010.08.27
Не могу установить компонент


11-1207304649
Danger
2008-04-04 14:24
2010.08.27
WinInet для FPC


2-1275838875
zlodey
2010-06-06 19:41
2010.08.27
регистрация com сервера


2-1274633276
georgeted
2010-05-23 20:47
2010.08.27
Работа с БД в оперативной памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский