Ryokusei 21 Postado 23 de Abril 2010 Compartilhar Postado 23 de Abril 2010 Neste artigo irei ensinar a utilizar Forms em uma DLL. O projeto final será criar uma DLL que leia e escreva um valor em algum endereço da memória, e só seja executada se for injetada em um processo. [DOWN] É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se [/DOWN] [sENHA] É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se [/sENHA] OBS: Para ampliar uma imagem, clique sobre ela. 1 - Inicie o Delphi, vá no menu "File/New/Other". É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 2 - Selecione "DLL Wizard". É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 3 - Declare as units "Windows" e "Forms". Abaixo de "{$R *.res}" e acima do "begin end." declare os seguinte procedimento: É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 4 - Entre o "begin end." insira o seguinte algorítmo: É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 5 - Vá no menu "File/New/Form". É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 6 - No novo Form, adicione os seguintes componentes com as seguintes propriedades: É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 7 - Salve o projeto. Voltando à unit da DLL, verifique se a unit do Form criado está declarada. É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 8 - Volte ao Form, e dê dois cliques no botão "Ler" para ir ao evento OnClick dele. Insira este algoritmo no evento: É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 9 - Dê dois cliques botão "Escrever" para ir ao evento OnClick dele. Insira este algoritmo no evento: É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se 10 - Compile e seja feliz. Para testar a DLL use o Cheat Engine para injetá-la e pegar os endereços que quiser. É necessário se cadastrar para acessar o conteúdo. Entre ou Cadastre-se Dúvidas Frequentes: P: Quando eu fecho o jogo com a DLL injetada dá erro, por que? R: Só ocorrerá o erro se você não fechar o Form antes de finalizar o jogo, porque os Forms do Delphi não são criados por API e muita coisa deles fica ocupando espaço na memória e na finalização do jogo esta memória não é liberada (Form1.Free;), portanto há esse erro, mas não é importante. P: Por que foi criada uma thread para iniciar a execução do Form? R: Se a thread não fosse criada o Form seria executado na Main Thread do aplicativo, deixando assim o jogo "travado". P: Por que não utilizou o procedimento MoveMemory? R: Fazendo o algorítmo em assembly fica mais rápido, pois senão seria necessário chamar uma função, e isso é mais lento. No caso de um aplicativo como esse não faz diferença. 1 ᅠᅠMural de Coleçõesᅠᅠ Clique aqui e adquira suas medalhas Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
sumonee 0 Postado 24 de Abril 2010 Compartilhar Postado 24 de Abril 2010 huummmm... isso seria para traners não ? ᅠᅠMural de Coleçõesᅠᅠ Clique aqui e adquira suas medalhas Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Surfistinha£ 20 Postado 24 de Abril 2010 Compartilhar Postado 24 de Abril 2010 huummmm... isso seria para traners não ? Sim olhe a ultima imagem @topic muito bom eu adorei lembrando em geral quando for uzar feche primeiro o jogo e nao a dll Nao so o turtorial vai ajudar tbm como colocar um form em uma dll que e simples e muita gente nao sabe Vlw ᅠᅠMural de Coleçõesᅠᅠ Clique aqui e adquira suas medalhas Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Adeuk 1 Postado 24 de Abril 2010 Compartilhar Postado 24 de Abril 2010 Bom tópico, vai ajudar os iniciantes ^^ ᅠᅠMural de Coleçõesᅠᅠ Clique aqui e adquira suas medalhas Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Inoxybel 45 Postado 22 de Junho 2010 Compartilhar Postado 22 de Junho 2010 Bom tuto, só arrume o codigo na parte do "escrever" continue fazendo tuto, pois tem gente que quer aprender, tipo aquelas pessoas que não quer tudo na mão, acho que vc entende... Meus brinquedos em WinAPI: Calculador MemoryScanner Faça parte também da DarkProgramming Team! ᅠᅠMural de Coleçõesᅠᅠ Clique aqui e adquira suas medalhas Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Surfistinha£ 20 Postado 22 de Junho 2010 Compartilhar Postado 22 de Junho 2010 Topico que renasce Closed ᅠᅠMural de Coleçõesᅠᅠ Clique aqui e adquira suas medalhas Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados