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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware
| | |-+  Abril negro (Moderadores: Man-In-the-Middle, WHK, kub0x, fary)
| | | |-+  Abril Negro 2008: Taller de ASM
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 [6] 7 8 9 10 Ir Abajo Respuesta Imprimir
Autor Tema: Abril Negro 2008: Taller de ASM  (Leído 74,704 veces)
elmeister

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #50 en: 19 Abril 2008, 16:47 pm »

muchas gracias, ahora ha quedado claro, aunque debería estar puesto eso en el post principal para evitar dudas de más gente.

Saludos


En línea

elmeister

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #51 en: 22 Abril 2008, 22:56 pm »

te dejo los ejercicios hechos por MP, no se si el 4º (el del IF) está bien, pero lo demás supongo que si


En línea

elmeister

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #52 en: 23 Abril 2008, 07:42 am »

Mejor pega el source en el post  y asi se comentan dudas y eso ;) Por q es q como me los tenga q dar a mi todo el mundo me puedo aburrir a corregirlos xD

Salu2

para que no diga nadie que le fastidié los ejercicios, posteo aquí el código por petición de E0N:

Ejercicio 1:

Código
  1. include 'H:\archivos de programa\fasm\include\win32ax.inc'
  2.  
  3. .code
  4. start:
  5.  
  6. mov eax, 12  ;Puede ser cualquier valor, yo les he dado estos porque me apetecía
  7. mov ebx, 8    ;Usar esos numeros
  8. add eax, ebx
  9.  
  10. .end start
  11.  

ejercicio 2

Código
  1. include 'H:\archivos de programa\fasm\include\win32ax.inc'
  2. .data
  3. miByte db  ?
  4.  
  5. .code
  6.  
  7. start:
  8.  
  9. mov [miByte], 8
  10. mov al, 7
  11. add al, 8
  12. add al, 5
  13. add al, 2
  14. add al, 9
  15. add al, 1
  16. add al, 0
  17. add al, 3
  18. div [miByte]     ; el resultado aparecerá en AL y el resto en AH
  19.  
  20.  
  21. .end start

ejercicio 3

Código
  1. include 'H:\archivos de programa\fasm\include\win32ax.inc'
  2.  
  3. .code
  4.  
  5. start:
  6.  
  7. push 1
  8. pop eax
  9. push 2
  10. pop ebx
  11. push 3
  12. pop ecx
  13. push 4
  14. pop edx
  15. push 5
  16. pop edi
  17. push 6
  18. pop esi
  19.  
  20.  
  21. .end start

Ejercicio 4 (no se si lo tengo bien o no)

Código
  1. include 'H:\Archivos de programa\FASM\INCLUDE\WIN32AX.inc'
  2. .code
  3. start:
  4.  
  5. mov eax, 23
  6. mov ebx, 39
  7. cmp eax,ebx
  8. je iguales
  9. jne distintos
  10.  
  11. iguales:
  12.  
  13. invoke MessageBox, 0, 'eax y ebx son iguales', '', 0
  14. invoke ExitProcess, 0
  15.  
  16. distintos:
  17.  
  18. invoke MessageBox, 0, 'eax y ebx son distintos', '', 0
  19. invoke ExitProcess, 0
  20.  
  21. .end start

Ejercicio 5: (se que es así, pero no se si he elegido bien los saltos, creo que si)

Código
  1. include 'H:\archivos de programa\fasm\include\win32ax.inc'
  2.  
  3. .code
  4.  
  5. start:
  6.  
  7. mov eax, 7
  8. mov ebx, 1
  9. add eax, ebx
  10. cmp eax, 5
  11. JBE salir
  12. JG mensaje
  13.  
  14. mensaje:
  15.  
  16. invoke MessageBox, 0, 'Mayor que 5', '', 0
  17.  
  18. salir:
  19.  
  20. invoke ExitProcess, 0
  21.  
  22. .end start

Aquí podeis descargar los códigos fuente y los ejecutables compilados, lo he resubido porque vi que el código del primer ejercicio estaba en balco a la hora de postearlo:

http://www.megaupload.com/?d=Y1O3BY3K
En línea

SheKeL_C$


Desconectado Desconectado

Mensajes: 549


_-=[Sh3K3L_C$]=-_


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #53 en: 23 Abril 2008, 15:42 pm »

Creo que estan todos bien...los he mirado por encima. Tan solo decir que para simplificar un poco el codigo en el ejecicio 4 yo haria asi

Código
  1. mov eax, 23
  2. mov ebx, 39
  3. cmp eax,ebx
  4. jne distintos
  5.  
  6. invoke MessageBox, 0, 'eax y ebx son iguales', '', 0
  7. invoke ExitProcess, 0
  8.  
  9. distintos:
  10.  
  11. invoke MessageBox, 0, 'eax y ebx son distintos', '', 0
  12. invoke ExitProcess,0

Pero sabiendo que se trata de utilizar muchos saltos... esta bien como esta  ;)
En línea

Rozor

Desconectado Desconectado

Mensajes: 270


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #54 en: 23 Abril 2008, 17:14 pm »

Yo usaria JE o JNE para hacer los saltos despues de un CMP o como dijo SheKel es mas correcto si es JNE que salte y si es JE no hacerle el salto si no que las siguientes instrucciones sea el si pasa.

En línea

out in the streets they call it murder....
elmeister

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #55 en: 23 Abril 2008, 17:37 pm »

Yo usaria JE o JNE para hacer los saltos despues de un CMP o como dijo SheKel es mas correcto si es JNE que salte y si es JE no hacerle el salto si no que las siguientes instrucciones sea el si pasa.

no pasa nada, ya está hecho y tambien es correcto no?, pues ya está, no le demos más vueltas al asunto
En línea

krackwar


Desconectado Desconectado

Mensajes: 900


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #56 en: 24 Abril 2008, 16:43 pm »

Pues no se que mas quieres que profundice, son instruccioes básicas y viene un ejemplillo de cada una. Lo mejor es que hagas una prueba de cada una y mires con un debugger (el olly mismo q es el que yo he explicado o con los que a dicho Eternal Idol) para ver bien como funcionan. Una vez las entiendas intenta hacer los ejercicios y si te salen es q ya las tienes casi dominadas :P

Salu2 y si no entiendes alguna pregunta
Despues de leer 3 veces XD pude hacer los ejercicios .
una pregunta como se puede hacer que si la respuesta de un mensage es "si" hacer tal cosa i si la respuesta es "no" hacer otra cosa 
En línea

Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #57 en: 24 Abril 2008, 17:02 pm »

Pues lo comparas igual que si fuese un número pero con la cadena, piensa que comparas bytes, solo eso, como ya puse lo q hace cmp en realidad es esto:

Citar
CMP Valor1, Valor2

CMP compara dos valores. En realidad lo que hace esta instrucción es restar el Valor2 del Valor1 y activar el Flag correspondiente a el resultado. Por ejemplo si son iguales, si uno es mayor que el otro… (un Flag es como un registro pero que solo almacena 1 bit).
Usaremos esta instrucción para los saltos condicionales que se explicarán a continuación.

Seria asi:

Código
  1. mov eax, 'SI'
  2. cmp eax, 'SI'
  3. jne NO
  4.        invoke MessageBox, 0, 'Es si', '', 0
  5. NO:
  6. invoke ExitProcess

Claro, que en eax tendrías que obtener el valor pidiendosolo al usuario, ya sea creando un formulario, una aplicación de consola o como tu quieras ;)

Salu3
En línea

elmeister

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #58 en: 24 Abril 2008, 17:24 pm »

si te refieres al típico mensaje con los botones de si y no usa este (lo he sacado del código al que le quería meter el icono y lo he retocado un poco)

Código
  1. include 'H:\archivos de programa\fasm\include\win32ax.inc'  ;He usado H: porque es mi unidad de disco donde tengo el FASM, tu usa la tuya
  2.  
  3. .code
  4. start:
  5.  
  6. invoke   MessageBoxA,0,'aqui va el mensaje','y aqui el titulo de la ventanita',MB_YESNO
  7. cmp eax,IDYES
  8. jne no
  9.  
  10. invoke   MessageBoxA,0,'le has dado al si','SI',0
  11. invoke   ExitProcess
  12.  
  13. no:
  14.  
  15. invoke   MessageBoxA,0,'le has dado al no','NO',0
  16. invoke   ExitProcess
  17.  
  18. .end start                
  19.  
« Última modificación: 24 Abril 2008, 17:34 pm por elmeister » En línea

krackwar


Desconectado Desconectado

Mensajes: 900


Ver Perfil
Re: Abril Negro 2008: Taller de ASM by E0N
« Respuesta #59 en: 24 Abril 2008, 23:25 pm »

muchas gracias me funciono  ;D,por cierto eso de MB_YESNO sirve = como en VB?
s4lu2!
En línea

Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.
Páginas: 1 2 3 4 5 [6] 7 8 9 10 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Abril Negro 2008
Abril negro
WHK 0 3,575 Último mensaje 4 Febrero 2017, 19:30 pm
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines