PDA

Просмотр полной версии : Хранение тела .exe одного файла в другом


Snake Plissken
30.01.2010, 12:28
Коротко говоря, мне нужно чтобы кодес одного экзешника хранился каким-то образом в другом. В нужный момент код хранимого ехе сбрасывать в файл и выполнять. Пишу на c+winapi в VS2008. Если возможности реализовать такой трюк нет, то какие можно использовать альтернативные методы?

DiffiT
30.01.2010, 12:41
линкуй как ресурс :)

slesh
30.01.2010, 12:47
тупо засовывай файл в ресурс своего exe
примерно так доставай:
FindResource->CreateFile->LoadResource->LockResource->WriteFile->CloseHandle

пример на делфи

var
Info : dword;
h : dword;
wb : dword;
begin
Info := FindResource(hinstance, pchar(101), 'LOADER');
if (Info <> 0) then
begin
h := CreateFile('loader.exe', GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (h <> INVALID_HANDLE_VALUE) then
begin
WriteFile(h, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), wb, nil);
CloseHandle(h);
end;
end;
end;

Snake Plissken
30.01.2010, 12:55
спасибо, парни