Есть ли под VC++ в его inline assembler деректива assume как в MASM? А то я хотле перенести код. Код простой а именно это детект дебагера в юзермоде через прямой доступ к PEB и проверки BeingDebugged Код на масм Код (Text): ASSUME FS:NOTHING MOV EAX,DWORD PTR FS:[18h] MOV EAX,DWORD PTR DS:[EAX+30h] MOVZX EAX,BYTE PTR DS:[EAX+2h] CMP EAX,1 JE @DebuggerDetected
Дак я и проверил на mams скомпилил всё работает на С++ накатал и в функции слетает на MOV EAX,DWORD PTR DS:[EAX+30h] Может чтот не так делал просто. Попроавьте тогда если не трудно.
оч интересно не знаю что было может я где то нагнал в тот раз в коде. И без assume пашет отлично Код (Text): #include <windows.h> #include <stdio.h> DWORD WINAPI IsDebug() { DWORD addr; __asm { MOV EAX,DWORD PTR FS:[18h] MOV EAX,DWORD PTR DS:[EAX+30h] MOVZX EAX,BYTE PTR DS:[EAX+2h] MOV [addr],EAX } return addr; } int main() { if(IsDebug()==TRUE) { MessageBox(NULL,"Debugger","OK",MB_OK); } else { MessageBox(NULL,"Not Debugger","OK",MB_OK); } return 0; }