Tag: 虚拟机

向QEMU添加新的“命令”

我是新的,但我想向QEMU添加命令让我说我想添加一个“ fizzbuzz ”命令,如果我键入fizzbuzz和数字我会得到一个输出。 我用C编写了简单的程序(并确保它正常工作),并在ubuntu 16.04.1 LTS上ubuntu 16.04.1 LTS QEMU QEMU如何识别我写的function? 这是“fizzbuzz”代码 #include #include #define FIFTHEEN 15 #define FIVE 5 #define THREE 3 void fizzbuzz(int n); int main(void) { int n; while (1) { scanf_s(“%d”, &n); fizzbuzz(n); } return 0; } void fizzbuzz(int n) { if (n % FIFTHEEN == 0) puts(“fizzbuzz\n”); else if (n % […]

红丸检测虚拟化

我试图检测我的Windows是否在虚拟机上运行。 我发现这个C代码被称为Joanna Rutkowska的Red Pill: int swallow_redpill () { unsigned char m[2+4], rpill[] = “\x0f\x01\x0d\x00\x00\x00\x00\xc3”; *((unsigned*)&rpill[3]) = (unsigned)m; ((void(*)())&rpill)(); return (m[5]>0xd0) ? 1 : 0; } 但是当我在我的VC ++项目中运行它时,它就失败了 ((void(*)())&rpill)(); with message:访问冲突执行位置0x003AFCE8。 我做错了吗?