Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2016
Reasen Reasen is offline
Miembro
NULL
 
Registrado: dic 2015
Ubicación: Barcelona
Posts: 140
Poder: 9
Reasen Va por buen camino
ASM incorrecto?

Buenas, me encuentro con un problema, traduciendo la función de: http://www.codeproject.com/Articles/...ng-Guide#BpMem
Tengo el siguiente error al querer compilar:
"E2116 Invalid combination of opcode and operands"

El error me ocurre en la línea: "push MemBpBeingDebugged"
Intente dejarlo exactamente igual pero algo falla y no encuentro el que, espero que le podáis echar un cable al asunto.

Mi source:

Código Delphi [-]

function DetectMemoryBP(): integer;
var
  pMem, pAllocation: pointer;
  SysInfo: TSystemInfo;
  oldprotect: dword;
  NullSize_T: SIZE_T;
label
  MemBpBeingDebugged;
begin
  NullSize_T := 0;
  pMem := nil;
  GetSystemInfo(SysInfo);
  oldprotect := 0;
  pAllocation := VirtualAlloc(nil, sysinfo.dwPageSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);

  if (pAllocation = nil) then
    result := 0;
  pMem := Pointer($C3);

  if VirtualProtect(pAllocation, sysinfo.dwPageSize, PAGE_EXECUTE_READWRITE or PAGE_GUARD, @oldprotect) = false then
    result := 0;

  try
    asm
        mov     EAX, pAllocation
        push    MemBpBeingDebugged
        jmp     EAX // Exception or execution, which shall it be ?
    end;
  except
    VirtualFree(pAllocation, NullSize_T, MEM_RELEASE);
    result := 0;
    exit;
  end;

MemBpBeingDebugged:

  VirtualFree(pAllocation, NullSize_T, MEM_RELEASE);
  result := 1;

end;


Ejemplo de uso:
  if DetectMemoryBP > 0 then
    MessageBox(0, 'detectado', '', 0);
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Orden de secuencia incorrecto AngelV JAVA 4 13-09-2007 15:06:02
Campo COUNT incorrecto? Duc SQL 6 07-07-2005 17:39:28
Error: Parámetro Incorrecto Manuel Varios 2 30-04-2004 01:19:30
Filtro Incorrecto JamesBond_Mx Conexión con bases de datos 2 06-04-2004 22:31:23
Indice incorrecto VolaRe Varios 8 22-02-2004 20:34:45


La franja horaria es GMT +2. Ahora son las 11:53:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi