目录
1.前言
2.原理讲解
3.代码实现
4.参考
1.前言
利用SetErrorMode进行反沙箱的技术,在2010年就有被提出,但是之前搜了很久都没有相关内容,这里简单的说一下这个反沙箱的实现。反沙箱参考GandCrab5.2。
2.原理讲解
首先讲一下SetErrorMode这个函数,SetErrorMode是用于设置如何处理程序错误的,设置不同的值有不同的作用,下面是机翻的结果。
而SetErrorMode有一个特点就是返回值为上次设置的值,如下代码和结果。
1 #include<Windows.h> 2 #include<stdio.h> 3 4 int main() 5 { 6 DWORD dwCode; 7 //开始没有设置任何值,所以返回值为0 8 dwCode = SetErrorMode(SEM_FAILCRITICALERRORS); 9 printf("the first dwCode:0x%x\n", dwCode); 10 11 //这里设置值SEM_NOGPFAULTERRORBOX是2,返回值为前面设置的值所以为1 12 dwCode = SetErrorMode(SEM_NOGPFAULTERRORBOX); 1