Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

dll определяется антивирусом.

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> dll определяется антивирусом.
Имя
Сообщение << Старые топики   Новые топики >>
dll определяется антивирусом. - 2008-03-12 14:33:41.123333   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58

Хм, подскажите, я тут написал программу для себя, она использует dll (тоже собственного написания), дак вот в чём проблема:
когда я компилирую dll'ку она сохраняется на диск и тут же ловится антивирусом как вирус =( Я видимо там какие-то функции использовал, которые антивирус распознает как подозрительные.
Вопрос вот в чём:
т.к. отказаться от этой dll'ки я не могу и все функции в ней мне нужны может можно как-нибудь её запаковать/зашифровать, а в теле основной программы не просто подгружать, а предварительно распаковав/расшифровав (не на HDD чтоб антивирус не ловил, а в самой программе)?

Буду благодарен если подскажете реализацию этого дела или хотя бы в каком направлении копать!
Post #: 1
RE: dll определяется антивирусом. - 2008-03-12 14:40:37.226666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
А если со статической линковкой? .EXE будет как вирь ловиться? И что за антивирус, и как именно определяет?

На основе исходных данных - написать инсталлятор (или загрузчик), который прибивает антивирь ;), перед тем, как распаковывать библиотеку.
Post #: 2
RE: dll определяется антивирусом. - 2008-03-12 14:48:06.703333   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
quote:

ORIGINAL: _SaZ_

А если со статической линковкой? .EXE будет как вирь ловиться? И что за антивирус, и как именно определяет?

На основе исходных данных - написать инсталлятор (или загрузчик), который прибивает антивирь ;), перед тем, как распаковывать библиотеку.

Что за статическая линковка?
Сама программа не ловится как вирус, ловится только dll от использования которой я отказаться не могу.
Антивирус - касперский, но дело в том, что если он ловит, то и другие будут ловить, а я хочу эту прогу распространять, т.е. надо это убить.
Определяет как Troyan.win32.delf.ar.
Вопрос остаётся: как запаковать/зашифровать (пусть даже отдельно от дельфи) чтоб потом в дельфи распаковать/расшифровать?

Post #: 3
RE: dll определяется антивирусом. - 2008-03-12 14:52:20.800000   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
Ещё:
nod32 определяет как: win32/Spy.Delf.IP троян
Post #: 4
RE: dll определяется антивирусом. - 2008-03-12 15:05:02.096666   
vvviperrr

Сообщений: 301
Оценки: 0
Присоединился: 2007-03-20 21:33:16.790000
2dogged дллка случаем не прячет процесс из диспетчера?))
Post #: 5
RE: dll определяется антивирусом. - 2008-03-12 15:05:37.113333   
bodrillo

Сообщений: 26
Оценки: 0
Присоединился: 2007-12-31 00:18:47.243333
Запаковать дллку в тело программы можно. Например самое простое в ресурсах. Но при распаковке также спалится. Проще заксорить полезный код, а при инициализации библиотеки вызывать процедуру которая этот код расшифрует. Если добавить в начало процедуры длинный цикл то эвристик обломается. Только проактивная защита скорей всего полюбому будет ругаться.
А вырубить каспера это гемор тот еще. Он за собой может всю систему уронить.
Post #: 6
RE: dll определяется антивирусом. - 2008-03-12 16:09:14.123333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Статическая линковка - это когда ты процедуры хранишь не во внешней динамически подключаемой библиотеке (dynamic linked library), а непосредственно в своём коде. Но я так понял ты используешь чужую либу, исходников которой у тебя естесственно нет.

bodrillo правильно подсказал. Гугли, ищи структуру .dll файла, шифруй код процедур (тем же ксором). А при загрузке .dll, когда получишь адрес функции - повтори процедуру. Правда задача не из лёгких ;), пригодится ф-я VirtualProtect.
Post #: 7
RE: dll определяется антивирусом. - 2008-03-12 16:15:22.256666   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58

quote:

ORIGINAL: vvviperrr

2dogged дллка случаем не прячет процесс из диспетчера?))

нет не прячет. Она работает с вводом с клавиатуры и видимо определяется как клавиатурный шпион.
Post #: 8
RE: dll определяется антивирусом. - 2008-03-12 16:24:44.376666   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58

quote:

ORIGINAL: _SaZ_

Статическая линковка - это когда ты процедуры хранишь не во внешней динамически подключаемой библиотеке (dynamic linked library), а непосредственно в своём коде. Но я так понял ты используешь чужую либу, исходников которой у тебя естесственно нет.

bodrillo правильно подсказал. Гугли, ищи структуру .dll файла, шифруй код процедур (тем же ксором). А при загрузке .dll, когда получишь адрес функции - повтори процедуру. Правда задача не из лёгких ;), пригодится ф-я VirtualProtect.

исходники как раз есть, ситуация такая что я бы и рад обойтись без длл, да не смогу мне кажется. А вот ксор меня заинтересовал. Я подгужаю библиотеку через loadlibrary, даю ей в качестве параметра путь к библиотеке и получаю хандл. А про распаковку из ресурсов верно сказали- пробовал, ловится сразу антивирусом после извлечения.
Post #: 9
RE: dll определяется антивирусом. - 2008-03-12 16:53:48.020000   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
То есть мне просто взять и написать програмку которая побайтно прогонит готовую длл через ксор? Как мне ее тогда потом подгружать? Ошибку же выдаст. :noob:
Post #: 10
RE: dll определяется антивирусом. - 2008-03-12 17:00:02.650000   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
Думаю кстати что статическая линковка не поможет, наоборот антивирусом будет ловиться уже сама программа а не длл, какие функции понадобятся ксорить функции если известны их адреса и кстати как эти адреса получить? Я обращаюсь к функциям по их именам. :слабо понимаю в адресах и динамических библиотеках:
Post #: 11
RE: dll определяется антивирусом. - 2008-03-12 17:00:52.810000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Сам noob. Читай внимательно: шифруй исполняемый код процедур. Естесственно заголовок самой .dll должен остаться прежним.
Post #: 12
RE: dll определяется антивирусом. - 2008-03-12 17:11:04.913333   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58

quote:

ORIGINAL: _SaZ_

Сам noob. Читай внимательно: шифруй исполняемый код процедур. Естесственно заголовок самой .dll должен остаться прежним.

ок спасибо порою в этом направлении. А нубом я себя называл :-)
Post #: 13
RE: dll определяется антивирусом. - 2008-03-12 17:16:24.966666   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
Еще вопрос. Существуют программы которые сжимают ехе и длл, если такой программой сжать ее, не выйдет? И тут еще заикались про дринный цикл в начале расшифровщика, что именно имелось ввиду?
Post #: 14
RE: dll определяется антивирусом. - 2008-03-12 18:13:11.706666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Сорри за нуба ;). Насчёт программ-упаковщиков - кури ASPack. Цикл вначале функции - это чтобы обмануть эврестический анализатор кода.
Post #: 15
RE: dll определяется антивирусом. - 2008-03-12 18:55:06.943333   
FLIER

Сообщений: 628
Оценки: 0
Присоединился: 2007-08-29 01:31:15.400000
quote:

ORIGINAL: dogged

Хм, подскажите, я тут написал программу для себя, она использует dll (тоже собственного написания), дак вот в чём проблема:
когда я компилирую dll'ку она сохраняется на диск и тут же ловится антивирусом как вирус =( Я видимо там какие-то функции использовал, которые антивирус распознает как подозрительные.
Вопрос вот в чём:
т.к. отказаться от этой dll'ки я не могу и все функции в ней мне нужны может можно как-нибудь её запаковать/зашифровать, а в теле основной программы не просто подгружать, а предварительно распаковав/расшифровав (не на HDD чтоб антивирус не ловил, а в самой программе)?

Буду благодарен если подскажете реализацию этого дела или хотя бы в каком направлении копать!


Обьявляеш глобальную переменную
например a:integer;
потом в процедурах пишеш такую вот воду: a:=1;if a= 1 then a:= 2; и тому подобное…после нескольких таких бредовых махинаций…она перестанет определяться
Post #: 16
RE: dll определяется антивирусом. - 2008-03-13 04:01:40.240000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
На чём основаны такие доводы?
Post #: 17
RE: dll определяется антивирусом. - 2008-03-13 12:04:17.970000   
FLIER

Сообщений: 628
Оценки: 0
Присоединился: 2007-08-29 01:31:15.400000
quote:

ORIGINAL: _SaZ_

На чём основаны такие доводы?

 
На личном опыте
Post #: 18
RE: dll определяется антивирусом. - 2008-03-13 14:30:40.463333   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
Вообщем результаты. Упаковщик не помог, забил в одну из функций длл в самое начало 500 строк как советовал флиер, все проканало! Щас закину на вирустотал, посмотрим что выйдет.
Post #: 19
RE: dll определяется антивирусом. - 2008-03-13 19:00:18.370000   
FLIER

Сообщений: 628
Оценки: 0
Присоединился: 2007-08-29 01:31:15.400000
quote:

ORIGINAL: dogged

Вообщем результаты. Упаковщик не помог, забил в одну из функций длл в самое начало 500 строк как советовал флиер, все проканало! Щас закину на вирустотал, посмотрим что выйдет.

 
ФЛАЕР….:) и от "+" не откажусь
Post #: 20
RE: dll определяется антивирусом. - 2008-03-13 20:20:26.900000   
RasenHerz

Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
quote:

Вообщем результаты. Упаковщик не помог, забил в одну из функций длл в самое начало 500 строк как советовал флиер, все проканало! Щас закину на вирустотал, посмотрим что выйдет.

500 то зачем? =) можно было бы и обойтись 25-70 (сам проверял =))) для пущей уверенности отруби в компиляторе какие-либо оптимизации, а то. к примеру компилятор С++(в большинстве случаев) с включенной оптимизацией сделал бы из всего этого просто:
a += 500; (при условии что ты действовал так a:=1;if a= 1 then a:= 2). создатели компиляторов не зря деньги получают за свою работу =)
Post #: 21
RE: dll определяется антивирусом. - 2008-03-14 08:37:41.476666   
dogged

Сообщений: 12
Оценки: 0
Присоединился: 2006-03-07 21:03:58
quote:

ORIGINAL: RasenHerz

quote:

Вообщем результаты. Упаковщик не помог, забил в одну из функций длл в самое начало 500 строк как советовал флиер, все проканало! Щас закину на вирустотал, посмотрим что выйдет.

500 то зачем? =) можно было бы и обойтись 25-70 (сам проверял =))) для пущей уверенности отруби в компиляторе какие-либо оптимизации, а то. к примеру компилятор С++(в большинстве случаев) с включенной оптимизацией сделал бы из всего этого просто:
a += 500; (при условии что ты действовал так a:=1;if a= 1 then a:= 2). создатели компиляторов не зря деньги получают за свою работу =)

500 для особо упорных антивирусов =)
ЗЫ: пишу на дельфи.
Post #: 22
RE: dll определяется антивирусом. - 2008-03-14 09:57:29.863333   
RasenHerz

Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
quote:

500 для особо упорных антивирусов =)
ЗЫ: пишу на дельфи.

ну а я на C++ =); ни за что не поверю что компилятор Delphi не поддерживает оптимизаций. просто 500 строк кода это лишние килобайты твоей программе + лишние тормоза (несмотря даже на то что операции простые выполняются =)) . я бы предложил следующее создать код-спагетти(использовать много операторов безусловного перехода) + рекурсия проходов на 30-40. к весу твоей проги это прибавит ~5-10 килобайт.
Post #: 23
RE: dll определяется антивирусом. - 2008-03-14 13:14:32.060000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
void FuckAnAntivirus(void) { &nbsp;&nbsp; static int c = 0, iter = 1000; &nbsp;&nbsp; &nbsp;&nbsp; if ( c++ != iter ) &nbsp;&nbsp; &nbsp;&nbsp; FuckAnAntivirus(); } Типа того?
Post #: 24
RE: dll определяется антивирусом. - 2008-03-14 15:17:11.803333   
Mad Scientist

Сообщений: 40
Оценки: 0
Присоединился: 2006-01-30 03:57:29
В случае, когда это приложение - все работает
(предварительно другим приложением все ксорится между начальной и конечной метками)
procedure metka1; begin asm DB 50,60,70,80,90,120,150 //это метка начальная end; end; procedure TForm1.Button1Click(Sender: TObject); begin beep; //Защищаемая процедура ShowMessage('Период использования программы истёк!'); end; procedure metka2; begin asm DB 68,68,67,45,61,137,219 //это метка конечная end; end; procedure TForm1.Button2Click(Sender: TObject); var ptrAddr: Pointer; {для Адреса процедуры вывода сообщения} dwOldProtect: DWORD; begin ptrAddr := @TForm1.Button1Click; //Получаем адрес процедуры вывода сообщения VirtualProtect(@TForm1.Button1Click, 4096, PAGE_READWRITE, @dwOldProtect); while ptrAddr &lt;&gt; @metka2 do begin Byte(ptrAddr^) := Byte(ptrAddr^) xor $41; inc(Integer(ptrAddr)); end; exit; metka1; metka2; end; А вот когда пытаешься этот код использовать в dll - Access Violation.. наверно что-то с адресацией…

А так вообще Antivir с макс эвристикой просто орет на использование
'SetWindowsHookExA' и 'WriteProcessMemory' когда они встречаются в dll
затирал их строки в dll хекс эдитом (понятно, работать длл тогда не будет), переставал орать…
Я читал, использование апи(чтобы их имена потом не светились) можно как-то маскировать…
Только вот забыл где я это видел.
Динамически их что-ли все подключать?
Post #: 25
RE: dll определяется антивирусом. - 2008-03-14 20:01:46.020000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
А что ты делаешь в этом коде? Откуда ты можешь заранее знать, как будет расположен в памяти код твоих процедур, что ты сравниваешь адреса точек входа?

А насчёт динамически - можно и динамически. Только гемморно всё это.
Post #: 26
RE: dll определяется антивирусом. - 2008-03-14 20:04:36.103333   
RasenHerz

Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333

quote:

ORIGINAL: Mad Scientist

В случае, когда это приложение - все работает
(предварительно другим приложением все ксорится между начальной и конечной метками)
procedure metka1; begin asm DB 50,60,70,80,90,120,150 //это метка начальная end; end; procedure TForm1.Button1Click(Sender: TObject); begin beep; //Защищаемая процедура ShowMessage('Период использования программы истёк!'); end; procedure metka2; begin asm DB 68,68,67,45,61,137,219 //это метка конечная end; end; procedure TForm1.Button2Click(Sender: TObject); var ptrAddr: Pointer; {для Адреса процедуры вывода сообщения} dwOldProtect: DWORD; begin ptrAddr := @TForm1.Button1Click; //Получаем адрес процедуры вывода сообщения VirtualProtect(@TForm1.Button1Click, 4096, PAGE_READWRITE, @dwOldProtect); while ptrAddr &lt;&gt; @metka2 do begin Byte(ptrAddr^) := Byte(ptrAddr^) xor $41; inc(Integer(ptrAddr)); end; exit; metka1; metka2; end; А вот когда пытаешься этот код использовать в dll - Access Violation.. наверно что-то с адресацией…

А так вообще Antivir с макс эвристикой просто орет на использование
'SetWindowsHookExA' и 'WriteProcessMemory' когда они встречаются в dll
затирал их строки в dll хекс эдитом (понятно, работать длл тогда не будет), переставал орать…
Я читал, использование апи(чтобы их имена потом не светились) можно как-то маскировать…
Только вот забыл где я это видел.
Динамически их что-ли все подключать?


как я понял переписывается тело функциии(извини я не силен в Delphi, говорю на вскидку), хороший пример, но высокий риск падения приложения из-за segmentation fault. запись в секцию кода разрешается далеко не везде.

quote:


ORIGINAL: _SaZ_

void FuckAnAntivirus(void)
{
static int c = 0, iter = 1000;

if ( c++ != iter )
FuckAnAntivirus();
}

Типа того?

да типа того.
Post #: 27
RE: dll определяется антивирусом. - 2008-03-15 15:03:00.836666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Лучше дизассемблтровать и смотреть окончательный размер процедуры там. Т.к. далеко не факт, что компилятор расположит в памяти их именно так, как они у тебя расположены в теле программы. В любом случае придётся ручками переписывать кусок .exe или .dll. А вот уже после загрузи в память, _по заранее известному размеру_, взяв адрес процедуры - начинашешь "дешифровывать". Но возникает другая опастность, что твоя прога будет опреденяться (тем же нодом, было у меня такое), как неизвестный полиморфный вызов. Поэтому VirtualProtect будет лучше загружать динамически, чтобы снять с себя лишние подозрения.
Post #: 28
RE: dll определяется антивирусом. - 2008-03-15 18:59:23.460000   
RasenHerz

Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
quote:

ORIGINAL: _SaZ_

Лучше дизассемблтровать и смотреть окончательный размер процедуры там. Т.к. далеко не факт, что компилятор расположит в памяти их именно так, как они у тебя расположены в теле программы. В любом случае придётся ручками переписывать кусок .exe или .dll. А вот уже после загрузи в память, _по заранее известному размеру_, взяв адрес процедуры - начинашешь "дешифровывать". Но возникает другая опастность, что твоя прога будет опреденяться (тем же нодом, было у меня такое), как неизвестный полиморфный вызов. Поэтому VirtualProtect будет лучше загружать динамически, чтобы снять с себя лишние подозрения.


уж проще сразу шелл юзать, шелл хранить в массиве стразу ксоренным, перед вызовом шелл привести в подобающий вид.
плюс данного метода в том что код можно будет разбавлять всякой "водой", легко модифицировать, в случае если он начнет палится антитварью. =)
Post #: 29
RE: dll определяется антивирусом. - 2008-03-15 21:44:35.180000   
Dr.KoD

Сообщений: 59
Оценки: 0
Присоединился: 2007-09-29 16:45:59.820000
«ROOTKITS, SPYWARE/ADWARE, KEYLOGGERS & BACKDOORS:
обнаружение и защита»
Пролистайте вот эту книженцию и вопросы по скрытию файлов от антивируса и от пользователя можно не задавать.
Автору темы нужна как раз вот эта процедура: procedure LocKFile(AFileName :string);, которая описывается в данной книге, суть этой процедуры в том, что она просто блокирует доступ к файлу, в результате антивирусы тихонько курят в сторонке.
Post #: 30
RE: dll определяется антивирусом. - 2008-03-17 04:56:35.596666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Гениально… Но чтобы вызвать функцию, нужно сначала запустить программу. А перед запуском антивирь её просканит и гг. Решение не универсальное. И к тому-же врядли поможет с современными антивирями.
Post #: 31
RE: dll определяется антивирусом. - 2008-03-17 20:03:37.753333   
Dr.KoD

Сообщений: 59
Оценки: 0
Присоединился: 2007-09-29 16:45:59.820000

quote:

ORIGINAL: _SaZ_

И к тому-же врядли поможет с современными антивирями.

Прежде чем делать таие заявления проверь!!!
Если написать все как нужно, практически все антивирусы будут отдыхать, в том числе знаменитые каспер и нод!!!
Post #: 32
RE: dll определяется антивирусом. - 2008-03-18 03:22:17.026666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Человек. Ты не понимаешь… Твоя .dll с "нехорошими" технологиями бует отловлена ещё до запуска твой программы и, якобы, рабочей функции.
Post #: 33
RE: dll определяется антивирусом. - 2008-03-18 17:56:39.180000   
Dr.KoD

Сообщений: 59
Оценки: 0
Присоединился: 2007-09-29 16:45:59.820000
quote:

ORIGINAL: _SaZ_

Человек. Ты не понимаешь… Твоя .dll с "нехорошими" технологиями бует отловлена ещё до запуска твой программы и, якобы, рабочей функции.

ну ну, они до сих пор ловят, но пока остались без улова.:D
Post #: 34
RE: dll определяется антивирусом. - 2008-03-21 23:07:29.616666   
qTigerqaz

Сообщений: 38
Оценки: 0
Присоединился: 2008-01-28 19:45:37.980000
а можна. пожалуста, ссилку на книгу
Post #: 35
RE: dll определяется антивирусом. - 2008-03-22 05:57:24.520000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
quote:

ORIGINAL: Dr.KoD

quote:

ORIGINAL: _SaZ_

Человек. Ты не понимаешь… Твоя .dll с "нехорошими" технологиями бует отловлена ещё до запуска твой программы и, якобы, рабочей функции.

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

Пустые слова. Напиши прогу, которая сможет скрыть вирь - кинь сюда .exe и потом кричи.
Post #: 36
RE: dll определяется антивирусом. - 2008-03-22 12:09:06.946666   
Dr.KoD

Сообщений: 59
Оценки: 0
Присоединился: 2007-09-29 16:45:59.820000
quote:

а можна. пожалуста, ссилку на книгу

КАЧАТЬ

quote:

Пустые слова. Напиши прогу, которая сможет скрыть вирь - кинь сюда .exe и потом кричи

Мож тебе еще и трояна готового подарить?:D
И вообще я ни кричу, а пишу. А вериш ты мне или кто то другой мне по барабану.
Post #: 37
RE: dll определяется антивирусом. - 2008-04-19 18:08:08.146666   
xackich

Сообщений: 39
Оценки: 0
Присоединился: 2008-04-11 16:09:04.120000
зачем таке извращенства с 500 строками? я мутил интерпретатор команд для вируса и сделал из 3 готовых исходников, к-е палились всеми антивирусами малварь, не палящуюся ни нодом, ни каспером
Post #: 38
RE: dll определяется антивирусом. - 2008-04-19 21:52:27.140000   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
  Ну эт ты уже где то писал.Ну…молодец коли правда)).Только ты б хоть для информативности намекнул что ли на общий ход решения проблемы.Но если пашет - круто).
Post #: 39
RE: dll определяется антивирусом. - 2008-04-21 17:53:58.936666   
xackich

Сообщений: 39
Оценки: 0
Присоединился: 2008-04-11 16:09:04.120000
пишите в личку, кому это интересно,поделюсь
Post #: 40
Страниц:  [1] 2
Все форумы >> [Компилируемые языки] >> dll определяется антивирусом.







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.