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)
| | | |-+  Codigos de Yuri Grille
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 6 Ir Abajo Respuesta Imprimir
Autor Tema: Codigos de Yuri Grille  (Leído 40,272 veces)
Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Par O Impar ?¿
« Respuesta #20 en: 18 Junio 2009, 18:39 pm »

Buena esa, pero me podrias explicar mejor que hace el BT que es una de las instruciones que aun no comprendo. Gracias  ;)


En línea





Mi blog:
http://amerikanocls.blogspot.com
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Par O Impar ?¿
« Respuesta #21 en: 18 Junio 2009, 19:20 pm »

"El bit de destino indexado por el valor de la fuente es copiado dentro del Carry Flag (Bandera de Acarreo)".

bt is bit test y lo que hace es guardar un bit determinado (en este caso el primero, 0) del destino en el flag de acarreo (CARRY FLAG, por eso yo usaria jnc por claridad aunque al final el opcode es el mismo). Aca se lo usa para saber si un numero es par, si es divisible por dos su primer bit sera 0.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Par O Impar ?¿
« Respuesta #22 en: 18 Junio 2009, 19:24 pm »

Gracias  ;)
En línea





Mi blog:
http://amerikanocls.blogspot.com
Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Invertir una string , sencillo ...
« Respuesta #23 en: 18 Junio 2009, 19:35 pm »

Hola a todos , esta es una forma de invertir una string sin usar la pila que fue el ejemplo anterior que publique , este codigo necesita tener en eax la longitud de la string.

Saludos

Código
  1. mov ebx,string
  2. add eax,ebx
  3. dec ebx
  4.  
  5. asd:
  6. mov ch, byte ptr ds:[ebx]
  7. xchg [eax],ch
  8. xchg [ebx],ch
  9.  
  10. inc ebx
  11. dec eax
  12. cmp     ebx,eax
  13. jbe asd  ; Salta si es Menor o igual

-----------------
Nota> Para usar este código es necesario introducir una string con un caracter al principio de nuestro codigo , es decir , antes de declara la string que invertiremos tenemos que declarar > vacia db " ",0
No olvidar esto
-----------------
------------------------------------------------------ off topic
Si en algo siempre tendré la razón es cuando diga:
"Los hombres no piensan igual"
a)Si no estas de acuerdo con esta frase me estas dando la razón.
B)Si estas de acuerdo , gracias por coincidir con mis pensamientos.
« Última modificación: 17 Agosto 2009, 21:29 pm por Yurix » En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: Invertir una string , sencillo ...
« Respuesta #24 en: 18 Junio 2009, 22:40 pm »

me encontre con un problemita, cuando intente ver el codigo en accion mediante el olly, me di cuenta de algo

lea ebx,string
dec ebx

en un principio ebx apunta al primer caracter de la cadena y al decrementarlo apunta a una region de memoria que no es la cadena
y cuando hagas

mov byte ptr ds:[ebx], cl

salta un error y cierra el programa lo correcto es decrementar eax, porque los limites de un array es size -1

aqui esta el testeo y la salida es emetreivni

Código
  1. format pe console
  2. entry main
  3. include 'c:\fasm\include\win32ax.inc'
  4. .data
  5. texto   db      'invierteme',0
  6. .code
  7. main:
  8.    xor eax,eax
  9.    add eax,10
  10.    mov ebx, texto
  11.        add eax,ebx
  12.        dec eax
  13.  
  14.        asd:
  15.         mov ch, byte[ebx]
  16.         mov cl, byte[eax]
  17.         mov byte[ebx], cl
  18.         mov byte[eax], ch
  19.         inc ebx
  20.         dec eax
  21.         cmp     ebx,eax
  22.         jbe asd
  23.  
  24. push texto
  25. call [puts]
  26. add esp,4
  27. ret
  28.  
  29. section '.idata' import data readable
  30. library msvc,'msvcrt.dll'
  31. import msvc,puts,'puts'
  32.  
« Última modificación: 18 Junio 2009, 22:44 pm por x0ʎu » En línea

Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Salir sin usar ExitProcess !!!!
« Respuesta #25 en: 18 Junio 2009, 23:11 pm »


Una forma de Salir sin usar ExitProcess , introduscanlo en olly para que vean como es.

http://sites.google.com/site/compactamos/descargas/Calc.zip?attredirects=0

Una pista : xxxxxxxxxxxx
En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Salir sin usar ExitProcess !!!!
« Respuesta #26 en: 19 Junio 2009, 00:23 am »

Con un ret desde el entry point es suficiente igual  :D Ahi mismo nos esta esperando una llamada a ExitThread.

Esto da una excepcion no controlada ... se me abre el WinDbg que esta registrado para eso, a otros se les abrira el Dr. Watson, no es una forma muy buena de terminar un proceso ...

SetDlgItemTextA, los dos primeros parametros son validos, el tercero es el primer caracter de la cadena mostrada por MessageBoxA, en lugar de ser el puntero a la misma.
« Última modificación: 19 Junio 2009, 00:32 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: Salir sin usar ExitProcess !!!!
« Respuesta #27 en: 19 Junio 2009, 00:42 am »

yo nunca he usado ExitProcess en asm  :P y en C solo cuando tengo varios hilos.
En línea

biribau

Desconectado Desconectado

Mensajes: 181


Ver Perfil
Re: Salir sin usar ExitProcess !!!!
« Respuesta #28 en: 19 Junio 2009, 00:46 am »

Yo digo que es por el desalineamiento de pila por el push ax....... puestos a decir  :P jajaja pero ni idea
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Salir sin usar ExitProcess !!!!
« Respuesta #29 en: 19 Junio 2009, 09:19 am »

Yo digo que es por el desalineamiento de pila por el push ax....... puestos a decir  :P jajaja pero ni idea

Nopes, aunque eso sucede no llega a afectar, fijate que da error aca:
user32!RtlInitLargeAnsiString+0x22:
7e420a9c 8a11            mov     dl,byte ptr [ecx]          ds:0023:00000054=??

0:000> r ecx
ecx=00000054

54=84=T (el primer caracter de "Te gusto ...").
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: 1 2 [3] 4 5 6 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines