- ベストアンサー
ソフトを構成しているプログラムを読み取りたいのです
ウインドウズなどで動くプログラムを作ってみたいのですが、 どう作れば良いのか分からず、 とりあえず巷にあるフリーソフトなどのプログラムを開いて見て勉強してみたいと思っています。 プログラムなんて、テキストで書いているのだろうと思うのですが、 フリーソフトの内容を詳しく見るには、どうしたら良いですか? 何か、ソフトを持っていたら見れますか? 例えば、Microsoft Visual Studioとか。
- みんなの回答 (17)
- 専門家の回答
質問者が選んだベストアンサー
リーバースエンジニアリングすることで、実行形式のプログラムを元のソースコードに戻す事は可能ですが「利用規約」で禁止されている場合がありますので、注意が必要です。 ソースコードを見てみたいのであれば GitHub などで公開されている。オープンソースのプログラムを見てみるといいんじゃないでしょうか。
- 参考URL:
- https://github.com/
その他の回答 (16)
- hiodraiu
- ベストアンサー率15% (451/2846)
最初の目的である「プログラムを作ってみたい」ってところと、その方法である「プログラムを開いてみて勉強する」が一致しません。 他の回答にもあるように、ソフトウェアをリバースエンジニアで、ソースコードを作成することは出来ます。しかし、このソースコードはソフトウェアの開発者が作成したソースコードとは似ても似つかないものです。何故似ても似つかないのかは割愛しますが、そんなソースコードを見たところで勉強にはなりません。 もっと簡単な方法で、ソースコードを入手する方法があります。世の中にはオープンソースのソフトウェアと呼ばれるものがあり、それらはソースコードが公開されていて、ダウンロード可能なものが沢山あります。
お礼
まずスポーツをやってみたい、と思い立ったとします。 その場合、私はまず形から入ります。 服を買って、ラケットを買って、シューズ買って、一通りの恰好を付けて、 次は好きな選手のDVDでも買ってポーズを真似ます。 筋トレなんてしません。 それと同じで、プログラムを作りたい、と思い立って、 で、まず思いついたのが、誰かの作ったプログラムの真似をしてみよう、という事。 そこで、どうやったら良いのかしら?と考えても分からず質問した次第でした。 回答、ありがとうございました。
- IDii24
- ベストアンサー率24% (1597/6506)
まず理解をする事だと思います。コンピューターはどのように動いているのかです。マシン語という機械が理解できるバイナリでなければコンピュータは動かないわけで、それはコンピュータが人の言葉が理解できないからですよね。理解できるように今苦労してAIの開発をしていますが、まあそれは当分先の話。しばらくは人間がお世話しなきゃいけないわけです。将来はAIがプログラムも書くかもしれませんが、Aiの元は人間が作るので。 つまりおっしゃっている事はこのレベルくらい大変なことをさらっと言っていると思ってください。 プログラム言語という人間の言葉に近いものがあります。まずはそれで書かれたコードを理解する事が大事。高級言語になるほど人間の言葉に近く、機械の言葉から遠くなります。 つまり1+1という単純な言葉を機械に訳せば、レジスタに1を入れて、その結果をプールして取りし、どの文字コードで表示。見たいな処理を細かく指定する必要があります。 そこを自動で機械の信号に書いてくれるのがコンパイラです。コンパイラも先人が書いたものが積み重なってできたものです。要するにPCの中身を見れば信号数値の羅列でなーんにもわからないってことになります。 つまりはフリーのソフトではなく、オープンソースと言われるその言語公開しているものをダウンロードしてしかるべき方法で見るという事。それを編集後コンパイルしてPCなどで動かす。この処理がプログラミングなのです。 高級言語はいろいろなのでVSであればVBとかC#とかですが、今主流は複数の言語を目的別に混在させるような作業が普通で、複数言語を覚える必要があるでしょう。流行りはRとかPython、それにJavaScriptなどを混在させることです。 とうぜんC#はマイクロソフトが標準にしているので大事です。ただWIN自体はC++が殆どのようですが。 まあ今の知識ならあまり手を広げてもわからないと思います。簡単なVBからと誰でも言うでしょう。
お礼
もう20年も前にプログラムについて勉強した事があります。 その頃は、コボルだとかフォートランとかいうのが主流で。 今は、いろいろな物が混ざった複雑なものになっているのですね。 それでは、素人が見ても分析して勉強するという訳にはいきそうにないですね。 回答、ありがとうございました。
- OKWavex
- ベストアンサー率22% (1222/5383)
>プログラムなんて、テキストで書いているのだろうと思うのですが コーディング時のソースはテキストでも実行ファイルはバイナリ化されていますから 処理内容は簡単には追えません ソースファイルが公開されているフリーソフトも存在しますが、こんなことを言っている人が既成のプログラムソースを見たところで理解できるとは思えませんので、入門書でも購入して勉強することです
お礼
そうでしたか、例え見れるようになっていても、 素人は追えないという事ですね。 回答、ありがとうございました。
- Nouble
- ベストアンサー率18% (330/1783)
追記 機械が、理解できる ものを 人が、読める ものに 戻す、事を クロスコンパイル と、言い 版権の、関連で 忌み、嫌われる 行為、です しかし、中には 第三者が、読み 改善する 其の、ために オープンソースとして テキスト形式の、原文を 公開 されて、いる方も 居られ、ます 読めない、ものを 読める、ように 能動的に 変換、するのは ほぼ アウト、です オープンソースな、ものを 探して、ください
お礼
詩を読んでいる気分です。 ほっこりしました。 回答、ありがとうございました。
- Nouble
- ベストアンサー率18% (330/1783)
其れは 著作権に 抵触する、事 其の、方が 圧倒的に 多い、行為に 当たり、ます 控えられた、方が 宜しい、かと 思われます 此の、様な 事しか、言えず 申し訳、ありません
お礼
なぜにカタコト?w 回答、ありがとうございました。
- catpow
- ベストアンサー率24% (620/2527)
>>プログラムなんて、テキストで書いているのだろうと思うのですが、 フリーソフトの内容を詳しく見るには、どうしたら良いですか? プログラムのソースはテキストで書かれていますが、実行形式のファイルは、機械語や中間コードに変換されていることが多いです。 例えれば暗号化されているようなものですね。 >>何か、ソフトを持っていたら見れますか? 機械語、あるいは中間コードになった暗号のようなものは、ソフト使えば見ることが可能です。 もちろん内容なんて、見ても分からないでしょう。
お礼
そうでしたか、 暗号化みたいな事が起きているのですね。 それでは見ても分からないですね。 回答、ありがとうございました。
- 1
- 2
お礼
へー、世の中には公開されているプログラムがあるのかぁ・・・ そりゃそうですよね、アンドロイドだって最初は「みんなで作りましょう」というところからスタートしてたような。 今は、どのようになっているか知りませんけど。 回答、ありがとうございました。