Seperti yang kita ketahui bahwa GCC (GNU Compiler Collection) untuk C/C++ mendukung inline Assembler dengan instruksi AT&T.
Tetapi ini sangat membingungkan khususnya yang masih awam mengenai syntax AT&T Assembly. Berikut adalah solusinya jika ingin menggunakan inline Assembler dengan syntax Intel.
Gunakan command line berikut:
Dan gunakan kode C berikut:
Selamat mencoba! :)
Tetapi ini sangat membingungkan khususnya yang masih awam mengenai syntax AT&T Assembly. Berikut adalah solusinya jika ingin menggunakan inline Assembler dengan syntax Intel.
Gunakan command line berikut:
gcc.exe -masm=intel -c File.c gcc.exe File.o -oFile.exe -s -static
Dan gunakan kode C berikut:
#include <conio.h> #include <stdio.h> int IsDebugged = 0; int main(int argc, char *argv[]) { asm("mov eax, dword ptr fs:[0x18]"); asm("mov eax, dword ptr ds:[eax+0x30]"); asm("movzx eax, byte ptr ds:[eax+0x2]"); asm("mov _IsDebugged, eax"); if(IsDebugged == 1) printf("This program has been debugged.\r\n"); printf("Welcome!\r\n"); getch(); return 0; }
Selamat mencoba! :)