Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#721
Taiwan es un pais plenamente independiente, es una isla donde se refugiaron los derrotados por Mao y mas alla de reconocimientos oficiosos o no RPC no pincha ni corta en ROC.
#723
Notese que en los enlaces que te dejamos lo explican.

!dh hola

       0 [       0] address [size] of Export Directory
    5060 [      3C] address [size] of Import Directory
       0 [       0] address [size] of Resource Directory
       0 [       0] address [size] of Exception Directory
       0 [       0] address [size] of Security Directory
    6000 [      10] address [size] of Base Relocation Directory
    3000 [      38] address [size] of Debug Directory
       0 [       0] address [size] of Description Directory
       0 [       0] address [size] of Special Directory
       0 [       0] address [size] of Thread Storage Directory
       0 [       0] address [size] of Load Configuration Directory
       0 [       0] address [size] of Bound Import Directory
    5000 [      60] address [size] of Import Address Table Directory
       0 [       0] address [size] of Delay Import Directory
       0 [       0] address [size] of COR20 Header Directory
       0 [       0] address [size] of Reserved Directory


IMAGE_IMPORT_DESCRIPTOR.

0:000> dd hola+0x5060 hola+0x5060+0x3c
00f15060  000050cc 00000000 00000000 0000510a
00f15070  00005030 0000509c 00000000 00000000
00f15080  00005124 00005000 00000000 00000000
00f15090  00000000 00000000 00000000 00005116

0:000> da hola+0000510a
00f1510a  "USER32.dll"

0:000> da hola+00005124
00f15124  "KERNEL32.dll"
#724
Si lees la especificacion completa del PE o al menos el articulo explicativo lo vas a entender seguro:
https://en.wikipedia.org/wiki/Portable_Executable#Import_Table
https://msdn.microsoft.com/en-us/library/ms809762.aspx

Lo que pasa es que esa que estas viendo es informacion de entrada que es resuelta en tiempo de ejecucion por el loader de Windows. Si en lugar de desensamblar depuras tu programa vas a ver que ese offset se termina transformando en un puntero a la direccion de la funcion en cuestion.

Ejemplo, poniendo el evento Load Module como enabled y handled:
hola!start:
00071000 6a01            push    1
00071002 6800400700      push    offset hola!MessageBoxA <PERF> (hola+0x4000) (00074000)
00071007 6808400700      push    offset hola!MessageBoxA <PERF> (hola+0x4008) (00074008)
0007100c 6a00            push    0
0007100e e807000000      call    hola!MessageBoxA (0007101a)
00071013 c3              ret
00071014 cc              int     3
00071015 cc              int     3
0:000> u
hola!start+0x16:
00071016 cc              int     3
00071017 cc              int     3
00071018 cc              int     3
00071019 cc              int     3
hola!MessageBoxA:
0007101a ff2500500700    jmp     dword ptr [hola!_imp__MessageBoxA (00075000)]

0:000> dd 00075000 L1
00075000  00005088

0:000> db hola+5088
00075088  46 02 4d 65 73 73 61 67-65 42 6f 78 41 00 55 53  F.MessageBoxA.US
00075098  45 52 33 32 2e 64 6c 6c-00 00 00 00 00 00 00 00  ER32.dll........

Eso es lo que viste hasta ahora; deshabilito el evento y dejo cargar el programa hasta el primer breakpoint:

0:000> dd 00075000 L1
00075000  76e274c0

Ya no hay mas un offset, hay un puntero:
0:000> dps 00075000 L1
00075000  76e274c0 USER32!MessageBoxA
#725
ASM / Re: problema con c y asm
2 Agosto 2016, 19:32 PM
¿En serio? ¿Tenes un bootloader de 16 bits y esperas ejecutar programas asi como asi?  :rolleyes: Igual si ya lo hiciste no hay problema, hacelo de nuevo, es mas rapido que preguntar seguro ...
#726
ASM / Re: Alguien sabe?
18 Julio 2016, 14:44 PM
El codigo ensamblador esta estrechamente ligado a la plataforma, tanto hardware como software (S.O.) y ese codigo en particular es para Linux. La interfaz para los servicios de Windows no es la interrupcion 0x80.
#727
ASM / Re: Alguien sabe?
18 Julio 2016, 09:37 AM
1) Un programa cualquiera no, el tuyo. 2) ¿Quien dice? ¿Que dice exactamente? No somos adivinos, no tenemos ni la menor idea de cual es tu entorno, de como ejecutas el programa, etc.. Puede ser que no devuelvas 0 y eso sea interpretado como error ...
#728
ASM / Re: AYUDA! Error al enlazar en assembler
18 Julio 2016, 09:35 AM
Usa el PE (es el formato de ejecutable de Windows) que es lo que esta disponible y lo dice ahi mismo.
#729
Si, investiga sobre modo protegido mas en profundidad  :rolleyes:
#730
Tendrias que empezar por decirnos exactamente que queres hacer; pero estas mal encaminado, no necesitas modo protegido para acceder al hardware y la BIOS, con un misero MS-DOS ya podes hacerlo, trabaja en modo real.