Pular para o conteúdo

ShellCode com chamada de funcao ???

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar
01 02

13. Re: ShellCode com chamada de funcao ???

Enviado em 27/01/2013 - 09:02h

paulo1205 escreveu:

Na linha em que você faz *(long *)p = func;, você assume que o tamanho de um inteiro longo é igual ao tamanho de um ponteiro genérico, e atribui o valor de um ponteiro a um lvalue cujo tipo é long. A assunção não necessariamente é sempre verdadeira, e a confusão com os tipos, que decorre certamente da assunção sobre os tamanhos, é um tipo de coisa temerária que um compilador configurado corretamente não deveria deixar passar sem pelo menos dar uma mensagem de aviso.

Não só filosoficamente, mas até em termos práticos, seria melhor você fazer da seguinte forma: *(void **)p=func;, até porque func já é do tipo void *.


E, obviamente, também as linhas

p+=sizeof(long);
len+=sizeof(long);


deveriam ser trocadas para

p+=sizeof func;
len+=sizeof func;


(sendo p um ponteiro para caracteres).

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

14. Re: ShellCode com chamada de funcao ???

Enviado em 27/01/2013 - 10:17h

@paulo:
"
...
deveriam ser trocadas para

p+=sizeof func;
len+=sizeof func;
"

tamanho em 32 bits(que estou usando):
-------------------------------------------------
*void = 4 bytes.
int = 4 bytes.
long = 4 bytes.
funcao que eh um long = 4 bytes.
-------------------------------------------------

hoje(domingo) estou quebrando a cabeça, ops, digo mim divertindo para tentar fazer os JUMPS CONDICIONAL ( jg, jl, jge, jle ) e CMPL ;)


15. Re: ShellCode com chamada de funcao ???

Enviado em 27/01/2013 - 17:54h

Pois é. Pode ser tudo igual no seu caso, mas por que não fazer de um modo que vá funcionar amanhã, quando você passar a compilar com 64 bits, ou -- o que é pior ainda -- quando você estiver usando um modelo de memória em que sizeof(void *)!=sizeof(long)?

16. Re: ShellCode com chamada de funcao ???

Enviado em 28/01/2013 - 15:51h

e atualizado aqui sem nenhum aviso de ( WARNING ):
http://codepad.org/8m6ktxjk

OBS: esse programa é um loop eterno ... sair usando CTRL + C , falta fazer os JUMPS CONDICIONAIS .

17. Re: ShellCode com chamada de funcao ???

Enviado em 31/01/2013 - 13:20h


Glória a DEUS \o/ ... depois de muiiiiiitas tentativas, finalmente conseguimos fazer um JUMP CONDICIONAL ( i_cmpl, i_jf ).

codigo funcional aqui:
http://codepad.org/GfS9KD3G

Esse programa da um loop de 100 incrementando( x ) e termina ...

E merece ficar registrado o meu grande agradecimento ao Fabrice Bellard ( code based ).


01 02

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder