OSDN Git Service

Fix bugs of playing sound.
[ffftp/ffftp.git] / protectprocess.h
index fcaa546..3d54301 100644 (file)
@@ -1,77 +1,77 @@
-// protectprocess.h
-// Copyright (C) 2011 Suguru Kawamoto
-// \83v\83\8d\83Z\83X\82Ì\95Û\8cì
-
-#ifndef __PROTECTPROCESS_H__
-#define __PROTECTPROCESS_H__
-
-#define ENABLE_PROCESS_PROTECTION
-
-// \8e\9f\82Ì\92\86\82©\82ç1\8cÂ\82Ì\82Ý\97L\8cø\82É\82·\82é
-// \83t\83b\83N\90æ\82Ì\8aÖ\90\94\82Ì\83R\81[\83h\82ð\8f\91\82«\8a·\82¦\82é
-// \91S\82Ä\82Ì\8cÄ\82Ñ\8fo\82µ\82ð\83t\83b\83N\89Â\94\\82¾\82ª\8c´\97\9d\93I\82É\93ñ\8fd\8cÄ\82Ñ\8fo\82µ\82É\91Î\89\9e\82Å\82«\82È\82¢
-#define USE_CODE_HOOK
-// \83t\83b\83N\90æ\82Ì\8aÖ\90\94\82Ì\83C\83\93\83|\81[\83g\83A\83h\83\8c\83X\83e\81[\83u\83\8b\82ð\8f\91\82«\8a·\82¦\82é
-// \93ñ\8fd\8cÄ\82Ñ\8fo\82µ\82ª\89Â\94\\82¾\82ª\8cÄ\82Ñ\8fo\82µ\95û\96@\82É\82æ\82Á\82Ä\82Í\83t\83b\83N\82ð\89ñ\94ð\82³\82ê\82é
-//#define USE_IAT_HOOK
-
-typedef HMODULE (WINAPI* _LoadLibraryA)(LPCSTR);
-typedef HMODULE (WINAPI* _LoadLibraryW)(LPCWSTR);
-typedef HMODULE (WINAPI* _LoadLibraryExA)(LPCSTR, HANDLE, DWORD);
-typedef HMODULE (WINAPI* _LoadLibraryExW)(LPCWSTR, HANDLE, DWORD);
-
-#ifndef DO_NOT_REPLACE
-
-#ifdef USE_IAT_HOOK
-
-// \95Ï\90\94\82Ì\90é\8c¾
-#define EXTERN_HOOK_FUNCTION_VAR(name) extern _##name p_##name;
-
-#undef LoadLibraryA
-#define LoadLibraryA p_LoadLibraryA
-EXTERN_HOOK_FUNCTION_VAR(LoadLibraryA)
-#undef LoadLibraryW
-#define LoadLibraryW p_LoadLibraryW
-EXTERN_HOOK_FUNCTION_VAR(LoadLibraryW)
-#undef LoadLibraryExA
-#define LoadLibraryExA p_LoadLibraryExA
-EXTERN_HOOK_FUNCTION_VAR(LoadLibraryExA)
-#undef LoadLibraryExW
-#define LoadLibraryExW p_LoadLibraryExW
-EXTERN_HOOK_FUNCTION_VAR(LoadLibraryExW)
-
-#endif
-
-#endif
-
-// \83\8d\81[\83h\8dÏ\82Ý\82Ì\83\82\83W\83\85\81[\83\8b\82Í\8c\9f\8d¸\82ð\83p\83X
-#define PROCESS_PROTECTION_LOADED 0x00000001
-// \83\82\83W\83\85\81[\83\8b\82É\96\84\82ß\8d\9e\82Ü\82ê\82½Authenticode\8f\90\96¼\82ð\8c\9f\8d¸
-#define PROCESS_PROTECTION_BUILTIN 0x00000002
-// \83T\83C\83h\83o\83C\83T\83C\83h\82ÌAuthenticode\8f\90\96¼\82ð\8c\9f\8d¸
-#define PROCESS_PROTECTION_SIDE_BY_SIDE 0x00000004
-// WFP\82É\82æ\82é\95Û\8cì\89º\82É\82 \82é\82©\82ð\8c\9f\8d¸
-#define PROCESS_PROTECTION_SYSTEM_FILE 0x00000008
-// Authenticode\8f\90\96¼\82Ì\97L\8cø\8aú\8cÀ\82ð\96³\8e\8b
-#define PROCESS_PROTECTION_EXPIRED 0x00000010
-// Authenticode\8f\90\96¼\82Ì\94­\8ds\8c³\82ð\96³\8e\8b
-#define PROCESS_PROTECTION_UNAUTHORIZED 0x00000020
-
-#define PROCESS_PROTECTION_NONE 0
-#define PROCESS_PROTECTION_DEFAULT PROCESS_PROTECTION_HIGH
-#define PROCESS_PROTECTION_HIGH (PROCESS_PROTECTION_BUILTIN | PROCESS_PROTECTION_SIDE_BY_SIDE | PROCESS_PROTECTION_SYSTEM_FILE)
-#define PROCESS_PROTECTION_MEDIUM (PROCESS_PROTECTION_HIGH | PROCESS_PROTECTION_LOADED | PROCESS_PROTECTION_EXPIRED)
-#define PROCESS_PROTECTION_LOW (PROCESS_PROTECTION_MEDIUM | PROCESS_PROTECTION_UNAUTHORIZED)
-
-HMODULE System_LoadLibrary(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
-void SetProcessProtectionLevel(DWORD Level);
-BOOL GetSHA1HashOfFile(LPCWSTR Filename, void* pHash);
-BOOL RegisterTrustedModuleSHA1Hash(void* pHash);
-BOOL UnregisterTrustedModuleSHA1Hash(void* pHash);
-BOOL UnloadUntrustedModule();
-BOOL InitializeLoadLibraryHook();
-BOOL EnableLoadLibraryHook(BOOL bEnable);
-BOOL RestartProtectedProcess(LPCTSTR Keyword);
-
-#endif
-
+// protectprocess.h\r
+// Copyright (C) 2011 Suguru Kawamoto\r
+// \83v\83\8d\83Z\83X\82Ì\95Û\8cì\r
+\r
+#ifndef __PROTECTPROCESS_H__\r
+#define __PROTECTPROCESS_H__\r
+\r
+#define ENABLE_PROCESS_PROTECTION\r
+\r
+// \8e\9f\82Ì\92\86\82©\82ç1\8cÂ\82Ì\82Ý\97L\8cø\82É\82·\82é\r
+// \83t\83b\83N\90æ\82Ì\8aÖ\90\94\82Ì\83R\81[\83h\82ð\8f\91\82«\8a·\82¦\82é\r
+// \91S\82Ä\82Ì\8cÄ\82Ñ\8fo\82µ\82ð\83t\83b\83N\89Â\94\\82¾\82ª\8c´\97\9d\93I\82É\93ñ\8fd\8cÄ\82Ñ\8fo\82µ\82É\91Î\89\9e\82Å\82«\82È\82¢\r
+#define USE_CODE_HOOK\r
+// \83t\83b\83N\90æ\82Ì\8aÖ\90\94\82Ì\83C\83\93\83|\81[\83g\83A\83h\83\8c\83X\83e\81[\83u\83\8b\82ð\8f\91\82«\8a·\82¦\82é\r
+// \93ñ\8fd\8cÄ\82Ñ\8fo\82µ\82ª\89Â\94\\82¾\82ª\8cÄ\82Ñ\8fo\82µ\95û\96@\82É\82æ\82Á\82Ä\82Í\83t\83b\83N\82ð\89ñ\94ð\82³\82ê\82é\r
+//#define USE_IAT_HOOK\r
+\r
+typedef HMODULE (WINAPI* _LoadLibraryA)(LPCSTR);\r
+typedef HMODULE (WINAPI* _LoadLibraryW)(LPCWSTR);\r
+typedef HMODULE (WINAPI* _LoadLibraryExA)(LPCSTR, HANDLE, DWORD);\r
+typedef HMODULE (WINAPI* _LoadLibraryExW)(LPCWSTR, HANDLE, DWORD);\r
+\r
+#ifndef DO_NOT_REPLACE\r
+\r
+#ifdef USE_IAT_HOOK\r
+\r
+// \95Ï\90\94\82Ì\90é\8c¾\r
+#define EXTERN_HOOK_FUNCTION_VAR(name) extern _##name p_##name;\r
+\r
+#undef LoadLibraryA\r
+#define LoadLibraryA p_LoadLibraryA\r
+EXTERN_HOOK_FUNCTION_VAR(LoadLibraryA)\r
+#undef LoadLibraryW\r
+#define LoadLibraryW p_LoadLibraryW\r
+EXTERN_HOOK_FUNCTION_VAR(LoadLibraryW)\r
+#undef LoadLibraryExA\r
+#define LoadLibraryExA p_LoadLibraryExA\r
+EXTERN_HOOK_FUNCTION_VAR(LoadLibraryExA)\r
+#undef LoadLibraryExW\r
+#define LoadLibraryExW p_LoadLibraryExW\r
+EXTERN_HOOK_FUNCTION_VAR(LoadLibraryExW)\r
+\r
+#endif\r
+\r
+#endif\r
+\r
+// \83\8d\81[\83h\8dÏ\82Ý\82Ì\83\82\83W\83\85\81[\83\8b\82Í\8c\9f\8d¸\82ð\83p\83X\r
+#define PROCESS_PROTECTION_LOADED 0x00000001\r
+// \83\82\83W\83\85\81[\83\8b\82É\96\84\82ß\8d\9e\82Ü\82ê\82½Authenticode\8f\90\96¼\82ð\8c\9f\8d¸\r
+#define PROCESS_PROTECTION_BUILTIN 0x00000002\r
+// \83T\83C\83h\83o\83C\83T\83C\83h\82ÌAuthenticode\8f\90\96¼\82ð\8c\9f\8d¸\r
+#define PROCESS_PROTECTION_SIDE_BY_SIDE 0x00000004\r
+// WFP\82É\82æ\82é\95Û\8cì\89º\82É\82 \82é\82©\82ð\8c\9f\8d¸\r
+#define PROCESS_PROTECTION_SYSTEM_FILE 0x00000008\r
+// Authenticode\8f\90\96¼\82Ì\97L\8cø\8aú\8cÀ\82ð\96³\8e\8b\r
+#define PROCESS_PROTECTION_EXPIRED 0x00000010\r
+// Authenticode\8f\90\96¼\82Ì\94­\8ds\8c³\82ð\96³\8e\8b\r
+#define PROCESS_PROTECTION_UNAUTHORIZED 0x00000020\r
+\r
+#define PROCESS_PROTECTION_NONE 0\r
+#define PROCESS_PROTECTION_DEFAULT PROCESS_PROTECTION_HIGH\r
+#define PROCESS_PROTECTION_HIGH (PROCESS_PROTECTION_BUILTIN | PROCESS_PROTECTION_SIDE_BY_SIDE | PROCESS_PROTECTION_SYSTEM_FILE)\r
+#define PROCESS_PROTECTION_MEDIUM (PROCESS_PROTECTION_HIGH | PROCESS_PROTECTION_LOADED | PROCESS_PROTECTION_EXPIRED)\r
+#define PROCESS_PROTECTION_LOW (PROCESS_PROTECTION_MEDIUM | PROCESS_PROTECTION_UNAUTHORIZED)\r
+\r
+HMODULE System_LoadLibrary(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);\r
+void SetProcessProtectionLevel(DWORD Level);\r
+BOOL GetSHA1HashOfFile(LPCWSTR Filename, void* pHash);\r
+BOOL RegisterTrustedModuleSHA1Hash(void* pHash);\r
+BOOL UnregisterTrustedModuleSHA1Hash(void* pHash);\r
+BOOL UnloadUntrustedModule();\r
+BOOL InitializeLoadLibraryHook();\r
+BOOL EnableLoadLibraryHook(BOOL bEnable);\r
+BOOL RestartProtectedProcess(LPCTSTR Keyword);\r
+\r
+#endif\r
+\r