Injetar DLL em win9x
Aguem tem um exemplo ai, pra win9X ???
Obrigado
Emilio
Obrigado
Emilio
Emilio.cini
Curtidas 0
Respostas
Bacalhau
10/01/2004
Exemplo de quê? :shock:
GOSTEI 0
Emilio.cini
10/01/2004
Como esta no [b:6877b003d4]titulo[/b:6877b003d4], exemplo para injetar dll em um processo no win9x
GOSTEI 0
Bacalhau
10/01/2004
Estimado Emilio, creio que estamos a ter um problema de comunicação. Eu não sei o que é ´injetar´ um DLL. É correr uma função ou procedimento através de um executável?
abraço
viegas
abraço
viegas
GOSTEI 0
Emilio.cini
10/01/2004
Injetar uma dll em um outro processo é tipo, fazer a dll ser carregada no contexto do proprio processo remoto.
GOSTEI 0
Bacalhau
10/01/2004
Bom, eu continuo a não entender, mas vou assumir que:
1. É construído um DLL com uma ou várias funções lá dentro.
2. Um executável vai chamar e correr uma das funções
Para tal, vou colocar um pedaço de código a mostrar como se faz (a chamada). Estas chamadas também estão numa lista de exportação no DLL, com o respectivo índice (1, 2, 3, etc)
procedure MostraResultadosDaLinha(Sender: TObject);
procedure EtiquetaCITOH(Sender: TObject);
procedure MudaPMC(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
// aqui são definidos os procedimentos que vou chamar
PROCEDURE LSTC1; external ´CARAC.DLL´ INDEX 1;
PROCEDURE LSTC2; external ´CARAC.DLL´ INDEX 2;
PROCEDURE LSTC3; external ´CARAC.DLL´ INDEX 3;
PROCEDURE LSTC4; external ´CARAC.DLL´ INDEX 4;
PROCEDURE LSTC5; external ´CARAC.DLL´ INDEX 5;
PROCEDURE AUXILIARFAMILIAS; external ´FAMILIAS.DLL´ INDEX 2;
PROCEDURE AUXILIARSUBFAMILIAS; external ´SUBFAM.DLL´ INDEX 2;
PROCEDURE LSTSUBFAMILIAS; external ´SUBFAM.DLL´ INDEX 1;
var
FichProduto : TFichProduto;
ArrComIVA : string;
ArrSemIVA : string;
Produto_Novo : string;
Se quiser chamar o procedure AUXILIARFAMILIAS basta fazer o seguinte:
procedure TFichProduto.BuscaFamilia(Sender: TObject);
var L : TextFile;
S : String;
begin
AUXILIARFAMILIAS; { FAMILIAS.DLL - INDEX 2 }
end;
Acho que é isto
abraço
bacalhau
1. É construído um DLL com uma ou várias funções lá dentro.
2. Um executável vai chamar e correr uma das funções
Para tal, vou colocar um pedaço de código a mostrar como se faz (a chamada). Estas chamadas também estão numa lista de exportação no DLL, com o respectivo índice (1, 2, 3, etc)
procedure MostraResultadosDaLinha(Sender: TObject);
procedure EtiquetaCITOH(Sender: TObject);
procedure MudaPMC(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
// aqui são definidos os procedimentos que vou chamar
PROCEDURE LSTC1; external ´CARAC.DLL´ INDEX 1;
PROCEDURE LSTC2; external ´CARAC.DLL´ INDEX 2;
PROCEDURE LSTC3; external ´CARAC.DLL´ INDEX 3;
PROCEDURE LSTC4; external ´CARAC.DLL´ INDEX 4;
PROCEDURE LSTC5; external ´CARAC.DLL´ INDEX 5;
PROCEDURE AUXILIARFAMILIAS; external ´FAMILIAS.DLL´ INDEX 2;
PROCEDURE AUXILIARSUBFAMILIAS; external ´SUBFAM.DLL´ INDEX 2;
PROCEDURE LSTSUBFAMILIAS; external ´SUBFAM.DLL´ INDEX 1;
var
FichProduto : TFichProduto;
ArrComIVA : string;
ArrSemIVA : string;
Produto_Novo : string;
Se quiser chamar o procedure AUXILIARFAMILIAS basta fazer o seguinte:
procedure TFichProduto.BuscaFamilia(Sender: TObject);
var L : TextFile;
S : String;
begin
AUXILIARFAMILIAS; { FAMILIAS.DLL - INDEX 2 }
end;
Acho que é isto
abraço
bacalhau
GOSTEI 0