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


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 [364] 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 ... 387
3631  Programación / ASM / Re: Empezando con ASM en: 30 Junio 2009, 17:42 pm
Si, me referia a eso exactamente, era redundante.
3632  Programación / ASM / Re: Llamadas al sistema en: 30 Junio 2009, 15:29 pm
Efectivamente la mayoria de las funciones que nombras son de la API de Windows, no asi open, seek y read que son de C/C++, y las podras encontrar todas documentadas en la MSDN. Para las de C/C++ podes usar las que esten implementadas en Kernel32 (como lseek, lopen, lread) o las de la Run Time de VC++ (MSVCRT) aunque en ese caso me parece que vas a tener que crear tu propio include y libreria de importacion.
3633  Programación / ASM / Re: Empezando con ASM en: 30 Junio 2009, 14:58 pm
¿Para que la introducir Datos al codigo? En fin, todo sea por la redundancia.
3634  Programación / ASM / Re: Empezando con ASM en: 30 Junio 2009, 12:05 pm
Para que un digito se convierta en caracter tenes que sumarle el codigo ASCII de 0 (48), este es un ejemplo basado en el otro:

Código
  1. mov [cuerpo], 'H'
  2. mov [cuerpo+1], 'o'
  3. mov [cuerpo+2], 'l'
  4. mov [cuerpo+3], 'a'
  5. mov eax, 5
  6. add eax, '0'
  7. mov [cuerpo+4], al
  8. mov [cuerpo+5], 0

Para reservar memoria en tiempo de ensamblaje (?) podes hacer esto:

Código
  1. .data
  2. una_cadena db 128 dup(0)

El resultado es 128 bytes en la sección de datos cuyo valor es 0.
3635  Programación / ASM / Re: Empezando con ASM en: 30 Junio 2009, 09:54 am
De nadas  ::)
3636  Programación / ASM / Re: Empezando con ASM en: 30 Junio 2009, 09:41 am
En este caso no podrias excepto que no te importara sobreescribir la memoria que le sigue (en este caso titulo) debido a que no reservaste suficiente espacio para la nueva cadena. Lo que podes hacer sin problema es esto:

Código
  1. mov [cuerpo], 'H'
  2. mov [cuerpo+1], 'o'
  3. mov [cuerpo+2], 'l'
  4. mov [cuerpo+3], 'a'
  5. mov [cuerpo+4], 0

Por cierto pone un ret o un ExitProcess despues del MessageBox (y cerra con comillas - " - el include).
3637  Programación / ASM / MOVIDO: hola soy nueva en esto en: 21 Junio 2009, 09:37 am
El tema ha sido movido a Seguridad.

http://foro.elhacker.net/index.php?topic=258742.0
3638  Programación / ASM / Re: Como Hacerlo ? en: 20 Junio 2009, 09:41 am
¿Que tenes hasta ahora? ¿El  manejo del hot key ya lo tenes?
3639  Programación / ASM / Re: Salir sin usar ExitProcess !!!! 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 ...").
3640  Programación / ASM / Re: Salir sin usar ExitProcess !!!! 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.
Páginas: 1 ... 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 [364] 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 ... 387
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines