Ich habe eine Weile gesucht und konnte nicht die Antwort auf mein Problem finden. Ich versuche, einige Funktionen zu programmieren, um zu erkennen, ob die ausführbare Datei debuggt wird, und ich verwende dafür eine Inline-Assembly (mit dem Tag __asm). Es wirft zwei Fehler auf und der Rest des Codes scheint gut zu kompilieren. Hier ist die FunktionVC++ Inline Assembly Fehler
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
}
}
und ich bekomme immer wieder die Fehler
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'
ich es nicht scheinen, um herauszufinden. Wenn jemand helfen kann, würde ich es sehr schätzen. Vielen Dank!
Es ist unklar, welche Linien die Fehler beziehen sich auf, aber ich denke, man sollte das ganze 'assume' Linie löschen, und Sie haben einen Tippfehler' DBYTE'. – Jester
Was ist los mit 'IsDebuggerPresent'? – 1201ProgramAlarm
@Jester wo ist der Tippfehler? – LifeInKernelSpace