| 77 |
|
|
| 78 |
#include "sftp.h" |
#include "sftp.h" |
| 79 |
|
|
| 80 |
// VS2005でビルドされたバイナリが Windows95 でも起動できるようにするために、 |
#include "compat_w95.h" |
|
// IsDebuggerPresent()のシンボル定義を追加する。 |
|
|
// |
|
|
// cf.http://jet2.u-abel.net/program/tips/forceimp.htm |
|
|
// 装飾された名前のアドレスを作るための仮定義 |
|
|
// (これだけでインポートを横取りしている) |
|
|
int WINAPI _imp__IsDebuggerPresent() |
|
|
{ return PtrToInt((void*) &_imp__IsDebuggerPresent); } |
|
|
// 実際に横取り処理を行う関数 |
|
|
BOOL WINAPI Cover_IsDebuggerPresent() |
|
|
{ return FALSE; } |
|
|
// 関数が実際に呼び出されたときに備えて |
|
|
// 横取り処理関数を呼び出させるための下準備 |
|
|
void __stdcall DoCover_IsDebuggerPresent() |
|
|
{ |
|
|
DWORD dw; |
|
|
DWORD_PTR FAR* lpdw; |
|
|
// 横取り関数を設定するアドレスを取得 |
|
|
lpdw = (DWORD_PTR FAR*) &_imp__IsDebuggerPresent; |
|
|
// このアドレスを書き込めるように設定 |
|
|
// (同じプログラム内なので障害なく行える) |
|
|
VirtualProtect(lpdw, sizeof(DWORD_PTR), PAGE_READWRITE, &dw); |
|
|
// 横取り関数を設定 |
|
|
*lpdw = (DWORD_PTR)(FARPROC) Cover_IsDebuggerPresent; |
|
|
// 読み書きの状態を元に戻す |
|
|
VirtualProtect(lpdw, sizeof(DWORD_PTR), dw, NULL); |
|
|
} |
|
|
// アプリケーションが初期化される前に下準備を呼び出す |
|
|
// ※ かなり早くに初期化したいときは、このコードを |
|
|
// ファイルの末尾に書いて「#pragma init_seg(lib)」を、 |
|
|
// この変数宣言の手前に書きます。 |
|
|
// 初期化を急ぐ必要が無い場合は WinMain 内から |
|
|
// DoCover_IsDebuggerPresent を呼び出して構いません。 |
|
|
#if 0 |
|
|
/* C言語では以下のコードは、コンパイルエラーとなるので、DllMain から呼ぶ。*/ |
|
|
int s_DoCover_IsDebuggerPresent |
|
|
= (int) (DoCover_IsDebuggerPresent(), 0); |
|
|
#endif |
|
| 81 |
|
|
| 82 |
#define MATCH_STR(s, o) strncmp((s), (o), NUM_ELEM(o) - 1) |
#define MATCH_STR(s, o) strncmp((s), (o), NUM_ELEM(o) - 1) |
| 83 |
#define MATCH_STR_I(s, o) _strnicmp((s), (o), NUM_ELEM(o) - 1) |
#define MATCH_STR_I(s, o) _strnicmp((s), (o), NUM_ELEM(o) - 1) |
| 2071 |
strncat_s(buf, sizeof(buf), "hmac-sha1", _TRUNCATE); |
strncat_s(buf, sizeof(buf), "hmac-sha1", _TRUNCATE); |
| 2072 |
} else if (pvar->ctos_hmac == HMAC_MD5) { |
} else if (pvar->ctos_hmac == HMAC_MD5) { |
| 2073 |
strncat_s(buf, sizeof(buf), "hmac-md5", _TRUNCATE); |
strncat_s(buf, sizeof(buf), "hmac-md5", _TRUNCATE); |
| 2074 |
}MessageBox(NULL, "", "", MB_OK); |
} |
| 2075 |
UTIL_get_lang_msg("DLG_ABOUT_TOSERVER", pvar, " to server,"); |
UTIL_get_lang_msg("DLG_ABOUT_TOSERVER", pvar, " to server,"); |
| 2076 |
strncat_s(buf, sizeof(buf), pvar->ts->UIMsg, _TRUNCATE); |
strncat_s(buf, sizeof(buf), pvar->ts->UIMsg, _TRUNCATE); |
| 2077 |
if (pvar->stoc_hmac == HMAC_SHA1) { |
if (pvar->stoc_hmac == HMAC_SHA1) { |