トップページ⇒tech
1001コメント231KB

ふらっとVisual C#,C♯,C#(初心者用) Part109

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/11/28(木) 11:27:54.20
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part108
http://toro.2ch.net/test/read.cgi/tech/1383867970/

■関連スレ
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/

■コード貼るなら↓使ってください
http://ideone.com/
0653デフォルトの名無しさん2013/12/20(金) 18:14:37.25
>>652
騙されてんぞwww
0654デフォルトの名無しさん2013/12/20(金) 19:18:32.09
ΩΩΩ<な、なんだってー!?
0655デフォルトの名無しさん2013/12/20(金) 19:50:43.63
昔8bitコンピュータのアドレス拡張で10bitセグメントモデルが
普及していて、その最大アドレスが1024バイト(最大値1023)だったんよ
その名残
0656デフォルトの名無しさん2013/12/20(金) 20:29:18.36
くだらないネタはやめろ
ただ単に手頃なサイズで切りがいいからだよ
0657デフォルトの名無しさん2013/12/20(金) 20:34:38.54
このスレのこのレスみたいな感じで文字列を隠して生のまま変数に入れない方法ってないですかね?
(レスは数値の場合)
画像や一部データをRijndaelで暗号化して読み込んでるけど、メモリ上で解凍のパスを生で見られたら嫌なので少しでいいから隠したい
ぶっちゃけ文字化けさせたい

http://toro.2ch.net/test/read.cgi/gamedev/1237924385/15
0658デフォルトの名無しさん2013/12/20(金) 20:43:21.79
SecureString
0659デフォルトの名無しさん2013/12/20(金) 20:51:42.41
そういえば得意気に平文で保持がどうのこうの言ってたTwitterクライアントの作者はどうしたのかしら
0660デフォルトの名無しさん2013/12/20(金) 20:57:10.38
理論上不可能だよ
Securestringはあるがそれに文字列をセットするまでに
何処かで必ずその文字列をメモリに読み込まなければならない
それがどんなに短い瞬間だろうとハッカーは見逃さない
0661デフォルトの名無しさん2013/12/20(金) 21:04:25.70
>>659
まあカジュアル向け、あるいは自身の精神安定用としての効能くらいは認められるんじゃないか
0662デフォルトの名無しさん2013/12/20(金) 21:52:57.55
http://keyboardmousehooks.codeplex.com
ここのKeyboardHook Classを利用してフックは出来たんですが、メッセージの書き換え方がわからないんです
どうすればいいか教えてください
それと、何故かEnterキーを一度しか押してないのにメッセージボックスを開くとキーが2回押されてるようでメッセージボックスがすぐ閉じてしまいます
これも原因がわからないんのでアドバイスお願いします
0663デフォルトの名無しさん2013/12/20(金) 22:02:32.23
見てないけどLLの方なら書き換えはできないよ
握りつぶして代わりにSendInputとかで改めて送信
0664デフォルトの名無しさん2013/12/20(金) 22:16:42.93
>>657
今まさに俺がやってることと同じだな…
0665デフォルトの名無しさん2013/12/20(金) 23:34:13.76
握りつぶすとかまだ言ってるんだな.。
昔その言葉のセンスのなさを指摘したら馬鹿に目茶苦茶絡まれたっけな。
0666デフォルトの名無しさん2013/12/20(金) 23:35:31.04
技術論の言葉のセンスを問うセンスのなさ
0667デフォルトの名無しさん2013/12/20(金) 23:39:16.55
握りつぶすさんおひさしぶりッス
チーッス
ご無沙汰してます
0668デフォルトの名無しさん2013/12/21(土) 00:19:25.55
センスの悪さが理解できないからご指摘オナシャス
0669デフォルトの名無しさん2013/12/21(土) 01:06:44.61
handleを訳しただけやん。
0670デフォルトの名無しさん2013/12/21(土) 03:03:37.86
「握りつぶす」に絡んでくる方がキチガイだろ
0671デフォルトの名無しさん2013/12/21(土) 11:40:52.63
>>665
お前まだC#の界隈で生きてたんだ
このスレから消えてからどれだけの人間に迷惑を掛けてきたんだろうか、想像もつかない

【3年前】
http://hibari.2ch.net/test/read.cgi/tech/1280008155/
PC等 [プログラム] “C#, C♯, C#相談室 Part61”

98 名前:デフォルトの名無しさん[sage] 投稿日:2010/08/02(月) 19:51:52
>>88
君さあ「例外をにぎりつぶす」っていう俺様用語を執拗に使ってるけど、
その意味厳密に定義できるの?

君ってそもそも例外処理の意味が分かってないでしょ。
0672デフォルトの名無しさん2013/12/21(土) 11:55:16.22
メッセージは握り潰すならふつうだが、例外はスルーするだろ。
06736352013/12/21(土) 14:17:02.18
C#って逆コンパイルできちゃうんですね…
C++MFCへ行きます
ありがとうございましたm(__ _)m
0674デフォルトの名無しさん2013/12/21(土) 15:26:27.53
>>671
気色悪い。
むろあんた、そういう自分が自分で嫌にならんのか。
英語でNoなら確実に異常性格者だな。
0675デフォルトの名無しさん2013/12/21(土) 15:33:18.05
>>673
MFC vs .NET
http://toro.2ch.net/test/read.cgi/tech/1382027363/
0676デフォルトの名無しさん2013/12/21(土) 16:24:18.95
>>674
キチガイは出てくんなよ
0677デフォルトの名無しさん2013/12/21(土) 16:26:20.54
リンク先読むとおたくの脳の心配をした方がよさそうですわ。
0678デフォルトの名無しさん2013/12/21(土) 17:26:06.99
スルーだとcatchしないとか、処理しないで再スローとかを想像するな
0679デフォルトの名無しさん2013/12/21(土) 17:27:31.79
逆コンパイルさせたくないならC++一択だよね?
生産性は落ちたとしても…
0680デフォルトの名無しさん2013/12/21(土) 17:35:26.34
例外をキャッチして何もしないでスルーすることを日本語でなんていえばいいんだ?
0681デフォルトの名無しさん2013/12/21(土) 17:50:46.60
C#とVBって何が違うんですか?
0682デフォルトの名無しさん2013/12/21(土) 18:06:17.32
文法が違う
0683デフォルトの名無しさん2013/12/21(土) 18:48:14.36
>>680
キャッチして何もしないでスルーって、それ上位にその例外は伝播させるの?
例外を握りつぶすだと、上位に伝播しないと思うが
例外をスルーだと、上位に伝播すると思うんじゃないかって話だよ
0684デフォルトの名無しさん2013/12/21(土) 18:50:52.88
>>680
これ、そんな無駄なことすんなって人の方が多いね。
0685デフォルトの名無しさん2013/12/21(土) 18:52:38.35
catch{throw;}は本当に無意味なので当然
0686デフォルトの名無しさん2013/12/21(土) 18:56:18.97
XmlSerializer でシリアライズするクラスに対する属性で、XML宣言の standalone を設定できる属性ってないよな?
XmlWriterSettings でもそんなプロパティ無いし、どうやるのがベストなんだ・・
0687デフォルトの名無しさん2013/12/21(土) 18:56:54.74
>>684
糞ライブラリはすぐ糞遅い例外投げたがるから仕方ないだろ。
0688デフォルトの名無しさん2013/12/21(土) 18:58:21.68
C#は検査例外がないから、少なくとも、

 - プログラマがそこで例外が発生することを想定してコードを書いたことを明示できる

 - そのメソッドで例外が発生しうることをコードで明示できる

メリットはあると俺は思うんだけど、そうは考えない人が多いみたいだね。
0689デフォルトの名無しさん2013/12/21(土) 19:02:39.28
>>688
XMLドキュメントコメントに書け
0690デフォルトの名無しさん2013/12/21(土) 19:04:19.69
>>686
なんでググらねーの?
http://stackoverflow.com/questions/1429593/how-do-i-control-the-xml-part-of-xml-serialization-with-net
0691デフォルトの名無しさん2013/12/21(土) 19:12:55.43
>>679
逆コンパイルされてなにが問題なんだろ
設計資料がなきゃソースだけ見ても何の意味も無い

linuxのソース見て、linux同等のOSを書き上げるヤツなんて
多くはいないだろ
0692デフォルトの名無しさん2013/12/21(土) 19:14:12.26
>>691
逆コンパイルされれば技術力が丸裸になる
「こんな適当な処理してるとか時間なかったのかなw」とか笑いの対象になる
0693デフォルトの名無しさん2013/12/21(土) 19:16:45.10
遠隔操作ウイルスはdobon.netのコピペってバレたし。
0694デフォルトの名無しさん2013/12/21(土) 19:20:19.85
>>690
ググったよ
それも見たけど、standalone についてスルーされてる

結局、XmlWriterSettings.OmitXmlDeclaration = true を設定して自分で出力する方法しかない?
0695デフォルトの名無しさん2013/12/21(土) 19:22:16.38
>>694
マジか…
0696デフォルトの名無しさん2013/12/21(土) 19:36:03.89
>>658
>>660
SecureString、使ってみましたがMarshal.PtrToStringBSTR()で戻した先の文字列に残るのであまり意味なさそうという・・・
でもありがとうございます

>>664
なにかいい方法ないですかね
適当にダミーの文字列混ぜるしかないのかなあ
0697デフォルトの名無しさん2013/12/21(土) 20:13:06.83
フィールド名に呪いの言葉を書いておくことが一番
0698デフォルトの名無しさん2013/12/21(土) 20:16:37.27
いまどきは#でウィルス?
ドットネ入れてねーやつには無関係じゃんw
0699デフォルトの名無しさん2013/12/21(土) 20:18:18.08
.net入れてない奴って馬鹿マカーぐらいじゃないの?
0700デフォルトの名無しさん2013/12/21(土) 20:19:09.97
どれにせよデバッガで処理追われたらどっかしらでバレる
示してあった数値でのやり方も、単に現在の体力でメモリの一致箇所絞り込むのを邪魔する程度だし
0701デフォルトの名無しさん2013/12/21(土) 20:20:09.51
そういや、例の片山某の事件って結局どうなったんだっけ。
0702デフォルトの名無しさん2013/12/21(土) 20:36:37.38
VC++の画面設計面倒くさい
スタティックテキストのフォントサイズまでコーディングしないといけないのかよ!
だがしかし、認証システムの部分だからC#じゃ書けねえ
0703デフォルトの名無しさん2013/12/21(土) 20:59:07.77
開発者不適格ですな。
0704デフォルトの名無しさん2013/12/21(土) 21:00:36.38
ばってん、それがよかもんね
0705デフォルトの名無しさん2013/12/21(土) 21:31:36.06
とっぱちからくさやんつきラーメン
0706デフォルトの名無しさん2013/12/21(土) 21:34:55.65
はかたんもんなおうどうもん
あおたけわってへこにかくばってんらーめん
0707デフォルトの名無しさん2013/12/21(土) 21:37:21.31
>>692
お前の会社ならこんなもんでいいだろ
って思って手を抜いたんだよ
わからなかった?
0708デフォルトの名無しさん2013/12/21(土) 21:40:13.66
>>696
だから理論上無理だから
0709デフォルトの名無しさん2013/12/21(土) 21:55:12.17
ドングルとかICカード使えばできるよ。
0710デフォルトの名無しさん2013/12/21(土) 22:08:00.67
Webサービスとプロキシを挟んで独自プロトコルで通信すればいいんじゃね
0711デフォルトの名無しさん2013/12/22(日) 04:43:33.66
>>696
そもそもRijndaelクラスのKeyプロパティってbyte[]だろう
Stringで持つ必要性は全くないはずなんだが

Stringで持つ必要性が生じてるのはあなたの考えた仕様のせいではない?
0712デフォルトの名無しさん2013/12/22(日) 08:59:03.71
いやSecureStringをString経由せずbyte arrayにする方法が分からなかったんだろ。
Marshal.SecureStringToGlobalAllocAnsiしてからMarshal.Copy、Marshal.ZeroFreeGlobalAllocAnsi
複合終わったらbyte arrayはゼロ埋めしとけ。

これで複合時以外は平文のキーをメモリの上におかなくていい。
複合時にキーが平文でなければならないのは当たり前だから諦めろ。

理論上無理とかそういう茶々を気にするな。
初めから自分の精神安定の為にやってるんだろ。自覚しろ。
海千山千のクラッカーを相手にしなければならない状況にいるのか。よく考えろ。
0713デフォルトの名無しさん2013/12/22(日) 09:11:48.72
そのKeyをどうやって生成するんだ
0714デフォルトの名無しさん2013/12/22(日) 09:31:20.76
>>712
いやゼロクリアするまではメモリに乗るから安全は保証できない
0715デフォルトの名無しさん2013/12/22(日) 10:26:05.04
例外をスルーしたらそのまま外にスローされるだろ
0716デフォルトの名無しさん2013/12/22(日) 11:02:51.31
>>713
Marshal.CopyでKeyにするbyte[]にコピーするんだろ

>>714
俺がいつ安全を保証すると発言したのかレス番で示してみろ
平文のキーがメモリに載るのを復号中だけに留める方法
としか言っていないが
0717デフォルトの名無しさん2013/12/22(日) 11:06:15.09
そんならやらないのも同じ
最初から平文となにも変わらないな
0718デフォルトの名無しさん2013/12/22(日) 11:08:39.68
同じかどうか決めるのはお前じゃねえ
だから「自分の精神安定のため」だと忠告してんだろうが
ハナクソは黙ってろ
口を利くな
0719デフォルトの名無しさん2013/12/22(日) 11:08:59.02
SecureStringなんて使ったら
解析場所をわざわざ教えるようなものだけど
0720デフォルトの名無しさん2013/12/22(日) 11:11:07.46
初心者なんかやりたいようにやらせておけばいいのに、
なんか道を正したがるよね。プログラマってのは。
いずれ年食って時間が限られてきた頃に気づくって。
他のことに注力すればよかったなって。
0721デフォルトの名無しさん2013/12/22(日) 11:14:57.44
>>719
だよねぇ
0722デフォルトの名無しさん2013/12/22(日) 11:20:36.55
横から

解析場所に関してはそもそも暗号化オブジェクトのインターフェースの方を狙うので
キーがどこにあるかは正直どうでもいいですね
上の例でいえばRijndaelクラスのKeyプロパティを見張ってるだけでいいですし
C++でもCryptHashDataとかフックすれば
口を開けてるだけで生の鍵が入ってきます

初心者の考えなんて休むに似たりですね
0723デフォルトの名無しさん2013/12/22(日) 11:24:11.97
更に言えば.NETの実装も内部ではCryptAPIを呼んでいるに過ぎないので
初めからCryptAPIをフックしておけば両方対応できます。
0724デフォルトの名無しさん2013/12/22(日) 12:00:16.85
>>719
ダミーを作っておくとかの知恵もないんだろうな...
0725デフォルトの名無しさん2013/12/22(日) 12:04:38.52
ダミーなんか作っても>>722-723で無駄じゃねえの
結局無駄なんだよ
無駄なことをするな
0726デフォルトの名無しさん2013/12/22(日) 12:12:07.36
つまり平文がコスパ最強ってこと
またまた勝ってしまった
0727デフォルトの名無しさん2013/12/22(日) 12:16:49.08
質問者はコスパの話なんてしてないけどな
はいループします
0728デフォルトの名無しさん2013/12/22(日) 12:56:17.03
初心者の中が初心者の下をバカにしてるの見ると笑えてくるな
0729デフォルトの名無しさん2013/12/22(日) 12:57:34.41
そんなことで笑えるなんて普段ずいぶん世知辛い人生を送っておられるのですねえ
ぜひ楽しんでいってください
0730デフォルトの名無しさん2013/12/22(日) 13:00:04.78
つか、どんだけ凄いハッカーと戦っているんだと思うわ
それほどシビアならWindowsアプリなんて形態じゃ無理だからWebアプリで作るべきだろ
0731デフォルトの名無しさん2013/12/22(日) 13:00:58.71
>>729
ほんと、ここの書き込み見てると自分が神レベルじゃないのかと錯覚するぐらいなんだよね
0732デフォルトの名無しさん2013/12/22(日) 13:04:08.66
>>730
ただのAPIフックが「凄いハッキング」なのか
プログラミング未経験者レベルの認識だね
0733デフォルトの名無しさん2013/12/22(日) 13:05:45.48
>>731
そうですか、ぜひ錯覚してってください
0734デフォルトの名無しさん2013/12/22(日) 13:07:46.00
自演臭せー
0735デフォルトの名無しさん2013/12/22(日) 14:37:00.39
>>730
凄いハッカー様相手なら、Webアプリの方が大変だろw
0736デフォルトの名無しさん2013/12/22(日) 14:43:13.98
インターネット鎖国したい。
ロシアだけでもシャットアウトしたい。
それだけでかなり安心できる。
0737デフォルトの名無しさん2013/12/22(日) 15:09:52.27
>>736
独自プロトコルと俺俺クライアントで自前のネットワークを組めばいい
0738デフォルトの名無しさん2013/12/22(日) 15:12:06.88
>>735
計算ロジックもセキュアな部分も全部サーバー側に持てるからね
少なくとも彼が心配している部分だけならwebで守れる
0739デフォルトの名無しさん2013/12/22(日) 15:33:40.80
>>732
初心者スレでプログラミング経験者のおれかっこいいみたいな
0740デフォルトの名無しさん2013/12/22(日) 15:47:37.06
敵に奪われるくらいならいっそ…! と自爆装置を積んでいるようなシステムかもしれない
0741デフォルトの名無しさん2013/12/22(日) 15:50:31.08
ロマンだね
0742デフォルトの名無しさん2013/12/22(日) 16:08:37.02
UACに阻止される自爆装置
0743デフォルトの名無しさん2013/12/23(月) 00:10:39.23
自滅プログラムは基本だよね
0744デフォルトの名無しさん2013/12/23(月) 00:12:40.11
>>743
俺の人生のプログラム組んだのお前か?
0745デフォルトの名無しさん2013/12/23(月) 00:21:03.53
確認画面を何度も出したのにろくに見もしないでOK押しまくっただろ
0746デフォルトの名無しさん2013/12/23(月) 00:26:05.47
>>745
覚えてない
そんな事より自滅プログラムを止める方法を教えてくれ
0747デフォルトの名無しさん2013/12/23(月) 00:46:39.49
電源を落とす
0748デフォルトの名無しさん2013/12/23(月) 00:48:25.30
>>747
死んでまうがなwww
0749デフォルトの名無しさん2013/12/23(月) 00:51:02.79
自滅プログラムを停止するには指定の講座へ…
0750デフォルトの名無しさん2013/12/23(月) 02:18:21.00
深夜のテンションって怖い
0751デフォルトの名無しさん2013/12/23(月) 03:37:25.19
自分は、C#はVS2005買った頃から、C#使いだして
ある程度のアプリなら、作れるところまで知識と技術
身に付けて、今はAndroidアプリばっかり作っている
のですが、windowsphone(あってたっけ?)
用のアプリ開発がVSEEでも出来ると知って
何年か前にそのVSEE入れて作ろうとしたんですが
モニタのドライバがWDDM1.1(あってたっけ?)に対応して無くて
やめたんですけど、今のC#の開発ではdelegateが簡素化
されているって本当ですか?
0752デフォルトの名無しさん2013/12/23(月) 03:47:07.15
昔、マックにCRTディスプレイが付いていた時代、ディスプレイの焦点を弄って、真ん中一点に光を集中させて
発火させて本体ごと焼くというウイルスが有ったと聞いた
■ このスレッドは過去ログ倉庫に格納されています