- PR -

実行ファイルへのアクセス制限

投稿者投稿内容
Azulean
大ベテラン
会議室デビュー日: 2008/01/04
投稿数: 123
お住まい・勤務地: 大阪府
投稿日時: 2008-08-30 00:24
引用:

そこで、解読しようとした場合、.netアプリの場合、難読化されていたとしても、
Reflectorで中をのぞくことが可能です。


Reflectorで中身をのぞいても読みにくいでしょう。関数aとか関数bとか言われても大変です。
それを頑張って解析する人の時点で結構な割合で振り落とせてると思いますよ。

引用:

そう考えた時、いきなり.netアプリを配布してしまうと、解析しようと思えば100%の確率で可能な事象を、かなり低下させることができると考えています。


私見としては「そこまでやる必要があるのかな?」と考えました。
ネイティブ暗号化・監視プロセスを実装・テストするコストは、それが生み出すメリットに見合わないかなと。
主観によると思いますので、難しいですが。


単体のexeの間は良いですが、大規模な開発になってくると、プロジェクトをクラスライブラリに分割したり、ネイティブのコンポーネントを使用したりと一緒に配るものが増えてきます。
これに対応していくコストがかかりますので、あまりこういった対策が取られていないんじゃないかなと。

であれば、見られたら困るロジック・アルゴリズムを解読されにくいネイティブで書き、.NETではそのフロントエンドとなるアプリケーションを書くといったような手を取ることが安価で確実かなと思いました。

引用:

win32アプリで.netアプリを内包し、win32アプリ起動で内包してある.netアプリまで
起動させる方法や、情報お持ちの方おられましたら、情報の提供お願いできますでしょうか。


UPXとかは非サポートになってますね。
CLRのロードとかうまいことやらないといけないでしょうから、サポートしていないのかもしれません。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-08-30 08:36
そこまでしてコードが見たいほど魅力的なアルゴリズムなのでしょうか。
それほど魅力的なアルゴリズムがおもいつくのに、なぜこの問題に対する解を思い付けないのでしょう?
ということは、そこまでして隠す必要もないアルゴリズムではないでしょうか :p


ところで、難読化したコードを読んだことがありますか?何をするかだけ真似て、十数行のコードを載せたことがありますが、提供された人は怒っちゃいました (^^;
ao2to
会議室デビュー日: 2003/08/11
投稿数: 15
投稿日時: 2008-08-31 13:27
Azuleanさま
引用:

見られたら困るロジック・アルゴリズムを解読されにくいネイティブで書き、.NETではそのフロントエンドとなるアプリケーションを書くといったような手を取ることが安価で確実かなと思いました。


確かにおっしゃるとおりで、利にかなっていると思います。
普通はこの考えで決まりだと思いますが、私としては、こういった仕組みを用意できれば、今後、使いまわしが出来るのではないかと考えました。

引用:

UPXとかは非サポートになってますね。
CLRのロードとかうまいことやらないといけないでしょうから、サポートしていないのかもしれません。


やはり、難しいですかね?
USBドングルで認証するような製品は、USBドングル認証時にネイティブアプリで認証し、成功した場合に、ネイティブアプリにパックしてあるユーザアプリをアンパックして、実行させる仕組みが出来ているようです。(パックしてあるアプリが.netアプリでも)
っと言うことは不可能では無い様なのでパック・アンパックの仕組みを勉強してみようと思っています。貴重な時間を割いて頂きましてありがとうございました。

Jittaさま
引用:

そこまでしてコードが見たいほど魅力的なアルゴリズムなのでしょうか。
それほど魅力的なアルゴリズムがおもいつくのに、なぜこの問題に対する解を思い付けないのでしょう?
ということは、そこまでして隠す必要もないアルゴリズムではないでしょうか


プロの方からすると造作もないことかも知れませんが、PGを作るのが本業ではないので、無知な質問で申し訳ありませんでした。
ただ、隠蔽したい理由が必ずしも、魅力的なアルゴリズムだからとは限らないと思いますよ。
たとえば、非常に時間のかかる実験や、解析の結果導き出されたパラメータを使っている(アルゴリズムはシンプルであるが)とか、
シンプルなアルゴリズムだが、特許申請中の要素を含んでいる為、非公開であるためとか、色々理由はあると思います。

また、「それほど魅力的なアルゴリズムがおもいつくのに、なぜこの問題に対する解を思い付けないのでしょう?」ですが、これは、非常に失礼な質問ですね。アルゴリズムは、その業種、業務毎に存在し、それを考えるのが、必ずしも、ITのプロとは限りません。それをPGに落としこめないだけで、そういう発言をするのはやめて頂けませんか。

最後に、Jittaさまの発言ですが、嘲笑うかの様な発言であれば、やめて頂けますか。
私も不愉快になりますし、あなたも時間の無駄でしょ。

色々アドバイス頂いた方、ありがとうございました。本当に感謝しております。
ただ、これ以上は有益な情報を頂ける確率も少なくなって来たようなので、
本スレッドはこれで終了ということでお願いいたします。

Azulean
大ベテラン
会議室デビュー日: 2008/01/04
投稿数: 123
お住まい・勤務地: 大阪府
投稿日時: 2008-08-31 18:17
自分で作るんじゃなくて既存のソリューションを探すとか、外部に委託するとかが良いのでは?
本来注力すべき研究開発の時間が削がれるのは本末転倒でしょう。

研究を進める時間を削って自ら作るコスト(+品質)と、既存ソリューションの選択・外部委託にかかるコスト(+品質)を比べて、良い選択をすべきです。

暗号や.NETの起動処理に不得手な状態で作ると穴があったりする可能性もありますので。
私は自分では作らないなぁ、この辺自信がありませんし。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-08-31 18:30
そんなに不安なら、file に出力しなければいいのにと個人的には思ってしまいます。

まあ、どのみち debugger で attach されてしまえば終わりですが。

スキルアップ/キャリアアップ(JOB@IT)