• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

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

Commit MetaInfo

Révision546d61f28fcc5c3c525452757a8ee5761a4e38af (tree)
l'heure2022-06-30 10:59:01
AuteurTadamegu Furukawa <tarancho@user...>
CommiterTadamegu Furukawa

Message de Log

Change Summary

Modification

--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,10 @@
1+#
2+# .gitignore 編集
3+# キャッシュを削除 (git rm -r --cached . //ファイル全体キャッシュ削除)
4+# commit & push
5+
6+*.exe
7+*.zip
8+*.o
9+*~
10+bin/
--- a/cmd-tools/javaenv.cmd
+++ b/cmd-tools/javaenv.cmd
@@ -21,7 +21,7 @@ rem
2121
2222 SET CMD=%SYSTEMROOT%\System32\cmd
2323
24-IF NOT "%1"=="" (
24+IF NOT %1=="" (
2525 call :CHG_DIRECTORY "%1"
2626 cd
2727 )
--- /dev/null
+++ b/src/disrdpcp/main.c
@@ -0,0 +1,160 @@
1+/* $Id$
2+ * RDPでのファイルの複写とクリップボードの使用を抑止します。
3+ */
4+#include <stdio.h>
5+#include <tchar.h>
6+#include <windows.h>
7+#include <getopt.h>
8+
9+/*--------------------------------------------------------------------
10+ * dwErr で指定されたエラーコードに対応するエラーメッセージを関数にシ
11+ * ステムメッセージテーブルリソースから検索して一時的な文字列へのポイ
12+ * ンタを返却する。dwErr は GetLastError から得た値を指定する事。lpsz
13+ * はエラーメッセージへ追加する文字列を指定する。API 名等を指定する。
14+ * *-------------------------------------------------------------------*/
15+static LPCSTR WINAPI
16+GetLastErrorMessage(LPCSTR lpsz, DWORD dwErr)
17+{
18+ static char sz[1024];
19+ char szTmp[256];
20+ DWORD i;
21+
22+ if (!(i = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM |
23+ FORMAT_MESSAGE_IGNORE_INSERTS,
24+ NULL, dwErr, 0, szTmp, sizeof(szTmp), NULL))) {
25+ strcpy(szTmp, "---");
26+ } else {
27+ szTmp[i] = '\0';
28+ for (i--; 0 <= (int) i; i--) {
29+ if ('\n' == szTmp[i] || '\r' == szTmp[i]) {
30+ szTmp[i] = '\0';
31+ }
32+ }
33+ }
34+ wsprintf(sz, "[WIN32] %s: Error Code = %d(%#02x): %s",
35+ lpsz, dwErr, dwErr, szTmp);
36+ return (LPCTSTR)sz;
37+}
38+
39+
40+static void
41+easyEncript(char *str)
42+{
43+ char *p = str;
44+
45+ printf("[");
46+ while (*p) {
47+ printf("%c", ((int) *p) + 1);
48+ p++;
49+ }
50+ printf("]\n");
51+}
52+
53+static void
54+easyDecript(char *str)
55+{
56+ char *p = str;
57+
58+ while (*p) {
59+ *p = (char) (((int) *p) - 1);
60+ p++;
61+ }
62+}
63+
64+int
65+main(int argc, char *argv[])
66+{
67+ HRESULT hResult = S_OK;
68+ // 戻り値
69+ DWORD dwResult = 0;
70+
71+ // HKEY
72+ HKEY hKey = NULL;
73+ DWORD dwValue = 1;
74+
75+ // SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
76+ char szSubKey[128] = "TZTUFN"
77+ "]DvssfouDpouspmTfu]Dpouspm]Ufsnjobm!Tfswfs]XjoTubujpot]SEQ.Udq";
78+ char szValueNames[][80] = {
79+ "gEjtbcmfDen", // "fDisableCdm"
80+ "gEjtbcmfDmjq", // "fDisableClip"
81+ "\0"
82+ };
83+ int i;
84+ int c;
85+
86+ int option_index;
87+ static struct option options[] = {
88+ {"encript", required_argument, NULL, 'e'},
89+ {"help", no_argument, NULL, 'h'},
90+ {"version", no_argument, NULL, 'v'},
91+ {NULL, 0, NULL, 0}
92+ };
93+
94+ while (-1 != (c = getopt_long(argc, argv, "e:hv",
95+ options, &option_index))) {
96+ switch (c) {
97+ case 'e':
98+ easyEncript(optarg);
99+ return 0;
100+ case 'h':
101+ //showHelp();
102+ return 0;
103+ case 'v':
104+ //showVersion();
105+ return 0;
106+ default:
107+ fprintf(stderr, "想定外のgetoptからの戻り: %c\n", c);
108+ return 1;
109+ }
110+ }
111+
112+ /*
113+ レジストリオープン
114+ */
115+ easyDecript(szSubKey);
116+ dwResult = (DWORD) RegOpenKeyEx(
117+ HKEY_LOCAL_MACHINE, // レジストリキー
118+ szSubKey, // レジストリサブキー
119+ 0, // Reserved(0固定)
120+ KEY_SET_VALUE, // アクセス権
121+ &hKey // キーハンドルの受け取り位置
122+ );
123+ if (ERROR_SUCCESS != dwResult) {
124+ // エラー
125+ hResult = HRESULT_FROM_WIN32(dwResult);
126+ fprintf(stderr, "%s %lx\n",
127+ GetLastErrorMessage("Registory Open", dwResult), hResult);
128+ MessageBox(NULL, TEXT("エラーが発生しました。"
129+ "詳細はコンソールの"
130+ "メッセージを確認して下さい。"),
131+ TEXT("エラー"),
132+ MB_ICONERROR);
133+ return 1;
134+ }
135+
136+ for (i = 0; szValueNames[i][0]; i++) {
137+ easyDecript(szValueNames[i]);
138+ dwResult = (DWORD) RegSetValueEx(
139+ hKey, // キーハンドル
140+ szValueNames[i], // ValueName
141+ 0, // Reserved(0固定)
142+ REG_DWORD, // データ型
143+ (const LPBYTE) &dwValue, // 書き込み内容
144+ sizeof(DWORD) // 書き込みサイズ(BYTE)
145+ );
146+ if (ERROR_SUCCESS != dwResult) {
147+ // エラー
148+ hResult = HRESULT_FROM_WIN32(dwResult);
149+ fprintf(stderr, "%s %lx\n",
150+ GetLastErrorMessage("Registory set value",
151+ dwResult), hResult);
152+ RegCloseKey(hKey);
153+ return 1;
154+ }
155+ }
156+ RegCloseKey(hKey);
157+ MessageBox(NULL, TEXT("正常に更新しました。"), TEXT("正常終了"),
158+ MB_ICONINFORMATION);
159+ return 0;
160+}
--- /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
@@ -38,6 +35,7 @@ clean :
3835 cd batkey; make clean
3936 cd CPU100; make clean
4037 cd crlf; make clean
38+ cd dedup; make clean
4139 cd ExSleep; make clean
4240 cd img2java; make clean
4341 cd lha32; make clean