C#, C♯, C#相談室 Part97
- 1 :デフォルトの名無しさん :2022/12/21(水) 10:18:38.02 ID:DxBIri9+0.net
- !extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 2 :デフォルトの名無しさん :2022/12/22(木) 09:26:53.83 ID:D6FSghNTa.net
- この時代になっても相変わらず機械語は逆コンパイルできないと思いこんでるやついるのな
- 3 :デフォルトの名無しさん :2022/12/22(木) 09:27:54.54 ID:D6FSghNTa.net
- こういう機械語にすればセキュリティ上がると思ってるやつが平気でパスワード埋め込むんだよなあ
- 4 :デフォルトの名無しさん :2022/12/22(木) 10:33:57.58 ID:F1nh9mbrd.net
- >>2
C#やJavaといった中間言語に比べたら、圧倒的に可読性が低いでしょ?
できる、できないの、ゼロか100かの議論ではないんだよ
可読性が低いほど、解析されにくくなる。
- 5 :デフォルトの名無しさん :2022/12/22(木) 10:38:00.37 ID:2NJjkJHb0.net
- 中途半端な知識を持つものがC#を避ける原因の一つだからな
C++と同レベルの難読性を持つのはC#が生き残るには大事な話だ
- 6 :デフォルトの名無しさん :2022/12/22(木) 11:35:07.63 ID:GxD81iq9a.net
- 解析されて困るのはパスワード埋め込んでる時だけだろ
機械語にしてもセキュリティ上がらないからそういうことするのやめとけ
- 7 :デフォルトの名無しさん :2022/12/22(木) 11:40:40.23 ID:aOWlk2Pu0.net
- わざわざ逆アセンブルしなくてもexeから文字列抽出すれば平文パスワードを探せるしねぇ
- 8 :デフォルトの名無しさん :2022/12/22(木) 12:30:52.54 ID:U1HHZUYmM.net
- 難読化した処理追えるならマシン語の逆アセ読むくらいは出来るだろ
余分な処理入ってない分、後者のが楽まである
- 9 ::2022/12/22(木) 12:59:42.23 ID:h+8LnyZL0.net
- 昔、機械語で書かれたとあるアプリをHEXエディタで開いたら、ASCIIコードで平文のままパスワードが埋め込まれてた事が有ったな
- 10 :デフォルトの名無しさん :2022/12/22(木) 14:41:12.05 ID:F1nh9mbrd.net
- >>6-7
パスワードを暗号化とかして格納するとして、
その場合に暗号化のロジックコードをかんたんに読まれなければ
安全性はかなり高くなる。
- 11 :デフォルトの名無しさん :2022/12/22(木) 14:45:55.03 ID:hTl9WjWG0.net
- パスワードの照合ってハッシュ値を比較するもんだと思ってた
なんかすごい実装してるやついそうだな
- 12 :デフォルトの名無しさん :2022/12/22(木) 14:52:55.31 ID:HxQ/rgDMa.net
- >>10
ならねーよ
- 13 :デフォルトの名無しさん :2022/12/22(木) 15:06:15.12 ID:HxQ/rgDMa.net
- 逆コンパイルするじゃん?
コンパイルしてデバッガ使うじゃん?
パスワード送信するところで止めるじゃん?
復号したパスワードを表示するかファイルに書き込むじゃん?
生パスワード手に入るじゃん?
- 14 :デフォルトの名無しさん :2022/12/22(木) 15:27:07.06 ID:F1nh9mbrd.net
- >>13
その手順の詳細はやったことないのでデタラメかわからんが、
そもそもパスワード保存したストレージに他人がアクセスできないという
前提があるんだから問題はないだろう。共用するデバイスであれば、
パスワードを保存しない運用をすればいいだけだから。
あと証券とかセキュリティが重要なアプリはログインパスワードとは別に
取引パスワードとかもあるのが普通。
あとは出金とかのときはSMS認証とかもある会社が増えている。
要するにパスワードなどの認証はひとつである必要もないし、セキュリティ要件などに
あわせて併用すればいいだけ。
- 15 :デフォルトの名無しさん :2022/12/22(木) 15:30:16.26 ID:F1nh9mbrd.net
- >>11
それそれ、たぶんいいたいかったのはそれ。
暗号化したら膨大な時間かけないと複合化できない。
だからハッシュ。
DBの中にもパスワードのハッシュ値を格納するのがふつうなんでしょ、たしか。
>>13
暗号化したものは容易に複合化できないわけだが?
量子コンピューターとかないと無理でしょ
思いつきでいいかげんなこと書いてるでしょ?
- 16 :デフォルトの名無しさん :2022/12/22(木) 15:49:37.33 ID:4fbwDn1A0.net
- >>15
>>10を読んでやれよw
そもそも実行ファイルにパスワード埋め込むなって話をしてるんだぞw
- 17 :デフォルトの名無しさん :2022/12/22(木) 16:02:26.76 ID:Qca7zyGd0.net
- >native codeじゃないとかんたんに
>サーバーの認証のコードが漏れちゃうでしょ
>セキュリティ大事
発端はコレでしょ?
ハッシュでも暗号化文字列でもクライアントに共有シークレット埋め込んでる限り脆弱
少しスキルのある人間に悪用されるのは致し方ないと諦められるものじゃなければ仕組みを変える必要がある
- 18 :デフォルトの名無しさん :2022/12/22(木) 16:03:27.41 ID:Qca7zyGd0.net
- ありゃ
全部同じ人だった
- 19 :デフォルトの名無しさん (アウアウウー Sa9f-bKpv):2022/12/22(木) 16:13:14.56 ID:UcBjTq9Sa.net
- >>18
ああ認証コードがわからないのか
ログインパスワードのことだぞ
- 20 :デフォルトの名無しさん :2022/12/22(木) 16:39:53.08 ID:2NJjkJHb0.net
- パスワードっぽいのを仕込んでおいて遊んでみたい
- 21 :デフォルトの名無しさん :2022/12/22(木) 16:50:44.38 ID:RLY1K78+0.net
- ログインパスワードをハードコードとか斬新だな
APIキーみたいな認証コードの話かと思った
- 22 :デフォルトの名無しさん :2022/12/22(木) 16:58:48.83 ID:iWtJ1OLb0.net
- そんな次元なの?
パスワードの判明ならそれこそパスワードが合ってたかどうか、のif文に相当する命令を反転させたりnopにするという古典的な方法で別にパスワードがどうでも良くなるでしょ。そんなネイティブコンパイルされるか否か程度が問題なら。
アタッチして、パスワードが違うぞってダイアログ出てる状態からジャンプを逆に辿るだけなのでテクニックも何も無い。
何の意味も無くない?
- 23 :デフォルトの名無しさん :2022/12/22(木) 18:43:36.71 ID:+Rbmc+Rn0.net
- >>21
斬新でもなんでもなくて、今ほどセキュリティにうるさくなかった昔には結構あったぞ
結局は要求される強度とかける手間との兼ね合い
- 24 :デフォルトの名無しさん :2022/12/22(木) 18:48:29.53 ID:HmVrE67C0.net
- iniファイルにパスワードがそのまま記述もたまに
- 25 :デフォルトの名無しさん :2022/12/22(木) 18:58:21.99 ID:y9FZhiQ70.net
- 悪用って犯罪じゃないの?
警察どこいった?
- 26 :デフォルトの名無しさん :2022/12/24(土) 11:07:26.72 ID:o3kFQyD40.net
- .NETってinternalに良いもん隠しすぎやろ
- 27 :デフォルトの名無しさん :2022/12/24(土) 18:18:14.65 ID:37MAMfIj0.net
- 便利機能を使うためにリフレクションで仕方なくアクセスするの面倒すぎる
- 28 :デフォルトの名無しさん :2022/12/26(月) 17:01:22.79 ID:OeooOgrR0.net
- 以下のurlにあるライブラリを使ってrar5形式の書庫内にあるファイル一覧を取得しようとしたのですが取れませんでした。
ライブラリのソースを見ましたが、単に7z.dllの内部にある関数を呼んでいるだけのようでした。
7z.dll同梱の7z.exeでファイル一覧の取得、解凍できるのは確認しています。
何が原因かわかる方いらっしゃいますか?
7z.dllのバージョンは21.7.0.0
VisualStudio2019でビルドしました。
ttps://www.codeproject.com/script/articles/viewdownloads.aspx?aid=27148
- 29 :デフォルトの名無しさん :2022/12/26(月) 17:55:31.33 ID:5LxkM09pa.net
- >>28
> 何が原因かわかる方いらっしゃいますか?
プログラマ
- 30 :デフォルトの名無しさん :2022/12/26(月) 18:31:10.64 ID:bU1T9eUn0.net
- どんなコード書いているのかどんなエラーなのか言わないと分かりようが無いw
- 31 :デフォルトの名無しさん :2022/12/26(月) 18:37:00.63 ID:OeooOgrR0.net
- >>30
ライブラリのzipの中のサンプルコードです。
- 32 :デフォルトの名無しさん :2022/12/26(月) 18:53:53.57 ID:oItrOIBr0.net
- それ2008年のでしょrar5に対応してないんじゃないの?
- 33 :デフォルトの名無しさん :2022/12/31(土) 17:00:08.94 ID:Y1+2Lu7M0.net
- ByteArrayContentとReadOnlyMemoryContentの違いってなんかあるの?
- 34 :デフォルトの名無しさん :2022/12/31(土) 19:10:27.88 ID:1otgbzig0.net
- あるよ
- 35 :デフォルトの名無しさん :2023/01/02(月) 14:11:18.53 ID:AlCNR49a0.net
- C#ってC言語で作ったdllを呼べるけど、
そのdllが暗号化されていたのものでもメモリ上で複合化しながら呼べますか?
- 36 :デフォルトの名無しさん :2023/01/02(月) 14:49:57.94 ID:EJhafa7da.net
- 俺はできる
お前ができるかは知らん
- 37 :デフォルトの名無しさん (ワッチョイ 97a7-ChaJ):2023/01/02(月) 15:46:23.56 ID:ChZi0Din0.net
- >>35
本来利用してるプロセスが復号化してからロードしているのならその復号化ロジックを自前のC#アプリでも実装しないと呼べない
- 38 :デフォルトの名無しさん :2023/01/02(月) 20:19:04.23 ID:AlCNR49a0.net
- >>37
ありがとうございます
- 39 :デフォルトの名無しさん :2023/01/04(水) 00:16:32.10 ID:N/2omZ3g0.net
- C#ってネイティブなdllも動的にロードできるんだっけ?
- 40 :デフォルトの名無しさん :2023/01/05(木) 11:22:59.00 ID:ltDktvBL0.net
- DLLを動的ロードして関数ポインタを取り出す部分はどっちかというとOSの仕事だしそこはDllImportとかに任せて
関数ポインタさえ手に入れば
.NET 2.0からデリゲートに変換できるメソッドがあるし
C# 9.0でそのまま扱うこともできるようになったよ
- 41 :デフォルトの名無しさん :2023/01/05(木) 11:51:26.91 ID:pzJhf9FT0.net
- >>39
そりゃ当然出来る
型や呼び出し規約を合わせるのは自己責任だが
- 42 :デフォルトの名無しさん :2023/01/05(木) 13:00:22.76 ID:92Gx4s1W0.net
- アンマネージド使うのは自己責任で
- 43 :デフォルトの名無しさん :2023/01/05(木) 14:07:29.25 ID:HFE02prZr.net
- c++/cli 作って橋渡ししてたわ
- 44 :デフォルトの名無しさん :2023/01/06(金) 00:26:12.47 ID:rNk5rLcjM.net
- とあるクラスにあるすべてのプロパティを読み取り専用にしたいんだけど、なにか良い方法ありますか?
やっぱり継承してプロパティの数だけ読み取り専用プロパティで定義するしかない?
- 45 :デフォルトの名無しさん :2023/01/06(金) 07:59:18.36 ID:vZ5ptmnXd.net
- 継承させたところで元クラスにアップキャストされたら終わり
constにさせる方法はたぶんないと思う
- 46 :デフォルトの名無しさん :2023/01/06(金) 12:38:09.71 ID:vCsnZijhM.net
- recordにしたら
- 47 :デフォルトの名無しさん :2023/01/06(金) 12:49:52.37 ID:buYHqiH80.net
- C#って地味にこの辺弱いよな
C++のconst ポインタと同等の機能があればReadOnlyCollectionとかReadOnlySpanなんてそもそもいらないのに
- 48 :デフォルトの名無しさん :2023/01/06(金) 14:18:25.75 ID:QdJf8bLxa.net
- C++なら継承して読み取り専用にできると思ってるのか
- 49 :デフォルトの名無しさん :2023/01/06(金) 14:27:10.69 ID:zhrc9IIn0.net
- いや継承は必要なくて、C++なら単にそのクラスのインスタンスを格納する変数や引数の型をconstにするだけで読み取り専用になるよ
TypeScriptもReadOnly<X>とするだけで簡単に読み取り専用のXの型を作れる
- 50 :デフォルトの名無しさん :2023/01/06(金) 15:16:54.53 ID:QdJf8bLxa.net
- 方法が違うだけでC#でも簡単にできるだろw
- 51 :デフォルトの名無しさん :2023/01/06(金) 17:46:49.43 ID:MJJvxMZsa.net
- >>50
どうやるの?
- 52 :デフォルトの名無しさん :2023/01/06(金) 19:39:06.39 ID:7HwChuQ+0.net
- >>49
それ、そのクラスのプロパティも読み取り専用になるのか?
234 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200