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


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 [348] 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 ... 386
3471  Programación / ASM / Re: ¿Como puedo crear una libreria estatica con flat assembler? en: 8 Noviembre 2009, 18:37 pm
Si, no lo se, consulta la documentacion de MinGW ... tal vez tambien quieras averiguar sobre otros ensambladores como MASM o NASM.
3472  Programación / ASM / Re: Problema de novato en: 8 Noviembre 2009, 15:20 pm
De nadas  ::)
3473  Programación / ASM / Re: Problema de novato en: 8 Noviembre 2009, 14:30 pm
Despues de ensamblar y enlazar ya podes ejecutar tu programa (no hace falta involucrar al compilador gcc):

nasm -f elf test.asm
ld test.o -o test
./test
3474  Programación / ASM / Re: imprimir los bits que hay en una direccion de memoria en: 7 Noviembre 2009, 22:38 pm
Si, de unos y ceros ...

¿Y si usas la g/libc? Tenes disponible la funcion printf por ejemplo, seria mucho mas simple y podrias imprimirlo en hexadecimal ... cuando ya la domines podes incluso depurarla y ver que hace exactamente.
3475  Programación / ASM / Re: imprimir los bits que hay en una direccion de memoria en: 7 Noviembre 2009, 19:48 pm
La direccion 1 seguro que no es valida, mejor intenta con la de tu main, asi sabras el codigo binario de las instrucciones  ::)

PD. No mire el codigo pero depuralo con el gdb en todo caso.
3476  Programación / ASM / Re: Que cosa mas rara en: 7 Noviembre 2009, 08:51 am
De nadas  ::)
3477  Programación / ASM / Re: ¿Como puedo crear una libreria estatica con flat assembler? en: 6 Noviembre 2009, 23:00 pm
Esto es muy especifico de la herramienta que uses, FASM por lo que veo. Yo no puedo ver como hacerlo aca en el manual:

http://flatassembler.net/docs.php?article=manual#2.4

format PE GUI 4.0 LIB fue mi primera intuicion pero no funciona y obviamente no figura ahi.

Agrego, es posible generar archivos objeto COFF y con VC++ entonces generar una libreria estatica, esto es algo muy basico que apenas ensambla, enlaza y funciona pero tendras que hacer mas.

Tu codigo para .obj:
Código
  1. format MS COFF
  2. ;entry DllEntryPoint
  3.  
  4. include 'win32a.inc'
  5. cadena db 'asd',0
  6.  
  7. section '.text' code ;readable executable
  8.  
  9.  
  10. proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
  11.        mov     eax,TRUE
  12.        ret
  13. endp
  14.  
  15. public MiFuncion
  16. public MiFuncion as '_MiFuncion'
  17.  
  18.  
  19. proc MiFuncion
  20.        invoke  MessageBox,HWND_DESKTOP,cadena,cadena,MB_OK
  21.        ret
  22. endp
  23.  
  24. section '.idata' data ;Mimport data ;readable writeable
  25.  
  26.  library user,'USER32.DLL'
  27.  
  28. extrn '__imp__MessageBoxA@16' as MessageBox:dword
  29.  
  30. ;  import user,\
  31. ;         MessageBox,'MessageBoxA'
  32.  
  33. section '.edata' data ;export data readable
  34.  
  35. ;  export 'midll.dll',\
  36. ;         MiFuncion,'MiFuncion'
  37.  
  38.  
  39. section '.reloc' data; fixups data discardable

fasm faLib.asm generara faLib.obj
lib faLib.obj generara faLib.lib

Un ejemplo para llamar a la libreria (MASM):
Código
  1. .386
  2. .model flat, stdcall
  3.  
  4. MiFuncion PROTO C:DWORD
  5.  
  6. .code
  7. main:
  8. call miFuncion
  9. ret
  10. end main

ml call.asm faLib.lib user32.lib
3478  Programación / ASM / Re: Examen de Ensamblador [Ayuda] en: 6 Noviembre 2009, 17:34 pm
¿Se lo estas pasando al enlazador? Como en este caso:
link calling_asm.obj asm_called.lib kernel32.lib user32.lib

Fijate en las opciones del proyecto, ahi podes ver la linea de comandos del enlazador y las opciones.
3479  Programación / ASM / Re: Que cosa mas rara en: 6 Noviembre 2009, 17:33 pm
Sino usas funciones existentes en la g/libc entonces tenes que aplicar la misma logica que en cualquier otro lenguaje de programacion. Tomas el numero y usando divisiones y restos averiguas todos sus digitos, a cada uno de ellos le sumas 48 (es decir '0') para transformarlo en un caracter.

Ejemplo simple:

253= 253 / 10 = 25
        253 % 10 = 3 + 48 = 51 = '3'
        25 / 10 = 2
        25 % 10 = 5 + 48 = 53 = '5'
        2 + 48 = 50 = '2'
3480  Programación / ASM / Re: Que cosa mas rara en: 3 Noviembre 2009, 23:31 pm
Transformandolo a cadena, cada digito del numero en cuestion debe ser transformado a caracter (no olvides el cero terminador de cadena). Otra opcion es usar la libc (printf/sprintf por ejemplo).
Páginas: 1 ... 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 [348] 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 ... 386
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines