
28.08.2009, 09:26
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
Сообщение от Jes
эхх , как то так
Код:
Info:= FindResource(0, 'ИмяРесурса', rt_RCData);
MyFile:= CreateFile(PChar('нехорошие_вещи.exe'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(MyFile, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BytesWritten , nil);
CloseHandle(MyFile);
// ps: MyFile , Info , BytesWritten WORD;
И всё-же вернёмся к вопросу распаковки файла из ресурса.
Вот код программы на API которая должна это делать:
Код:
program LOL;
uses windows;
{$R MyRes.RES}
var MyFile , Info , BytesWritten :DWORD;
BEGIN
Info:= FindResource(0, 'ass', rt_RCData);
MyFile:= CreateFile(PChar('virus.exe'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(MyFile, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BytesWritten , nil);
CloseHandle(MyFile);
END.
В файле MyRes.RES содержится информация:
lol ass 'virus.exe'
В итоге при запуске программы создаётся пустой файл virus.exe, подскажите где ошибка в коде.
|
|
|