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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 23
11  Programación / ASM / Especificar una cadena de caracteres para invoke en MASM32. en: 21 Febrero 2021, 15:50 pm
¿Como podria especificar el desplazamiento para INVOKE sin necesairiamente crear una etiqueta y tener que crear una para cada cadena de caracteres que utilice?

Es decir, para en vez de hacer:

Código
  1. .data
  2. data  db "String.", 0
  3.  
  4. ;...
  5.  
  6. invoke ..., offset data

Hacer algo como:

Código
  1. .data
  2. ;...
  3.  
  4. invoke ..., DISPLTXT("String.", 0)

Es decir, por ejemplo, una macro que defina una etiqueta para cada cadena o mejor aun una funcion de MASM32 que funcione para esto.

Gracias de antemano por sus respuestas.
Saludos.
12  Programación / ASM / Re: ¿Que tan potente es la libreria masm32rt.inc? ¿Vale la pena estudiarla? en: 21 Febrero 2021, 15:45 pm
De manera analoga a las funciones de la RTL de C, se declara el PROTO (el 99% son STDCALL) con el nombre de la funcion y sus parametros y despues se puede usar invoke.

¿Entonces PROTO simplemente define la convencion de la llamada?
13  Programación / ASM / Re: ¿Que tan potente es la libreria masm32rt.inc? ¿Vale la pena estudiarla? en: 20 Febrero 2021, 22:44 pm
Si y ademas esa API la podras usar desde C/C++ tambien.

¿Como podria acceder a la API de Windows a traves de MASM?

No entiendo por que dicen que la programacion en ensamblador es mas complicada. Creo que una vez con practica podria beneficiar mejor de lo que perjuicia que incluso C o C++.

Dare marcha atras como cangrejo.  :P
14  Programación / ASM / Re: ¿Por que tanta diferencia de tamaño entre un programa compilado en un HLL y ASM? en: 20 Febrero 2021, 22:33 pm


Asi se ha quedado...

A ver si entendi. En el caso del programa en C, el compilador incluye toda la libreria estatica MSVCRT en el ejecutable, en cambio, en el programa en ASM, el programa usa el codigo de la DLL MSVCRT.DLL, ¿No?

A lo demas tendre que dedicarle un poco de tiempo.
15  Sistemas Operativos / Windows / Re: AWE y Windows en: 20 Febrero 2021, 22:10 pm
Gracias por tu respuesta.
Saludos.
16  Programación / ASM / Re: ¿Existe alguna forma de declarar variables en la pila en ensamblador? en: 20 Febrero 2021, 21:57 pm
En MASM podes usar PROC y LOCAL para eso.

In the second directive, within a procedure definition (PROC), LOCAL creates stack-based variables that exist for the duration of the procedure. The labelId may be a simple variable or an array containing count elements, where count is a constant expression.

https://docs.microsoft.com/en-us/cpp/assembler/masm/local-masm?view=msvc-160
https://docs.microsoft.com/en-us/cpp/assembler/masm/proc?view=msvc-160

Muchas gracias por tu atencion.
Realmente llevaba bastante tiempo buscando una forma comoda de hacer esto.

Saludos.
17  Programación / ASM / Re: ¿Por que tanta diferencia de tamaño entre un programa compilado en un HLL y ASM? en: 20 Febrero 2021, 21:55 pm

Citar
Código
  1.   #define _WIN32_WINNT 0x0403
  2.   #define WIN32_LEAN_AND_MEAN
  3.   #pragma optimize("gsy", on)
  4.   #pragma comment(linker,"/RELEASE")
  5.   #pragma comment(linker, "/IGNORE:4108")
  6.   #pragma comment(linker, "/FIXED")
  7.   #pragma comment(linker, "/STUB:stub.exe")
  8.   #pragma comment(linker, "/MERGE:.rdata=.data")
  9.   //#pragma comment(linker, "/MERGE:.reloc=.data")
  10.   #pragma comment(linker, "/MERGE:.text=.data")
  11.   #pragma comment(linker, "/NODEFAULTLIB")
  12.   #pragma comment(linker, "/ENTRY:DllMain")
  13.   #pragma comment(linker, "/FILEALIGN:16")
  14.   #pragma comment(linker, "/ALIGN:16")
  15.   #pragma pack(1)

¿Me explicarias que exactamente esta pasando aqui con el linker? ¿Que es "gsy"?



¿Por que en el primer programa la libreria se supone estatica y en el segundo dinamica? ¿Cada vez que declaro ID proto C, ... el ensamblador añade un GetProcAddress o algo asi?
18  Programación / ASM / ¿Existe alguna forma de declarar variables en la pila en ensamblador? en: 20 Febrero 2021, 21:46 pm
En HLLs el compilador se encarga de procesar los calculos necesarios para el uso de variables en la pila, ademas de ocasionar la localidad entre las variables declaradas.

¿Existe alguna forma de hacer esto en ensamblador? Una tecnica, o algo asi...

Lo unico que se me ocurre es:

Código
  1. mov ebp, esp
  2. push eax ;a partir de ahora existe una variable en SS:EBP+ESP+4

¿Hay alguna otra forma que "Memorizando" las posiciones de memoria?

(Eso lo he aprendido desensamblado .COMs con DEBUG.EXE. Si existe una tecnica mas moderna agradeceria una pequeña explicacion o una referencia)

Saludos.
19  Programación / ASM / Representacion de caracteres especiales de C en ensamblador. en: 20 Febrero 2021, 21:22 pm
¿Existe alguna forma de expresar los caracteres de C:

\r \n \a \t \b \0 \x...

En ensamblador con la misma simpleza, o deben ser expresados esecificamente a traves del valor ASCII?

Lei en Stack Overflow que depende del ensamblador... En este caso hablamos de MASM32.

Gracias de antemano.
Saludos.
20  Programación / ASM / Re: ¿Que tan potente es la libreria masm32rt.inc? ¿Vale la pena estudiarla? en: 20 Febrero 2021, 21:17 pm
La mayoria de la RTL de C en Windows termina llamando a la API del mismo

Claro... Es la unica forma en que puede llegar a los dispositivos... Bueno, creo que seria mas "Oportuno" que me dedique a aprender la API de Windows. Al final probablemente me termine siendo mas util que conocer solo la libreria de C.

Gracias por tu atencion.
Saludos.
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 23
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines