elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  [Micro-rutina] strlen - ANSI
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Micro-rutina] strlen - ANSI  (Leído 8,039 veces)
fary


Desconectado Desconectado

Mensajes: 1.075



Ver Perfil WWW
Re: [Micro-rutina] strlen - ANSI
« Respuesta #10 en: 22 Enero 2013, 08:56 am »

Optimizando el code de mDrinky para que dé 1 con un str de largo 0 ( :P), queda de 13 bytes:

Código
  1. strlena:
  2.    pop edx
  3.    pop ecx
  4.    xor eax, eax
  5. bucle:
  6.    inc eax
  7.    cmp byte ptr [ecx+eax],0
  8.    jne bucle
  9.    jmp edx
  10.  

si  :) lo unico que si es una cadena no le suma ese byte nulo.


En línea

Un byte a la izquierda.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Micro-rutina] strlen - ANSI
« Respuesta #11 en: 22 Enero 2013, 12:15 pm »

El asunto es que estoy parcheando un PE que tiene una función con este comportamiento (Cadena NULA = 1, etc...) Quería inyectar un poco de código sin necesidad de redireccionarme a/crear codecaves. Substituyendo la función por una de 20bytes tenía más que suficiente para lo que quería inyectar :)

Me encantan este tipo de threads :rolleyes: ;-)
A ver si acabo una función RC4 y vemos cuanto la podemos recortar >:D


En línea

xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: [Micro-rutina] strlen - ANSI
« Respuesta #12 en: 5 Marzo 2013, 20:31 pm »

La mia devuelve 1 si la cadena es núla, el código esta escrito en unix-like.

Código
  1. .section .data
  2.  
  3. cadena:
  4. .ascii ""
  5.  
  6. .section .text
  7. .globl _start
  8.  
  9. _start:
  10.  
  11. pushq $cadena
  12. popq %rbx
  13.  
  14. C.0:
  15. incb %bl
  16. incb %dl
  17. cmpb %al, (%rbx)
  18. jne C.0
  19. movl %edx, %edi
  20. movb $0x1, %al
  21.  
  22. syscall

14 bytes C.0.

Kdump:
Código:
CALL  exit(0x1)

Un saludo.
En línea

mr.blood

Desconectado Desconectado

Mensajes: 150


Ver Perfil
Re: [Micro-rutina] strlen - ANSI
« Respuesta #13 en: 4 Abril 2013, 02:14 am »

Hoy viendo esta pagina recorde este tema e hice una funcion de 10 bytes.

Código
  1. include 'C:\FASM\include\win32ax.inc'
  2.  
  3. .code
  4. start:
  5. push ebp
  6. mov ebp, esp
  7.  
  8. push mensaje
  9. call strlen
  10.  
  11. leave
  12. ret
  13.  
  14. strlen:
  15. pop edx
  16. pop edi
  17. xor ecx, ecx
  18. bucle:
  19. inc ecx
  20. SCASB
  21. jnz bucle
  22. jmp edx
  23. .end start
  24. .data
  25. mensaje db "Mr.BlooD",0
  26.  

Sa1uDoS
« Última modificación: 4 Abril 2013, 02:18 am por mr.blood » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[ANSI C] Split(), strlen(), mid(), Instr(), strcpy(). « 1 2 »
Programación C/C++
BlackZeroX 11 10,254 Último mensaje 14 Enero 2011, 02:35 am
por Littlehorse
Duda con strlen [Solucionado]
Programación C/C++
Dark00 9 5,754 Último mensaje 11 Noviembre 2012, 19:17 pm
por Dark00
[FASM]strlen en ASM
ASM
0xDani 7 5,918 Último mensaje 28 Diciembre 2012, 14:30 pm
por avesudra
strlen() y .length()
Programación C/C++
erest0r 4 4,504 Último mensaje 17 Septiembre 2013, 08:25 am
por erest0r
Duda con programa - funcion strlen?
Programación C/C++
welchu 9 4,729 Último mensaje 18 Febrero 2014, 03:11 am
por NOB2014
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines