Fórum Desviando execução #229644
03/05/2004
0
Ou seja executar da aqueles bytes do programa pra frente!!!! :roll:
Rodrigovollo
Curtir tópico
+ 0Posts
03/05/2004
Beppe
Gostei + 0
04/05/2004
Rodrigovollo
Mais eai como é q eu vou fazer isso ????????????. por onde eu começo??
Gostei + 0
04/05/2004
Beppe
asm jmp $12345678 end;
Gostei + 0
05/05/2004
Blivio
Gostei + 0
05/05/2004
Rodrigo_rcp
é apenas um exemplo.
Gostei + 0
05/05/2004
Beppe
asm call $12345678 end;
Lógico que este endereço não contém códigos executáveis, então não espere nenhum resultado não-catastrófico...
Gostei + 0
06/05/2004
Blivio
Se puder ajudar, agradeço muito.
Atenciosamente,
Blivio.
Gostei + 0
07/05/2004
Rodrigovollo
asm call $12345678 end;
Vou testar se isso vai dar certo, depois eu posto aqui... :wink:
Gostei + 0
07/05/2004
Beppe
call [$12345678]
ou
mov eax, $12345678 call eax
Eu ainda só não entendi pq desta necessidade... :?:
Gostei + 0
07/05/2004
Tatuweb
há diferença entre as instruções assembly. A que mais se encaixa seria:
[color=olive:2ac3ed9a6a]JMP DWORD PTR [$12345678][/color:2ac3ed9a6a]
Isso é diferente de
[color=olive:2ac3ed9a6a]JMP DWORD PTR $12345678[/color:2ac3ed9a6a]
que é diferente de
[color=olive:2ac3ed9a6a]MOV EAX, $12345678
CALL EAX[/color:2ac3ed9a6a]
que é diferente de muitas outras combinações. A instrução JMP $12345678 postada pelo Beepe não está errada. Só que ela não é permitida usando o assembler inline. Se fosse compilada no MASM, por exemplo, não geraria erro nenhum. Lembre-se Assembler Inline não é o mesmo que Assembly. Outra coisa: as instruções de um programa não começa no inicio do arquivo. Portanto
não vai funcionar. Todos os arquivos executáveis Win32 obedecem a um padrão de formato que chamamos de PE (Portable Executable). Sendo assim para que vc inicie um segundo EXE embutido vc teria que inicialmente descobrir o ´Entry Point´ do exe1 e modificar afim de apontá-lo para o ´Entry Point´ do seu EXE e, após executadas as intruções do seu EXE apontar novamente para que execute as instruções do EXE1.
Sabe quando vc vai conseguir o que pretende usando assembler inline? Só quando o tio Bill aderir ao OpenSource :) ou seja, nunca. Ou vc faz o programa em assembly (talvez em VC++) ou esqueça.
Sinceramente, até hoje só vi um tipo de aplicação utilizar isso: vírus. Se o seu objetivo não é esse, vc pode por exemplo guardar o EXE em forma de recurso e extraí-lo quando quiser executa-lo. Não é viável mas é o que se pode fazer. Em se tratando de programação sempre haverá uma segunda opção para se criar uma rotina. Diga o que quer fazer e tentaremos ajudar.
:?: :?:
Gostei + 0
10/05/2004
Rodrigovollo
não vai funcionar. Todos os arquivos executáveis Win32 obedecem a um padrão de formato que chamamos de PE (Portable Executable). Sendo assim para que vc inicie um segundo EXE embutido vc teria que inicialmente descobrir o ´Entry Point´ do exe1 e modificar afim de apontá-lo para o ´Entry Point´ do seu EXE e, após executadas as intruções do seu EXE apontar novamente para que execute as instruções do EXE1.
Sabe quando vc vai conseguir o que pretende usando assembler inline? Só quando o tio Bill aderir ao OpenSource :) ou seja, nunca. Ou vc faz o programa em assembly (talvez em VC++) ou esqueça.
Sinceramente, até hoje só vi um tipo de aplicação utilizar isso: vírus. Se o seu objetivo não é esse, vc pode por exemplo guardar o EXE em forma de recurso e extraí-lo quando quiser executa-lo. Não é viável mas é o que se pode fazer. Em se tratando de programação sempre haverá uma segunda opção para se criar uma rotina. Diga o que quer fazer e tentaremos ajudar.
:?: :?:[/quote:d07af69204]
Beleza!!! Mas não entendi uma coisa porque uma pessoa q desenvolve um virus consegue fazer isso e eu nunca vou conseguir fazer isso :shock:
Gostei + 0
10/05/2004
Nildo
nâo é que você não vá conseguir, é que existem pessoas que realmente levam jeito pra coisa. Esse tipo de pessoa que faz virus, não é alguem normal. Os melhores nunca resolvem do nada desenvolver um virus. Eles são pagos por, na maioria das vezes, empresas de anti virus para desenvolver virus maléficos. Se eles são contratados, quer dizer que não são qualquer um.
Gostei + 0
10/05/2004
Rodrigovollo
Só acho o seguinte eu não vou para de tentar vou achar um jeito
se ele faz eu tb vou fazer !!!!!!!!
Gostei + 0
10/05/2004
Beppe
Só acho o seguinte eu não vou para de tentar vou achar um jeito
se ele faz eu tb vou fazer !!!!!!!![/quote:04463fdb3f]
Jeito de fazer o q? Já foi lhe dito como desviar a execução...e o q falta?
Gostei + 0
10/05/2004
Khundalini
[]s
Rubem Rocha
Manaus, AM
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)