--- Em delphi-br@yahoogrupos.com.br, "flavio_engcomp" <[EMAIL PROTECTED]> escreveu > > como fazer para injetar uma dll em um programa? ja li a respeito na > net mas ainda tenho muitas duvidas... > Isso é chamdo de Encapsulamento, onde um execultavél ao ser compilado inclui um arquivo .res que por sua vez tem outros aquivos da sua escolha embutido dentro dele tornando um só na geração do binário(.exe).
//Monte um arquivo txt com informações semelhantes a essas: FILE1DLL DLLFILE embarcar/FILE1.DLL FILE2EXE EXEFILE embarcar/FILE1.EXE //Execute no prompt do msdos ou no delphi Comando para gerar o arquivo Embarcar.rc WinExec('command.com /c BRCC32 Embarcar.rc', sw_Normal); //apos a criação do .RES crie um projeto no delphi unit fb_embedded; {$R Embarcar.res} //Arquivo com conteúdo encapsulado(arquivos para embutir no .exe) interface ... //Função resposável por extrair os aquivos embutidos no .exe procedure DesembarcaFile(Lbl, IdArq, PathFileDest: string); var Res: TResourceStream; begin {$R Embarcar.RES} //Embarca arquivos ao compilar if not FileExists(PathFileDest) then begin Res := TResourceStream.Create(Hinstance, Lbl, pChar(IdArq)); try Res.SavetoFile(PathFileDest); finally Res.Free; end; end; end; //Chamada da função DesembarcaFile('dll_gds32', 'gds32.dll', 'c:\gds32.dll');