根据我的观察,截止到目前,测评机还是在用在源代码中匹配关键字的方法进行程序的权限控制。
首先,这给大家写正常程序造成了困难。下面是一些典型的例子。
char cmd[10];
#define inc(name) {name##x++;name##y++;}
更重要的是,这种粗犷的权限控制无法阻止任何“很认真的”想破坏测评系统的人。作为一个提示:你永远不能阻止这样的程序做出你想象不出来的事情:
((void(*)())(void*)some_function+0x123456)();
在更坏的事情发生之前,希望luogu.org能够更换到现代一点的权限控制方法。
下面是一个好的开始:
http://www.chromium.org/developers/design-documents/sandbox
广泛的参与才是安全的保障。