ダイナミックリンクライブラリの逆コンパイルは、非倫理的/違法またはブラックハットと見なされますか?
たとえば、逆コンパイルの結果が、アプリケーションが使用するパスワードを含むメソッドとリテラルを示した場合、逆コンパイルされたソースコードが単にそのコードに分割されて表示されているだけでしょうか。
リバースエンジニアリングの合法性 国によって異なります 。おおまかな要約として:
米国では、ソフトウェアが合法的に取得されている限り合法ですが、ライセンスで明示的に禁止されている場合(およびほとんどのソフトウェアライセンスではそうです)、ライセンスが構成する契約違反となります。つまり「違法」ですが、刑法ではなく民法の問題。
[〜#〜] dmca [〜#〜] にも問題があります。リバースエンジニアリングを行う理由は重要です。著作権で保護された作品へのアクセスを故意に制御するシステムを回避するためにリバースエンジニアリングを行うと、法律によって強力に打ち消されます。
欧州連合では、相互運用性を目的とする限り、ライセンスについてこの件に関して述べているリバースエンジニアリングは合法です。ただし、リバースエンジニアリングでは、調査結果を公開する権利は与えられません。
倫理に関しては、まあ、これらのものは一種の恣意的であり(問題ではありません)、完全に普遍的ではありません(問題です)。すべての人々が同じ道徳的慣習に従うわけではありません。 道徳的な相対主義者 それは普通だと思うが、他のすべての人々はtheyが正しいと考え、同じ慣習に従わない人は誰でも間違っていると考える。また、ソフトウェアのリバースエンジニアリングの道徳性について明確なスタンスを持つことが可能かどうかは明らかではありませんin abstracto;それは本当に状況次第です。 DMCAでさえ、2012年の時点で スマートフォンではジェイルブレイクは合法ですが、タブレットでは合法ではありません (米国では)となる「例外」の変化するセットを認識しています。今、そのような区別をすることができる道徳体系を見つけてください。
(そして主は言われた:「それが電話と見なされるのに十分に小さい場合を除いて、あなたはあなたのタブレットをジェイルブレイクしてはならない」。Whaaat?)
多くの国では、リバースエンジニアリングは違法であり、多くの商用コードの場合、利用規約ではそのコードを逆コンパイルまたはリバースエンジニアリングすることはできません。
あなたのDLL利用規約(可能な場合)を確認し、お住まいの国の法律を確認してください。規制や規約に違反している可能性があり、いずれも問題を引き起こす可能性があります。