私はしばらく検索していましたが、私の問題の答えを見つけることができませんでした。私は、実行可能ファイルがデバッグされているかどうかを検出するためにいくつかの関数をコーディングしようとしており、__asmタグを使ってそのためにいくつかのインラインアセンブリを使用しています。それは2つのエラーを投げつけ続け、残りのコードはうまくコンパイルされているようです。ここでは機能VC++インラインアセンブリエラー
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
}
}
だと私はそれを把握するように見えることはできませんエラー
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'
を得続けます。誰かが助けることができれば、私は本当にそれを感謝します。ありがとう!最初のない18に
x64のための作業になりますこれは、エラーはを参照している行は不明だが、私はあなたが全体 'assume'行を削除する必要がありますね、とあなたがタイプミス' DBYTE'を持っています。 – Jester
'IsDebuggerPresent'の何が問題なのですか? – 1201ProgramAlarm
@Jester入力がどこですか? – LifeInKernelSpace