C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: C#のライセンス認証の自作について


(過去ログ 178 を表示中)

[トピック内 16 記事 (1 - 16 表示)]  << 0 >>

■102327 / inTopicNo.1)  C#のライセンス認証の自作について
  
□投稿者/ vv (1回)-(2023/09/01(Fri) 21:18:02)

分類:[.NET 全般] 

C#のformアプリケーションでツールを作ってるのですが
ライセンス認証を勉強がてらに作ってるのですが
ソース内にライセンスコードとか埋め込んだりしたら
ソースを逆コンパイルされたらライセンスコード丸見えなんでしょうか?
PCの固有値のMACアドレスとかIPアドレスを取得して暗号化キーを混ぜる方法でやってます。
無料の難読化ソフトをインストールしたのですが
海外の人が難読化解除できるソフトを公開していたので
難読化の意味がないみたいです。
有料の高い難読化ソフトを買わないといけないのでしょうか?
あとデバッガソフト ollydbgやidaproなどを使われると
ライセンスキーとか割り出されるのでしょうか?
wisharkなど通信が見れるソフトもあるので。
引用返信 編集キー/
■102328 / inTopicNo.2)  Re[1]: C#のライセンス認証の自作について
□投稿者/ vv (2回)-(2023/09/01(Fri) 21:20:55)
iLspyっていう逆コンパイルのソフトで
ソース見られたときに見られたくないところを暗号化したいです。
引用返信 編集キー/
■102329 / inTopicNo.3)  Re[2]: C#のライセンス認証の自作について
□投稿者/ Azulean (1281回)-(2023/09/02(Sat) 10:53:05)
2023/09/02(Sat) 11:01:46 編集(投稿者)

No102328 (vv さん) に返信
> iLspyっていう逆コンパイルのソフトで
> ソース見られたときに見られたくないところを暗号化したいです。

「難読化」という言葉の通り、あくまで「読みづらくする」という性質のものです。
「暗号化」ではありませんので、難読化ツールの強度(どこまで読みづらく加工できるか)と、デコンパイラの対応度(どこまで意訳して読みやすいコードにできるか)の関係や、読もうと試みる人の技量・モチベーションのバランスです。

どんな強固なソリューションであっても、「実行できる」以上は、実行時の Windows のメモリ上に実行できる状態のバイナリが存在しますので、プロが頑張れば解析は可能です。


それを踏まえた上で、あなたのアプリケーションをどの程度守りたいかで、ソリューションを決める必要があります。
一定以上の強度・使い勝手を期待するなら、そこに「付加価値」を認めていることになりますので、有償になるのは病む得ないと思います。
引用返信 編集キー/
■102330 / inTopicNo.4)  Re[1]: C#のライセンス認証の自作について
□投稿者/ WebSurfer (2780回)-(2023/09/02(Sat) 11:04:56)
No102327 (vv さん) に返信

「c# ライセンス認証」などをキーワードにググると参考になりそうな記事がヒット
しますが、そのような記事を 2, 3 読んでみた上での質問ですよね?

であれば、どのような記事を読んだのか、質問者さんのやりたいことと一番合って
いるのはどの記事か、その記事ではどこが質問者さんの期待に合わないかを書いて
もらうことはできますか?


例えば以下の記事など Visual Studio のソリューションの形でサンプルコードま
で入手できるのですが?

LicenseProviderによるソフトウェアのライセンス制御
https://codezine.jp/article/detail/62
引用返信 編集キー/
■102331 / inTopicNo.5)  Re[2]: C#のライセンス認証の自作について
□投稿者/ vv (3回)-(2023/09/02(Sat) 12:09:38)
http://www.katch.ne.jp/~h-inoue/tips/cs/0001.html

自分のサーバー上にテキストファイルを置いて
httpsでアクセスして
そこにライセンスコードリストを書いてるのですが
URLをソースに埋めてたら
そのリンクがソースを見た人にわかるのかなと思いました。
引用返信 編集キー/
■102332 / inTopicNo.6)  Re[3]: C#のライセンス認証の自作について
□投稿者/ WebSurfer (2781回)-(2023/09/02(Sat) 12:24:21)
No102331 (vv さん) に返信

No102330 で聞いたことにまず答えてもらえませんか?

> http://www.katch.ne.jp/~h-inoue/tips/cs/0001.html
>
> 自分のサーバー上にテキストファイルを置いて
> httpsでアクセスして
> そこにライセンスコードリストを書いてるのですが
> URLをソースに埋めてたら
> そのリンクがソースを見た人にわかるのかなと思いました。

ライセンス認証のためのコードをネット上のどこかのサイトから入手する話と、一番最初の
質問に書かれた、

> ソース内にライセンスコードとか埋め込んだりしたら
> ソースを逆コンパイルされたらライセンスコード丸見えなんでしょうか?

と関係なさそうに思えるのですが?

ひょとして、コードに埋め込むのは URL で、その URL が見られるのがマズイと言ってます?

引用返信 編集キー/
■102333 / inTopicNo.7)  Re[4]: C#のライセンス認証の自作について
□投稿者/ vv (5回)-(2023/09/02(Sat) 12:30:24)
URLのリンクがhttpsのついたtxtのリンクなのでそこにライセンスコードを書いてるので
ソースを逆コンパイルした人がURLが分かればアクセスしてライセンスコードリストが分かるのかなと思いました。
引用返信 編集キー/
■102334 / inTopicNo.8)  Re[5]: C#のライセンス認証の自作について
□投稿者/ WebSurfer (2782回)-(2023/09/02(Sat) 12:40:17)
No102333 (vv さん) に返信

聞いたことに答えてと言ってるのに無視ですか? それでは話が通じないですよ。
引用返信 編集キー/
■102335 / inTopicNo.9)  Re[5]: C#のライセンス認証の自作について
□投稿者/ vv (7回)-(2023/09/02(Sat) 12:41:25)
追記
https://csharp.programmer-reference.com/get-macaddress/
macアドレスを取得して暗号キーをまぜて発行して

aにはライセンスコード
sにはhttpsでアクセスしたURLのtxtの中にライセンスコードを表記していて
複数行読み取って一致するかどうかifで判断してます。

if(a==s)

{

}
else
{
this.Close();
}
引用返信 編集キー/
■102336 / inTopicNo.10)  Re[6]: C#のライセンス認証の自作について
□投稿者/ vv (8回)-(2023/09/02(Sat) 12:44:41)
上記に記載した2つのサイトが参考にしたサイトです。
引用返信 編集キー/
■102337 / inTopicNo.11)  Re[7]: C#のライセンス認証の自作について
□投稿者/ vv (11回)-(2023/09/02(Sat) 12:50:08)
無視してるつもりはないのですが答えになってませんか?

引用返信 編集キー/
■102338 / inTopicNo.12)  Re[8]: C#のライセンス認証の自作について
□投稿者/ WebSurfer (2783回)-(2023/09/02(Sat) 14:44:47)
No102337 (vv さん) に返信
> 無視してるつもりはないのですが答えになってませんか?

なってません。そこが分からないようですが、それでは話が通じないのですよ。
引用返信 編集キー/
■102339 / inTopicNo.13)  Re[6]: C#のライセンス認証の自作について
□投稿者/ Azulean (1282回)-(2023/09/02(Sat) 17:03:20)
2023/09/02(Sat) 17:05:13 編集(投稿者)

No102335 (vv さん) に返信
> aにはライセンスコード
> sにはhttpsでアクセスしたURLのtxtの中にライセンスコードを表記していて
> 複数行読み取って一致するかどうかifで判断してます。


正解のコードリストを書いたテキストファイルを置いている時点で、個人的には「信じられない」という設計・実装です。

・ライセンス発行者が数万人いれば、それだけダウンロード時間がかかります。
・別にソースコードを逆コンパイルしなくても、通信内容をキャプチャするソフトを使えば、どのような通信をしているかわかりますので、それだけで正解のライセンスリストが手に入ります。


せめて、サーバーで合否を判定し、サーバーが結果を返すような仕組みを考えるべきでしょう。
公開鍵暗号の考え方を応用するなど、サーバーにしか正解を出せない何かを返すようにして、クライアントは正解かどうかチェックするような仕組みかな?
(たとえば、true か false しか返さないようなサーバーだと、true を返す偽物サーバーを作れば容易に突破されてしまいます)
引用返信 編集キー/
■102340 / inTopicNo.14)  Re[3]: C#のライセンス認証の自作について
□投稿者/ WebSurfer (2784回)-(2023/09/02(Sat) 23:31:54)
No102331 (vv さん) に返信

質問者さん、無言になってしまいましたが・・・

問題としているのは、

> http://www.katch.ne.jp/~h-inoue/tips/cs/0001.html
>
> 自分のサーバー上にテキストファイルを置いて
> httpsでアクセスして
> そこにライセンスコードリストを書いてるのですが
> URLをソースに埋めてたら
> そのリンクがソースを見た人にわかるのかなと思いました。

という状況で、質問者さんが作っているアプリのコードに埋め込むのはその URL
で、その URL が見られるのがマズイと言っていると想像してレスします。

そもそも、インターネット上に公開しているサイトの URL が知られたらマズイと
いうことはあり得ないと思いませんか?

そのサイトに誰でも無制限にアクセスできて情報を得ることができるとすると、
それはマズイということになるでしょうけど、それを防ぐ手段があればいいので
はないですか?

であれば、アクセス制限をする、例えばサイトに認証システムを実装し、ユー
ザー認証に通ったユーザーのみ情報を得ることができるような仕組みを実装して
はいかがですか?
引用返信 編集キー/
■102341 / inTopicNo.15)  Re[4]: C#のライセンス認証の自作について
□投稿者/ vv (13回)-(2023/09/03(Sun) 11:58:01)
返事が遅くなりました。
僕の質問と回答が分かりにくくて申し訳ないです。
お返事ありがとうございます。
参考にさせていただきます。
もっと認証の精度を上げたいと思います。
勉強不足のためもっと学びたいと思います。
引用返信 編集キー/
■102342 / inTopicNo.16)  Re[5]: C#のライセンス認証の自作について
□投稿者/ vv (14回)-(2023/09/03(Sun) 12:00:22)
解決済みにさせてもらいます。ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -