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

#2841
Cita de: Karcrack en 18 Agosto 2010, 14:56 PMUmmm... entonces tocaria usar ASM Inline... Ahi la cosa se complica, ya que los metodos para usar ASM no funcionarian, asi que ahi ya toca jugar con los .OBJ, para incrustar el codigo en ASM...

Y no pensaras decirme que eso es VB  ;D Hackear la generacion del ejecutable lo acepto pero ya eso es demasiado como para seguir diciendo que esta hecho en VB   :)

Cita de: Karcrack en 18 Agosto 2010, 14:56 PMA ver si tengo un rato esta noche y te hago un "Hello World" desde R0 :P

Mira que DbgPrint es necesaria  >:D
#2842
Cita de: Karcrack en 18 Agosto 2010, 14:34 PMNo sabia que hubiese funciones del Kernel en CDECL :o

DbgPrint por ejemplo, el numero de parametros es variable y stdcall no soporta eso (el llamado acomoda la pila). Tambien hay muchas funciones que son fastcall como IofCompleteRequest por ejemplo.

Cita de: Karcrack en 18 Agosto 2010, 14:34 PMSin duda no es nada basico... pero se puede hacer o no? ;)

Al parecer si aunque no lo vi en ningun lado y no se hasta que punto la dependencia con la Run Time lo hace factible y el codigo generado para la misma es valido en estas circustancias y generacion frankestein de ejecutable ...

Cita de: Karcrack en 18 Agosto 2010, 14:34 PMNo me habia planteado nunca ese problema... imagino que no, no seria posible... VB6 esta un tanto desfasado en este tema... con que te diga que el instalador viene en 16bits :laugh: :laugh:

Es decir que ni se puede instalar el IDE en Windows de 64 bits (al menos con el metodo normal)  ;D
#2843
Programación C/C++ / Re: C y carpeta system32
18 Agosto 2010, 13:44 PM
Segui probando solo.
#2844
Cita de: Karcrack en 18 Agosto 2010, 12:00 PM1- Hay que modificar los parametros que se le pasan al LINKER, cambiar el procedimiento de inicio, despues eliminar la referencia a MSVBVM60 y trabajar con TLBs de las APIs del KERNEL :D , como ya he dicho mucho mejor hacerlo en los lenguajes que estan diseñados para estas cosas ;)

¿Y las funciones que no son stdcall? ¿Es la unica convencion de llamada que soporta VB, no? ¿Hay que ejecutar codigo en assembly?  :D ¿Solo se puede trabajar con tipos primitivos y funciones exportadas por el Kernel? No es muy BASIC que digamos  ;D ¿De verdad alguien puso eso en practica?  :silbar:




Otro punto para la lista entonces: un hello world de 64 bits.
#2845
Cita de: Karcrack en 18 Agosto 2010, 11:12 AM1. Es posible programar Drivers en VB, el compilador lo permite, solo que las cosas se complican en el codigo. Por supuesto siempre sera mas sencillo hacerlo con C o [F/M/N]ASM...

¿Puedo ver un ejemplo? Siempre estoy abierto a que me corrijan  :)

¿Como permite esto el compilador/enlazador si el lenguaje en si mismo - al menos en la implementacion de Microsoft que es su dueño - depende de una libreria de modo Usuario? No digo que sea imposible pero debe requerir un hackeo muy grande del IDE y/o reescribir esa Run Time para proveer su funcionalidad ...

Para funcionar correctamente el ejecutable tiene que estar enlazado contra el Kernel y no puede estarlo contra el Run Time de VB que es una libreria de modo Usuario, ademas el SUBSYSTEM tiene que ser NATIVE.

Cita de: Karcrack en 18 Agosto 2010, 11:12 AM2. Ahi tienes toda la razon, VB no es multiplataforma... Pero... Gambas?

Y si, Gambas es BASIC pero no es VB.
#2846
No, para tontos no es pero si es normalmente un lenguaje de paso, continuar con VB a la fuerza desafiando las limitaciones del lenguaje no tiene sentido. Hay que usar la herramienta adecuada para resolver cada problema y por ejemplo para una GUI es util.

Otro tema es que lo quieran o no VB esta deprecado, Microsoft aposto por .NET, su ultima version de 1998 y no se la soporta desde hace dos años.


Igual se me ocurren al menos 2 cosas asi rapidamente que no podes hacer con VB:

1. Un modulo de modo Kernel para Windows
2. Un muy simple programa para *NIX

Beginner.
#2847
ReadFile y WriteFile trabajan con bytes siempre, si tenes alguna duda consulta la MSDN.
#2848
ASM / Re: Duda debug - MS-DOS
15 Agosto 2010, 20:50 PM
De nadas  ::)
#2849
ASM / Re: Duda debug - MS-DOS
15 Agosto 2010, 18:28 PM
Con g solo se ejecuta el programa completo, al ejecutar la instruccion ADD AX sera 6, despues ejecutar la interrupcion 20 puede cambiar los valores de los registros tambien ...
#2850
ASM / Re: Duda debug - MS-DOS
15 Agosto 2010, 12:13 PM
AX sera 2 y BX 4 DESPUES de ejecutar las 2 primeras instrucciones y ANTES de ejecutar la tercera.

Usa p o t para ejecutar instruccion por instruccion y verlo.

PD. Si ejecutas hasta int 20 AX tiene que ser 6 (2 + 4) ...