[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
一个magic number。win2k源代码private\ntos\rtl\error.c:ULONGRtlNtStatusToDosErrorNoTeb ( IN NTSTATUS Status )函数体中: else if ((Status & 0xffff0000) == 0x80070000) { // // The status code was a win32 error already. // return(Status & 0x0000ffff); }也就是如果内核返回0x80070000,错误代码就会被转换成0,应用层使用GetLastError()获得的返回值就是0,因为0表示没有错误,所以就不会弹出错误对话框。用这个magic number来取代STATUS_ACCESS_DENIED,会比较“优雅”。