文章预览
一 vmp反调试相关源码部分 1.1 如何检索反调试源码 我们都知道,当vmp检测到被调试,会有如下弹框。 通过这条报错信息,不难在源码中找到: 然后通过它的消息传递机制,不难找到: void LoaderMessage(MessageType type, const void *param1 = NULL, const void *param2 = NULL) { const VMP_CHAR *message; bool need_format = false; switch (type) { case mtDebuggerFound: message = reinterpret_cast (FACE_DEBUGGER_FOUND); break; case mtVirtualMachineFound: message = reinterpret_cast (FACE_VIRTUAL_MACHINE_FOUND); break; case mtFileCorrupted: message = reinterpret_cast (FACE_FILE_CORRUPTED); break; case mtUnregisteredVersion: message = reinterpret_cast (FACE_UNREGISTERED_VERSION); break; case mtInitializationError: message = reinterpret_cast (FACE_INITIALIZATION_ERROR); need_format = true; break; case mtProcNotFound
………………………………