J'ai cherché pendant un certain temps, et je n'arrivais pas à trouver la réponse à mon problème. J'essaie de coder certaines fonctions pour détecter si l'exécutable est en cours de débogage, et j'utilise un assemblage en ligne pour cela (avec la balise __asm). Il continue à jeter deux erreurs, et le reste du code semble bien se compiler. Voici la fonctionVC++ erreurs d'assemblage en ligne
int peb_detect() {
__asm {
ASSUME FS : NOTHING
MOV EAX, DWORD PTR FS : [18]
MOV EAX, DBYTE PTR DS : [EAX + 30]
MOVZX EAX, BYTE PTR DS : [EAX + 2]
RET
}
}
et je continue à obtenir les erreurs
warning C4405: 'FS': identifier is reserved word
warning C2400: inline assembler syntax error in 'opcode'; found 'FS'
warning C2408: illegal type on PTR operator in 'second operand'
Je ne peux pas sembler comprendre. Si quelqu'un peut aider, je l'apprécierais vraiment. Merci!
On ne sait pas quelles lignes les erreurs se réfèrent, mais je suppose que vous devez supprimer toute la ligne 'de assume', et vous avez une faute de frappe' DBYTE'. – Jester
Quel est le problème avec 'IsDebuggerPresent'? – 1201ProgramAlarm
@Jester où est la faute de frappe? – LifeInKernelSpace