Index: /Daodan/src/Daodan.c
===================================================================
--- /Daodan/src/Daodan.c	(revision 464)
+++ /Daodan/src/Daodan.c	(revision 465)
@@ -455,5 +455,27 @@
 	ONiMain(argc, argv);
 }
-
+/*
+void DDrWrongExe()
+{
+	switch (MessageBox(NULL, "This version of the Daodan DLL is incompatible with your Oni.exe.\n"
+		"Click OK for more information. To continue using Oni without the patch, replace the downloaded binkw32.dll with the original.", "Daodan", MB_OKCANCEL | MB_ICONERROR))
+	{
+		case IDOK:
+			{
+				STARTUPINFO si;
+				PROCESS_INFORMATION pi;
+				FillMemory(&si, 0, sizeof(si));
+				FillMemory(&pi, 0, sizeof(pi));
+				si.cb = sizeof(si);
+				if (!CreateProcess(NULL, "cmd /c \"start http://wiki.oni2.net/Daodan_DLL\"", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
+					MessageBox(NULL, "", "", 0);
+				CloseHandle(pi.hProcess);
+				CloseHandle(pi.hThread);
+			}
+		default:
+			ExitProcess(0);
+	}
+}
+*/
 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
 {
@@ -464,6 +486,8 @@
 			DDrONiModule = GetModuleHandle(NULL);
 			
-			DDrPatch_MakeCall(OniExe + 0x0010fb49, DDrMain);
-			
+			if (*(uint32_t*)((void*)OniExe + 0x0011acd0) == 0x09d36852)
+				DDrPatch_MakeCall(OniExe + 0x0010fb49, DDrMain);
+			else
+				ExitProcess(0);
 			break;
 	}
