OSDN Git Service

Fix bugs of 64bit binaries.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Tue, 29 Apr 2014 13:51:09 +0000 (22:51 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Tue, 29 Apr 2014 13:51:09 +0000 (22:51 +0900)
FFFTP_Eng_Release/FFFTP.exe
FFFTP_Eng_Release_64/FFFTP.exe
Release/FFFTP.exe
Release_64/FFFTP.exe
protectprocess.c
socketwrapper.c

index d082b57..c4697eb 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index d82dd44..22588e4 100644 (file)
Binary files a/FFFTP_Eng_Release_64/FFFTP.exe and b/FFFTP_Eng_Release_64/FFFTP.exe differ
index 39a4810..08b15db 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index 610af98..1dfb5b4 100644 (file)
Binary files a/Release_64/FFFTP.exe and b/Release_64/FFFTP.exe differ
index ad8583b..af7ce1f 100644 (file)
@@ -39,9 +39,9 @@
 #endif\r
 \r
 #ifdef USE_CODE_HOOK\r
-#if defined(_X86_)\r
+#if defined(_M_IX86)\r
 #define HOOK_JUMP_CODE_LENGTH 5\r
-#elif defined(_AMD64_)\r
+#elif defined(_M_AMD64)\r
 #define HOOK_JUMP_CODE_LENGTH 14\r
 #endif\r
 #endif\r
@@ -249,7 +249,7 @@ BOOL HookFunctionInCode(void* pOriginal, void* pNew, void* pBackupCode, BOOL bRe
 {\r
        BOOL bResult;\r
        bResult = FALSE;\r
-#if defined(_X86_)\r
+#if defined(_M_IX86)\r
        {\r
                BYTE JumpCode[HOOK_JUMP_CODE_LENGTH] = {0xe9, 0x00, 0x00, 0x00, 0x00};\r
                size_t Relative;\r
@@ -277,7 +277,7 @@ BOOL HookFunctionInCode(void* pOriginal, void* pNew, void* pBackupCode, BOOL bRe
                        }\r
                }\r
        }\r
-#elif defined(_AMD64_)\r
+#elif defined(_M_AMD64)\r
        {\r
                BYTE JumpCode[HOOK_JUMP_CODE_LENGTH] = {0xff, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};\r
                size_t Absolute;\r
index 4927c41..8c85cc2 100644 (file)
@@ -144,10 +144,17 @@ BOOL LoadOpenSSL()
                return FALSE;\r
 #ifdef ENABLE_PROCESS_PROTECTION\r
        // 同梱するOpenSSLのバージョンに合わせてSHA1ハッシュ値を変更すること\r
+#if defined(_M_IX86)\r
        // ssleay32.dll 1.0.1g\r
        RegisterTrustedModuleSHA1Hash("\xCB\xBA\x62\x61\x3C\x44\x1E\x94\xD2\xF4\xAD\xD5\x03\x43\x6F\x26\xD2\xAF\x2F\x21");\r
        // libeay32.dll 1.0.1g\r
        RegisterTrustedModuleSHA1Hash("\x4E\x53\x29\xC4\x32\x1B\x17\xA5\x4D\x40\xDF\x6F\xF6\xD2\x53\x7E\xBC\x54\x69\x1B");\r
+#elif defined(_M_AMD64)\r
+       // ssleay32.dll 1.0.1g\r
+       RegisterTrustedModuleSHA1Hash("\x10\x08\xFE\x10\x3A\xB2\xEC\x9E\x13\xAF\x29\xD7\xF4\xFC\x90\xE3\x9B\x8D\xAF\x12");\r
+       // libeay32.dll 1.0.1g\r
+       RegisterTrustedModuleSHA1Hash("\x30\x42\xCF\x84\x2B\x3F\x17\x3B\xF7\x97\xA5\x2B\x5F\x1A\x5A\xA2\x04\x02\x92\x92");\r
+#endif\r
 #endif\r
        g_hOpenSSL = LoadLibrary("ssleay32.dll");\r
        // バージョン固定のためlibssl32.dllの読み込みは脆弱性の原因になり得るので廃止\r