• ベストアンサー

アプリケーションのDLLファイルを開いたり、編集したりすることは技術的に可能ですか?

プログラミングの知識も経験もほとんどないのですが、教えてください。パソコンにインストールしたアプリケーションのDLLファイルですが、これは何らかの言語で書かれたプログラムですか?特定の言語ではないのでしょうか?それを開いたり、編集したりすることは技術的に可能ですか。どんな言語で書かれたファイルなのか確認したり、編集したりするのに必要な環境はどのようなものなのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • parts
  • ベストアンサー率62% (6364/10149)
回答No.2

Q/パソコンにインストールしたアプリケーションのDLLファイルですが、これは何らかの言語で書かれたプログラムですか? A/そうです。プログラミング言語でソースは書かれています。既に解答があるとおりそれをコンパイル(機械語翻訳)します。 Q/それを開いたり、編集したりすることは技術的に可能ですか。 A/理論的には可能ですよ。逆コンパイル作業をすることで、だいたいのソースを抽出することができます。ただし、プログラミングをしたこともない方が、逆コンパイルして編集するのははっきり言って通常は無理です。まずはプログラミングの知識と十分な経験をつける必要があります。 Q/編集したりするのに必要な環境はどのようなものなのでしょうか。 A/環境だけでは、無理です。経験の問題が大きいです。後は、編集する許諾を得ているかどうかの問題ですね。ソフトは、経験があれば必然的にご自身で選択するようになりますし、不足があれば作るでしょう・・・ 逆コンパイルだけであれば、逆コンパイラソフトで可能ですが・・・基本的に元の状態に100%の抽出はできないですし、編集も経験が少なければ無理です。 (逆コンパイルすると、元々の復元ができないため、下手に触るだけで、予期しない処理となることもある) 重要なのは、メーカーやDLLの配布元から編集・逆コンパイル許諾を得ているかどうか、そのソフトを扱うだけの十分な経験があるかどうかは別の問題です。 ちなみに、あなたが作成したものではないDLLファイルは、全てあなた以外の開発者に、著作権があります。このDLLファイルを添付したソフトを買ったからといって、編集の許諾を得たことにはなりません。編集する場合は、制作者の許可を得て編集することになります。 もし制作者の許諾なしに改変する、ソースを見るなどの措置を執れば、機密コードを持つ場合もありますので、不正コピーより厳しい罰則を受けることになりますよ。 (これがWindowsの一部なら、最悪では個人でも半端ではない請求があるはずです) これは、市販ソフトはもちろんフリーソフトでも勝手に編集はできません。フリーソフトは無料ではなく、著作権は作者(メーカー)にあり、作者が意図した目的以外に流用したり、作者の許可なく改変したものを使うことはできません。(もちろんメーカー製のDLLなら、一般のユーザーに編集や逆コンパイルの許諾を与えることはほとんどありません) ということです。急ぎであっても、逆コンパイルは制作者でないとできないものも多いですし、制作経験が浅いなら難しいです。 ちなみに、どうしてもやりたいならインターネット逆コンパイルで検索すればある程度情報が集まるはずです。 ただし、行う場合は必ず著作者の許可を得てください。

allalone
質問者

お礼

懇切丁寧に教えてくださり、ありがとうございます。よく理解できました。

その他の回答 (2)

noname#1890
noname#1890
回答No.3

書き出すプリンターが必要になるでしょうか?リボン式のタイプがいいかも windowsで見られないファイルはどうやって調べるのが可能か?ですか? 何時間もかかってもプリントアウトしていると何日あっても足りませんよね

  • ShaneOMac
  • ベストアンサー率39% (356/898)
回答No.1

一般にいうプログラミング言語というのは人間がプログラムを書く場合に分かりやすいように便宜的に使うものです。それで書いたものは最終的にはコンパイルという作業をして.exeや.dllを作ります。.exeがwindows用プログラムとかMacOS用プログラムとかに分類されるのは分かると思いますが、コンパイルされたものは使用されるべきOSの処理系に合わせて機械が読むためのファイルにできあがったものです。そうした最終形の形式は処理系が同じなら同じだと思ってください。 機械の言葉でいきなりプログラムを書くのは大変なので普通はプログラミング言語を使ってソースを作成し、コンパイラという翻訳にあたる処理をするプログラムを通じて最終的な出力にしているということです。つまりプログラミング言語というものは過程に関与するものであってプログラムの中身ではないのです。 出来上がってコンパイルされたプログラムをそこから直に解析するというのは非常に難しいことです。できなくもないでしょうが、一般的には著作者によって禁じられていますし、技術的にも困難が多いと思います。

関連するQ&A

  • 「DLLファイル」とは?

    DLLファイルについて、よく分かりません。 たまにPHPなどでプログラムを組む時に、拡張ライブラリとして.dllファイルをextディレクトリに入れたりするのですが、本来DLLファイルはどのプログラミング言語からでも呼び出せるものなのでしょうか?(↓の説明を読むと、そんな気がしてしまうのですが)それとも、特定の言語のライブラリなどをdllと呼ぶようなイメージでよいのでしょうか?それとも、ぜんぜん別のものなのでしょうか? http://e-words.jp/w/DLL.html

  • dllファイルの編集

    dllファイルを編集したく、バイナリエディタ(Quick Be)で開いたのですが、どのように理解すればよいのかわかりません。 構造としては、プログラムがかかれているのでしょうか?どのようなことがかかれていて、どれを編集すればよいのかというのが理解できていません。 また、そいういう点で参考になるHPがあれば教えていただきたく質問させていただきました。 よろしくお願い致します。 技術的なことはJava・C++については理解しています。

  • ファイル「アプリケーション拡張(dll)」 インストールできません 

    ソフトウェアをインストールしようとすると、 「ファイルの種類アプリケーション拡張(dll)を開こうとしています。 これらのファイルはオペレーティングシステムやいろいろなプログラムにより使用されています。 これらを変更したり編集したりするとシステムに悪影響をおよぼす可能性があります。 ファイルを開く場合は[プログラムから開く]をクリック―」 …というようなエラーメッセージが出ます。 作成元のプログラム名がないということでプログラムからは開けず、 その先の操作でウェブから検索しても、「プロパティのバージョン情報でファイルの作成者を知ることができる」と表示されるだけで、 それをどうすればいいのかわかりません。 情報が不足しておりましたらご指摘ください。 初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

  • webアプリケーションでファイル編集

    webアプリケーションで、クライアント側にあるファイルを読み込んで、その内容を編集し、サーバ側に返信することは可能でしょうか? 流れ的には、ブラウザ側でなんからかのアクションをすると、ローカルにあるファイルを編集し、編集した内容をサーバ側にpostしたいと思っています。 使用する言語や技術はなんでもかまいません。 よろしくお願いします。

  • DLLファイルが見つかりませんとでます。どうしたらいいのですか?

    パソコン起動時に  プログラム開始エラー !必要なDLLファイルPNCRT.DLLが見つかりませんでした。 とでます。アプリケーションをいくつか削除したのですが、、 どうすれば今後起動時に表示されなくなりますか? どなたか教えていただけませんか?宜しくお願いいたします。

  • dllファイルについて

    パソコン教室のアルバイトをしているのですが、P検3級の勉強をしている生徒に dllファイルがどんなものかよく分かりませんと言われました。 そこで、dllファイルっていうのは複数のアプリケーションでよく使う機能をまとめた物で、 メニューバーにあるファイルとか編集といった物のことで WINDOWSフォルダに入っているから容量の節約になると説明しましたが、 それじゃあOutlook Expressのフォルダに入っているdllファイルは何ですか? と聞かれ、私自身dllファイルについてよく分からなかったので、答えることができませんでした。 こういう場合、どういう説明をしたらいいんでしょうか?

  • 特定のdllファイルを削除したいです

    お世話になります。 助けて下さい。 環境は、 Windows 8 Pro Internet Explorer 11 以下IE。 Program Filesの中にある、特定のdllファイルが、 IEのアドオンで機能しています。 IEのアドオンの管理から、そのdllファイルを無効に設定しているのにもかかわらず、 毎回IEを起動する度に、有効か無効にするかを聞いてきます。 そのdllはもともとIEとは関係ないソフトウェア(今後もこのアプリは使います。)をインストールした時に、なぜかIEの中にアドオンとして組み込まれました。 またそのdllの名前が怪しいのと、削除してもIEでアドオンが機能しなくなるだけで、 アプリそのものの起動には影響がなさそうなので、 特定のdllファイルを削除しようとしました。 しかし、プログラムで開かれているので閉じないと削除できないと、警告が出ます。 そのアプリはコンピューターを開いた時にエクスプローラーが起動しますが、 そのエクスプローラーを拡張するアプリのため、 削除作業をする=エクスプローラーで、削除したいdllファイルを開いてしまうため、 プログラムで開かれているので閉じないと削除できないという事になります。 特定のdllを名前から検索して、特定のdllのみ開いているのを閉じて、 削除したいのですが、何か良い方法はありますか? ご教示下さいますようよろしくお願い致します。

  • DLLファイルが見つかりません???

    すいません。ちょーちょー初心者です。アプリケーションをインストールしょうとすると、必要なDLLファイルFP20HTPDLLが見つかりません。 となります。どうしたらインストールできますか?

  • exeファイルはどのdllを参照すべきか、知っているのでしょうか。

    dllとは、プログラムが実行時に参照するものですよね。 よく使われる機能があらかじめ作られているものですよね。 私はC言語しか知らないので、C言語でプログラミングすることで話を進めさせてください。 (とは言っても、ごく初歩的なプログラムが組めるだけの素人です。) OSはWindowsということにします。 C言語は、関数の集まりでソースが書かれています。 dllも、中身に関数の実体が記述されている、そういうイメージでしょうか。 私がもっと勉強して、複雑なプログラムを組んだりすると、 「あ、これはdllに実体がある機能だから、いちいち実装を書かなくてもいいんだな」 と考えて、ソースファイル( ~.c )の中でその関数を使うだろうと思います。 私がよくわからないのはここからです。 dllにある関数をソースで使って、無事コンパイルして、さあリンクしてexeを作りましょう、 というときに、リンカ(リンクを行うプログラム)は、 「そんな関数、実体がないぞ」 って文句を言ってこないのでしょうか。 いや、リンカは、dllに実体がある関数だということを知っているはず。 でもそれって、いちいち 「この関数はどこどこにある ○○.dll というdllに書いてあります」 というふうに、リンカに教えてあげなくてはいけないのでしょうか。 (それってまさか、ソースに書くわけじゃないですよね? ) それから、 exeファイルっていうのは「この機能はdllに行わせる機能だ」ということを知っているのでしょうか。 dllに行わせる機能だということを知っているとしても、 どのディレクトリにある なんと言う名のdllに その機能が書かれていることまで知っているのでしょうか。 (でもそこまで知っていたら逆に、ディレクトリ構成の違うマシンでは実行できなくなってしまうし。) そういうような原理的なことを教えてください。

  • ファイルが開けません(ファイル:Setup.dll)

    フォトショップ7をインストールしようとすると ●「注意:ファイルの種類 アプリケーション拡張を開こうとしています」と出ます。 ●そこで「プログラムから開く」をクリックすると ●Windows「このファイルを開けません。ファイルSetup.dll」 と出るので ●「Webサービスを利用して探す」にチェックを入れOKを押すと一般のSeach siteに入ってしまいます。 いったいどうすればファイルを開いてインストールすることが出来るのでしょうか。 ちなみにWindowsXPを使用しています。 よろしくお願いいたします。