• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

コミットメタ情報

リビジョンdc2dde72baec54b06ad143f2bb6bdd589852b9d8 (tree)
日時2020-12-08 16:07:26
作者tfuruka1 <tfuruka1 at nifty dot com>
コミッターtfuruka1

ログメッセージ

RDPでのファイル複写とクリップボートの使用を抑止するコマンドを追加。

変更サマリ

差分

--- /dev/null
+++ b/src/disrdpcp/main.c
@@ -0,0 +1,120 @@
1+/* $Id$
2+ * RDPでのファイルの複写とクリップボードの使用を抑止します。
3+ */
4+#include <stdio.h>
5+#include <tchar.h>
6+#include <windows.h>
7+#include <getopt.h>
8+
9+static void
10+easyEncript(char *str)
11+{
12+ char *p = str;
13+
14+ printf("[");
15+ while (*p) {
16+ printf("%c", ((int) *p) + 1);
17+ p++;
18+ }
19+ printf("]\n");
20+}
21+
22+static void
23+easyDecript(char *str)
24+{
25+ char *p = str;
26+
27+ while (*p) {
28+ *p = (char) (((int) *p) - 1);
29+ p++;
30+ }
31+}
32+
33+int
34+main(int argc, char *argv[])
35+{
36+ HRESULT hResult = S_OK;
37+ // 戻り値
38+ DWORD dwResult = 0;
39+
40+ // HKEY
41+ HKEY hKey = NULL;
42+ DWORD dwValue = 1;
43+
44+ // SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
45+ char szSubKey[128] = "TZTUFN"
46+ "]DvssfouDpouspmTfu]Dpouspm]Ufsnjobm!Tfswfs]XjoTubujpot]SEQ.Udq";
47+ char szValueNames[3][80] = {"gEjtbcmfDen", // "fDisableCdm"
48+ "gEjtbcmfDmjq", //"fDisableClip"
49+ "\0"};
50+ int i;
51+ int c;
52+
53+ int option_index;
54+ static struct option options[] = {
55+ {"encript", required_argument, NULL, 'e'},
56+ {"help", no_argument, NULL, 'h'},
57+ {"version", no_argument, NULL, 'v'},
58+ {NULL, 0, NULL, 0}
59+ };
60+
61+ while (-1 != (c = getopt_long(argc, argv, "e:hv",
62+ options, &option_index))) {
63+ switch (c) {
64+ case 'e':
65+ easyEncript(optarg);
66+ return 0;
67+ case 'h':
68+ //showHelp();
69+ return 0;
70+ case 'v':
71+ //showVersion();
72+ return 0;
73+ default:
74+ fprintf(stderr, "想定外のgetoptからの戻り: %c\n", c);
75+ return 1;
76+ }
77+ }
78+
79+ /*
80+ レジストリオープン
81+ */
82+ easyDecript(szSubKey);
83+ dwResult = (DWORD) RegOpenKeyEx(
84+ HKEY_LOCAL_MACHINE, // レジストリキー
85+ szSubKey, // レジストリサブキー
86+ 0, // Reserved(0固定)
87+ KEY_SET_VALUE, // アクセス権
88+ &hKey // キーハンドルの受け取り位置
89+ );
90+ if (ERROR_SUCCESS != dwResult) {
91+ // エラー
92+ hResult = HRESULT_FROM_WIN32(dwResult);
93+ fprintf(stderr, "Registory Open error: %lx\n", hResult);
94+ MessageBox(NULL, TEXT("エラーが発生しました。"), TEXT("エラー"),
95+ MB_ICONERROR);
96+ return 1;
97+ }
98+
99+ for (i = 0; szValueNames[i][0]; i++) {
100+ easyDecript(szValueNames[i]);
101+ dwResult = (DWORD) RegSetValueEx(
102+ hKey, // キーハンドル
103+ szValueNames[i], // ValueName
104+ 0, // Reserved(0固定)
105+ REG_DWORD, // データ型
106+ (const LPBYTE) &dwValue, // 書き込み内容
107+ sizeof(DWORD) // 書き込みサイズ(BYTE)
108+ );
109+ if (ERROR_SUCCESS != dwResult) {
110+ // エラー
111+ hResult = HRESULT_FROM_WIN32(dwResult);
112+ fprintf(stderr, "Registory Set value error: %lx\n", hResult);
113+ return 1;
114+ }
115+ }
116+ RegCloseKey(hKey);
117+ MessageBox(NULL, TEXT("正常に更新しました。"), TEXT("正常終了"),
118+ MB_ICONINFORMATION);
119+ return 0;
120+}
--- /dev/null
+++ b/src/disrdpcp/makefile
@@ -0,0 +1,12 @@
1+# $Id: makefile 1313 2013-03-19 00:10:02Z tfuruka1 $
2+CC = x86_64-w64-mingw32-gcc
3+CC = i686-w64-mingw32-gcc
4+CFLAGS= -g -Wall -W -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings \
5+ -Wconversion -Wfloat-equal -Wpointer-arith \
6+ --exec-charset=cp932 --input-charset=utf-8
7+
8+disrdpcp.exe : main.o makefile
9+ $(CC) $(CFLAGS) -o $@ main.o
10+ strip $@
11+clean :
12+ -rm -f *.o *~
--- a/src/makefile
+++ b/src/makefile
@@ -1,29 +1,26 @@
11 # $Id: makefile,v 1.7 2011/03/03 13:38:58 tfuruka1 Exp $
22 # $Name: $
33 #
4-# makeの親玉
4+# make縺ョ隕ェ邇
55 #
6-# $Log: makefile,v $
7-# Revision 1.7 2011/03/03 13:38:58 tfuruka1
8-# getoptに対応等
6+# MinGW縺ォ縺、縺?※
7+# * 讓ェ蜿悶j荳ク縺ォ縺、縺?※縺ッ縲∫樟蝨ィ縺ッ菫晉蕗
98 #
10-# MinGWについて
11-# * 横取り丸については、現在は保留
12-#
13-# 2019/07/03 MinGWへ変更。getopt は最早不要となりました。CPU100,
14-# TVMaker を追加。
15-# 2011/03/01 teeコマンドを新規追加
16-# 2007/10/04 MegaFileを追加
17-# 2006/12/06 単純なコーディングミスを修正しました。
18-# 2006/12/06 ydmモジュール回線低品質エミュレータを新規追加
19-# 2006/12/06 lha32を新規追加
20-# 2006/11/15 新規追加
9+# 2019/07/03 MinGW縺ク螟画峩縲Hetopt 縺ッ譛?譌ゥ荳崎ヲ√→縺ェ繧翫∪縺励◆縲?PU100,
10+# TVMaker 繧定ソス蜉?縲
11+# 2011/03/01 tee繧ウ繝槭Φ繝峨r譁ー隕剰ソス蜉?
12+# 2007/10/04 MegaFile繧定ソス蜉?
13+# 2006/12/06 蜊倡エ斐↑繧ウ繝シ繝?ぅ繝ウ繧ー繝溘せ繧剃ソョ豁」縺励∪縺励◆縲
14+# 2006/12/06 ydm繝「繧ク繝・繝シ繝ォ蝗樒キ壻ス主刀雉ェ繧ィ繝溘Η繝ャ繝シ繧ソ繧呈眠隕剰ソス蜉?
15+# 2006/12/06 lha32繧呈眠隕剰ソス蜉?
16+# 2006/11/15 譁ー隕剰ソス蜉?
2117 #
2218
2319 all :
2420 cd batkey; make
2521 cd CPU100; make
2622 cd crlf; make
23+ cd dedup; make
2724 cd ExSleep; make
2825 cd img2java; make
2926 cd lha32; make
@@ -37,6 +34,7 @@ clean :
3734 cd batkey; make clean
3835 cd CPU100; make clean
3936 cd crlf; make clean
37+ cd dedup; make clean
4038 cd ExSleep; make clean
4139 cd img2java; make clean
4240 cd lha32; make clean