Perdon Eternal Idol.
No creo que todavia me falta mucho, pero voy a tratar con el masm32
| |||
Re: Capturar Valores en ASM Hola Eternal Idol, necesito que me ayude a construir una o varias rutinas en assembly (MASM64) para capturar los valores que se almacenan en los registros del procesador de 64 bits (RAX,RBX, etc.), pero el problema es que lo necesito capturar de almenos un proceso (o todos) que se esté corriendo en la máquina que no sea el proceso donde se encuentre esta rutina. Aunque me serviría por el momento capturarlo de un procesador de 32 bits (MASM32). Gracias. |
| ||||
Re: Capturar Valores en ASM Este hilo es del 2005, seria bueno si algun moderador pudiera crear un nuevo hilo con esta ultima pregunta. ¿Para que necesitas conseguir esos valores? Hago esta pregunta por una razon muy simple: estos valores son constantemente cambiados durante la ejecucion de un proceso. De cualquier manera bajo Windows se usa la funcion GetThreadContext de la API de Windows y es necesario suspender el hilo para el cual se haga la consulta.
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Re: Capturar Valores en ASM Hola, gracias por responder a mi pregunta. Lo que pasa es que me meti en la locura de presentar mi tesis de grado y explicar el funcionamiento de los nuevos registros del procesador de 64 bits, y pretendo demostrar que esos registros si se estan mostrando, los valores que den no importa, solo necesito saber que si se estan ejecutando, y para eso necesito capturar estos valores. Gracias. De todas formas voy a ver si puedo colocarlo como nuevo tema. |
| ||||
Re: Capturar Valores en ASM Cita: ¿Mostrar los registros? ¿Si se esta ejecutando que? Me parece que estas un poco confundido, o al menos en los conceptos, los registros almacenan valores, no se muestran ni se ejecutan.De cualquier manera en mi anterior mensaje tenes la funcion que necesitas.
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Re: Capturar Valores en ASM P: el registro es de 64 bits ! P: SO 64 bits + Aplicación 64 bits = usa todos los bits (64) P: SO 64 bits + Aplicación 32 bits = usa la mitad de los bits (32) Q: Cómo demostrar graficamente esa situación ? |
| ||||
Re: Capturar Valores en ASM Hay muchos registros, al menos bastantes mas que en x86. Una aplicacion de 32 bits es incapaz de acceder a registros de 64 bits por simple logica: no se ejecuta en long mode ni sus instrucciones llevan el prefijo rex necesario para hacerlo.
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Re: Capturar Valores en ASM Necesito llamar desde visual c++ por intrinsics assembly el valor almacenado en c/u de los 16 GPRs para yo saber si la aplicación activa (de 32 bits y/o 64 bits) está utilizando los registros a full o a la mitad (todo sobre el SO de 64, win xp x64). Como hago en visual c++ para detener el tiempo y pedirle al mP que me devuelva los valores de la aplicación "que yo quiera" ej: antivirus x64, antivirus x32. cuando digo los valores de la aplicación me refiero a los valores que ella pone en los registros. |
| ||||
Re: Capturar Valores en ASM Cita: No podes usar intrinsics (son del compilador) ya que solo se aplicarian sobre tu ejecutable y no sobre otros procesos (igual que yo sepa no hay ningun para hacer esto). Te dije como hacerlo en el primer mensaje, aca va mas detallado:
Iniciado por Edwin78 ![]() Necesito llamar desde visual c++ por intrinsics assembly el valor almacenado en c/u de los 16 GPRs para yo saber si la aplicación activa (de 32 bits y/o 64 bits) está utilizando los registros a full o a la mitad (todo sobre el SO de 64, win xp x64). Como hago en visual c++ para detener el tiempo y pedirle al mP que me devuelva los valores de la aplicación "que yo quiera" ej: antivirus x64, antivirus x32. 1.Obtenes un HANDLE al proceso 2.Comprobas si es de 32 o 64 bits (podes usar IsWow64Process) 3.Detenes un hilo del proceso 4.Obtenes los registros usando la estructura CONTEXT correspondiente (para eso necesitas el paso 2) y la funcion GetThreadContext
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Re: Capturar Valores en ASM bueno, pero tengo algunas inquietudes: 1. Cómo obtengo el handle al proceso? 2. Cómo dentengo el hilo del proceso? Al detener el hilo del proceso y obtener los registros, el hilo no puede seguir ejecutándose o puede seguir su ejecución normal?, si es así cómo puedo lograr esto? |