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


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 ... 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 [338] 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 ... 387
3371  Programación / ASM / Re: Punteros en Asm32 en: 22 Febrero 2010, 01:07 am
Puede ser pero no sirve para modo Kernel  ::)
3372  Programación / ASM / Re: Punteros en Asm32 en: 22 Febrero 2010, 00:40 am
Tambien aunque yo prefiero el WinDbg, arriba tiene como configurarlo para que se abra automaticamente pero no lo habra leido  :silbar:
3373  Programación / ASM / Re: Punteros en Asm32 en: 21 Febrero 2010, 21:16 pm
Es un breakpoint, para depurar el programa.
3374  Programación / ASM / Re: Punteros en Asm32 en: 21 Febrero 2010, 20:45 pm
A MessageBox le tenes que pasar CADENAS ... ademas eso seguramente este dando una excepcion debido a que esa direccion (800h) es invalida.

Código
  1. .data
  2.  msg1 db "hola", 0
  3.  msg2 db "mundo", 0
  4.  
  5. .code
  6.  main:
  7.    int 3
  8.    mov ecx, offset msg1
  9.    mov edx, offset msg2
  10.    invoke MessageBox, 0, ecx, edx, 0
  11.  
3375  Programación / ASM / Re: Punteros en Asm32 en: 21 Febrero 2010, 13:05 pm
osea que esto estaria bien??:
Código
  1. MOV ECX,800h    ;Direccion de memoria en donde hay un valor
  2. MOV EAX,dword ptr [ECX]     ;Copia valor de la direccion 800h a EAX
  3.  


en EAX quedaria el valor que esta almacenado dentro de la memoria 800h no?¿

Si, ECX es el puntero (a 800h) y estas desreferenciandolo. Moves EAX el DWORD al cual apunta ECX.

Siguiendo el ejemplo de antes podes depurarlo tambien, en al quedara 'h' (68 en hex, 104 en dec=ASCII):

Código
  1. .386
  2. .model flat, stdcall
  3.  
  4. .data
  5.  msg db "hola", 0
  6.  
  7. .code
  8.  main:
  9.    int 3
  10.    mov ecx, offset msg
  11.    mov al, byte ptr [ecx]
  12.  ret
  13. end main
3376  Programación / ASM / Re: Punteros en Asm32 en: 20 Febrero 2010, 22:57 pm
Código
  1. .386
  2. .model flat, stdcall
  3.  
  4. .data
  5.  msg db "hola", 0
  6.  
  7. .code
  8.  main:
  9.    int 3
  10.    mov ecx, offset msg
  11.    mov byte ptr [ecx], 'c'
  12.  ret
  13. end main

Podes hacer un ejercicio, bajas las Debugging Tools for Windows.
Vas al directorio de instalacion con la consola y ejecutar WinDbg.exe -I para instalarlo como depurador post-mortem.
Ejecutas este ejemplito (MASM), se va a abrir directamente el WinDbg (por el int 3).
Le das a F11 dos veces y haces da @ecx, despues le das a F11 otra vez y haces da @ecx otra vez.

PD. Si lo haces correctamente veras que ecx es un puntero a msg y cambiaste el primer caracter ('a') por una 'c'.
3377  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Subforo de Ciencias Exactas en: 18 Febrero 2010, 23:34 pm
A favor, en el peor de los casos no entraria nunca asi que no me afectaria en lo mas minimo.
3378  Programación / ASM / Re: Intruccion fcmovbe - Orientacion - FPU en: 17 Febrero 2010, 08:48 am
http://en.wikipedia.org/wiki/X87

ST es un pila de 8 registros, de ST(0) a ST(7).


Aca tenes una explicacion mejor me parece:
http://www.rcollins.org/p6/opcodes/FCMOV.html

Y si, no parece ser un opcode muy util el que tenes, por lo que entendi FCMOV siempre que mueve algo lo hace en ST(0) (si usas ST[n] no es un opcode valido por lo que pude ver) asi que indicarle el otro parametro como ST(0) no cambiara nada ... ¿Seguro que es el codigo correcto?
3379  Programación / ASM / Re: Es posible esto? en: 16 Febrero 2010, 23:12 pm
JaimeAsm: Aca tenes de todo.
3380  Programación / ASM / Re: Es posible esto? en: 16 Febrero 2010, 14:24 pm
"osea desde un exe mapear en memoria el ejecutable a modificar,i una vez en la memoria intrducirle la instruccion a un offset que este libre,"

¿Un proceso o un ejecutable en disco?

En ambos casos tenes que escribir lo que te comente, lo bueno de hacerlo en la memoria del proceso es que no cambia el ejecutable asi que sigue siendo confiable para el S.O. pero el codigo de ejemplo que mostraste NO era eso sino escribir sobre el archivo del ejecutable en disco ("CreateFile,,CreateFileMapping,MapViewOfFile").
Páginas: 1 ... 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 [338] 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 ... 387
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines