OSDN Git Service

Fix bugs of process protection on Windows 7.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Tue, 11 Oct 2011 16:36:39 +0000 (01:36 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Tue, 11 Oct 2011 16:36:39 +0000 (01:36 +0900)
Restore FFFTP_SUCCESS to SUCCESS that are replaced by mistake.

FFFTP_Eng_Release/FFFTP.exe
Release/FFFTP.exe
protectprocess.c
sha.c

index d4dea80..0db5d38 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index cc7fa88..7b3b8b4 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index 7c7c60f..82a3e37 100644 (file)
@@ -385,31 +385,8 @@ BOOL FindTrustedModuleSHA1Hash(void* pHash)
        return bResult;
 }
 
-// \83t\83@\83C\83\8b\82Ì\8f\90\96¼\82ð\8am\94F
-BOOL VerifyFileSignature(LPCWSTR Filename)
+BOOL VerifyFileSignature_Function(LPCWSTR Filename)
 {
-//     BOOL bResult;
-//     GUID g = WINTRUST_ACTION_GENERIC_VERIFY_V2;
-//     WINTRUST_FILE_INFO wfi;
-//     WINTRUST_DATA wd;
-//     LONG Error;
-//     bResult = FALSE;
-//     ZeroMemory(&wfi, sizeof(WINTRUST_FILE_INFO));
-//     wfi.cbStruct = sizeof(WINTRUST_FILE_INFO);
-//     wfi.pcwszFilePath = Filename;
-//     ZeroMemory(&wd, sizeof(WINTRUST_DATA));
-//     wd.cbStruct = sizeof(WINTRUST_DATA);
-//     wd.dwUIChoice = WTD_UI_NONE;
-//     wd.dwUnionChoice = WTD_CHOICE_FILE;
-//     wd.pFile = &wfi;
-//     Error = WinVerifyTrust((HWND)INVALID_HANDLE_VALUE, &g, &wd);
-//     if(Error == ERROR_SUCCESS)
-//             bResult = TRUE;
-//     else if((g_ProcessProtectionLevel & PROCESS_PROTECTION_EXPIRED) && Error == CERT_E_EXPIRED)
-//             bResult = TRUE;
-//     else if((g_ProcessProtectionLevel & PROCESS_PROTECTION_UNAUTHORIZED) && (Error == CERT_E_UNTRUSTEDROOT || Error == CERT_E_UNTRUSTEDCA))
-//             bResult = TRUE;
-//     return bResult;
        BOOL bResult;
        HCERTSTORE hStore;
        PCCERT_CONTEXT pcc;
@@ -454,6 +431,29 @@ BOOL VerifyFileSignature(LPCWSTR Filename)
        return bResult;
 }
 
+// \83t\83@\83C\83\8b\82Ì\8f\90\96¼\82ð\8am\94F
+BOOL VerifyFileSignature(LPCWSTR Filename)
+{
+       BOOL bResult;
+       GUID g = WINTRUST_ACTION_GENERIC_VERIFY_V2;
+       WINTRUST_FILE_INFO wfi;
+       WINTRUST_DATA wd;
+       bResult = FALSE;
+       ZeroMemory(&wfi, sizeof(WINTRUST_FILE_INFO));
+       wfi.cbStruct = sizeof(WINTRUST_FILE_INFO);
+       wfi.pcwszFilePath = Filename;
+       ZeroMemory(&wd, sizeof(WINTRUST_DATA));
+       wd.cbStruct = sizeof(WINTRUST_DATA);
+       wd.dwUIChoice = WTD_UI_NONE;
+       wd.dwUnionChoice = WTD_CHOICE_FILE;
+       wd.pFile = &wfi;
+       if(WinVerifyTrust((HWND)INVALID_HANDLE_VALUE, &g, &wd) == ERROR_SUCCESS)
+               bResult = TRUE;
+       else
+               bResult = VerifyFileSignature_Function(Filename);
+       return bResult;
+}
+
 // \83t\83@\83C\83\8b\82Ì\8f\90\96¼\82ð\83J\83^\83\8d\83O\83t\83@\83C\83\8b\82Å\8am\94F
 BOOL VerifyFileSignatureInCatalog(LPCWSTR Catalog, LPCWSTR Filename)
 {
diff --git a/sha.c b/sha.c
index 5418a7b..95fa081 100644 (file)
--- a/sha.c
+++ b/sha.c
@@ -69,7 +69,7 @@
 #define TRUE  1\r
 #define FALSE 0\r
 \r
-#define FFFTP_SUCCESS 0\r
+#define SUCCESS 0\r
 #define FAILURE -1\r
 \r
 int sha_file();                         /* External entries */\r
@@ -191,7 +191,7 @@ uint32 *buffer;
     }\r
     (void) sha_stream(infile, buffer);\r
     fclose(infile);\r
-    return FFFTP_SUCCESS;\r
+    return SUCCESS;\r
 }\r
 \r
 void sha_memory(mem, length, buffer)    /* Hash a memory block */\r