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! :)
Tidak ada komentar:
Posting Komentar