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

#2631
ASM / Re: suffix or operands invalid for add
23 Marzo 2011, 14:47 PM
En x64 los parametros no se pasan en la pila salvo que no sean suficientes los registros:
http://en.wikipedia.org/wiki/X86_calling_conventions#System_V_AMD64_ABI_convention


Lo del add no se ... ¿Probaste con un S.O. de 32 bits?
#2632
ASM / Re: ayuda con suma
18 Marzo 2011, 18:54 PM
http://www.ctyme.com/intr/int-21.htm

Investiga como funcionan todos los servicios que usas y depura tu programa con debug.com, cuando leas una cadena recorda que no es un numero DECIMAL sino una secuencia de CARACTERES, si escribis 25 vas a tener '2' y '5' (49 y 53 en decimal).
#2633
De nada.
#2634
SOURCES
The SOURCES macro specifies the files to be compiled. The SOURCES macro is required by the Build utility. This macro must be placed in your Sources file. All files specified by this macro must reside in the directory containing the Sources file or in the parent directory of the Sources file.

The Build utility examines these files and generates a dependency list. If any of those dependencies change, the Build utility rebuilds this source file.

Use this macro to list your source file names. Include the file name extension, and separate the entries in this list with spaces or tabs.
#2635
Proba con _numero:
http://foro.elhacker.net/programacion_cc/leer_puntero_en_asm-t321560.0.html

Y sino la verdad, estoy 2500% seguro de que en Google hay ejemplos donde se usen variables ...

#2636
Programación C/C++ / Re: Usar DLL desde C++
10 Marzo 2011, 00:11 AM
Fijate que devuelven LoadLibrary y GetProcAddress en primer lugar.
#2637
Programación C/C++ / Re: Usar DLL desde C++
9 Marzo 2011, 12:56 PM
Cita de: e-spy en  8 Marzo 2011, 02:26 AM
Si yo tengo las funciones de una DLL, una es Wipe y es bolean es decir true o false. y la otra es connect

"es boolean" no dice nada. ¿Tiene un solo parametro que es un boolean? ¿El tipo de retorno es boolean? Entiendo que es lo primero por esta notacion que no es C/C++:

function Wipe(bWipeOS: Bool): HResult; stdcall;

Fijate que devuelven LoadLibrary y GetProcAddress en primer lugar. Para ver los nombres de las funciones exportadas por una DLL podes usar el Dependency Walker.

Pero en el caso de ConnectAnyUSB tendria que ser asi:

Código (cpp) [Seleccionar]
#include <windows.h>

typedef void(__stdcall *ConnectAnyUSB_ptr)(DWORD nMaxTimeoutMs, DWORD nResetTimeOutMs);

int main()
{
HINSTANCE hDll = LoadLibrary("midll.dll"); // carga la dll
ConnectAnyUSB_ptr ConnectAnyUSB_fn = (ConnectAnyUSB_ptr)GetProcAddress(hDll, "ConnectAnyUSB"); //obtiene el puntero
ConnectAnyUSB_fn(50, 10); // ejecuta la funcion
FreeLibrary(hDll);
return 0;
}


PD. Si la funcion Wipe necesita un parametro boolean entonces arregla el codigo siguiendo la logica del anterior.
#2638
De nadas  ::)
#2639
C++ es mas versatil  :silbar:
#2640
Programación C/C++ / Re: BSOD con Kernel mutex
25 Febrero 2011, 18:25 PM
Ahi no podes obtener el nombre, un DPC se ejecuta en un contexto cualquiera ... es seguro que esta no es la manera ideal de hacer lo que queres.

Para obtener el nombre y/o el path completo (obtene el PEB) podes usar (siempre en PASSIVE_LEVEL obviamente):
ZwQueryInformationProcess

PERO NADA FUNCIONARA USANDO EL PROCESO ACTUAL SI ESTAS EN UN CONTEXTO INDETERMINADO COMO PASA EN UN DPC. Tal vez si puedas usar esta funcion: IoGetRequestorProcess y obtener un EPROCESS util del IRP.