• ベストアンサー

ソフトを構成しているプログラムを読み取りたいのです

ウインドウズなどで動くプログラムを作ってみたいのですが、 どう作れば良いのか分からず、 とりあえず巷にあるフリーソフトなどのプログラムを開いて見て勉強してみたいと思っています。 プログラムなんて、テキストで書いているのだろうと思うのですが、 フリーソフトの内容を詳しく見るには、どうしたら良いですか? 何か、ソフトを持っていたら見れますか? 例えば、Microsoft Visual Studioとか。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5087/13301)
回答No.4

リーバースエンジニアリングすることで、実行形式のプログラムを元のソースコードに戻す事は可能ですが「利用規約」で禁止されている場合がありますので、注意が必要です。 ソースコードを見てみたいのであれば GitHub などで公開されている。オープンソースのプログラムを見てみるといいんじゃないでしょうか。

参考URL:
https://github.com/
ebiharu
質問者

お礼

へー、世の中には公開されているプログラムがあるのかぁ・・・ そりゃそうですよね、アンドロイドだって最初は「みんなで作りましょう」というところからスタートしてたような。 今は、どのようになっているか知りませんけど。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (16)

  • hiodraiu
  • ベストアンサー率15% (448/2824)
回答No.7

最初の目的である「プログラムを作ってみたい」ってところと、その方法である「プログラムを開いてみて勉強する」が一致しません。 他の回答にもあるように、ソフトウェアをリバースエンジニアで、ソースコードを作成することは出来ます。しかし、このソースコードはソフトウェアの開発者が作成したソースコードとは似ても似つかないものです。何故似ても似つかないのかは割愛しますが、そんなソースコードを見たところで勉強にはなりません。 もっと簡単な方法で、ソースコードを入手する方法があります。世の中にはオープンソースのソフトウェアと呼ばれるものがあり、それらはソースコードが公開されていて、ダウンロード可能なものが沢山あります。

ebiharu
質問者

お礼

まずスポーツをやってみたい、と思い立ったとします。 その場合、私はまず形から入ります。 服を買って、ラケットを買って、シューズ買って、一通りの恰好を付けて、 次は好きな選手のDVDでも買ってポーズを真似ます。 筋トレなんてしません。 それと同じで、プログラムを作りたい、と思い立って、 で、まず思いついたのが、誰かの作ったプログラムの真似をしてみよう、という事。 そこで、どうやったら良いのかしら?と考えても分からず質問した次第でした。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.6

まず理解をする事だと思います。コンピューターはどのように動いているのかです。マシン語という機械が理解できるバイナリでなければコンピュータは動かないわけで、それはコンピュータが人の言葉が理解できないからですよね。理解できるように今苦労してAIの開発をしていますが、まあそれは当分先の話。しばらくは人間がお世話しなきゃいけないわけです。将来はAIがプログラムも書くかもしれませんが、Aiの元は人間が作るので。 つまりおっしゃっている事はこのレベルくらい大変なことをさらっと言っていると思ってください。 プログラム言語という人間の言葉に近いものがあります。まずはそれで書かれたコードを理解する事が大事。高級言語になるほど人間の言葉に近く、機械の言葉から遠くなります。 つまり1+1という単純な言葉を機械に訳せば、レジスタに1を入れて、その結果をプールして取りし、どの文字コードで表示。見たいな処理を細かく指定する必要があります。 そこを自動で機械の信号に書いてくれるのがコンパイラです。コンパイラも先人が書いたものが積み重なってできたものです。要するにPCの中身を見れば信号数値の羅列でなーんにもわからないってことになります。 つまりはフリーのソフトではなく、オープンソースと言われるその言語公開しているものをダウンロードしてしかるべき方法で見るという事。それを編集後コンパイルしてPCなどで動かす。この処理がプログラミングなのです。 高級言語はいろいろなのでVSであればVBとかC#とかですが、今主流は複数の言語を目的別に混在させるような作業が普通で、複数言語を覚える必要があるでしょう。流行りはRとかPython、それにJavaScriptなどを混在させることです。 とうぜんC#はマイクロソフトが標準にしているので大事です。ただWIN自体はC++が殆どのようですが。 まあ今の知識ならあまり手を広げてもわからないと思います。簡単なVBからと誰でも言うでしょう。

ebiharu
質問者

お礼

もう20年も前にプログラムについて勉強した事があります。 その頃は、コボルだとかフォートランとかいうのが主流で。 今は、いろいろな物が混ざった複雑なものになっているのですね。 それでは、素人が見ても分析して勉強するという訳にはいきそうにないですね。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.5

>プログラムなんて、テキストで書いているのだろうと思うのですが コーディング時のソースはテキストでも実行ファイルはバイナリ化されていますから 処理内容は簡単には追えません ソースファイルが公開されているフリーソフトも存在しますが、こんなことを言っている人が既成のプログラムソースを見たところで理解できるとは思えませんので、入門書でも購入して勉強することです

ebiharu
質問者

お礼

そうでしたか、例え見れるようになっていても、 素人は追えないという事ですね。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

追記 機械が、理解できる ものを 人が、読める ものに 戻す、事を クロスコンパイル と、言い 版権の、関連で 忌み、嫌われる 行為、です しかし、中には 第三者が、読み 改善する 其の、ために オープンソースとして テキスト形式の、原文を 公開 されて、いる方も 居られ、ます 読めない、ものを 読める、ように 能動的に 変換、するのは ほぼ アウト、です オープンソースな、ものを 探して、ください

ebiharu
質問者

お礼

詩を読んでいる気分です。 ほっこりしました。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

其れは 著作権に 抵触する、事 其の、方が 圧倒的に 多い、行為に 当たり、ます 控えられた、方が 宜しい、かと 思われます 此の、様な 事しか、言えず 申し訳、ありません

ebiharu
質問者

お礼

なぜにカタコト?w 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • catpow
  • ベストアンサー率24% (620/2527)
回答No.1

>>プログラムなんて、テキストで書いているのだろうと思うのですが、 フリーソフトの内容を詳しく見るには、どうしたら良いですか? プログラムのソースはテキストで書かれていますが、実行形式のファイルは、機械語や中間コードに変換されていることが多いです。 例えれば暗号化されているようなものですね。 >>何か、ソフトを持っていたら見れますか? 機械語、あるいは中間コードになった暗号のようなものは、ソフト使えば見ることが可能です。 もちろん内容なんて、見ても分からないでしょう。

ebiharu
質問者

お礼

そうでしたか、 暗号化みたいな事が起きているのですね。 それでは見ても分からないですね。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Visual Studio 2005?とはどういうソフトですか?

    【Visual Studio 2005】 と 【Visual Studio 2005 Express Edition】 という、Microsoftから出ているASPは、簡単に説明するとどういうものなのでしょうか? プログラムやITに疎い自分としては、Microsoftや窓の杜の説明を読んでも、単語、単語が分からず、いまいち理解ができません。 というのも、そのソフトを使って、どういうことができるのか、想像ができないというのもあります。 これらのソフトが無償ダウンロードが始まったのをきっかけに、プログラムを始めてみたいと思い、まずはそのソフトで何ができるのかを知りたく、投稿させて頂きました。 宜しくお願いします。

  • インストールしてあるプログラムについて

    初心者です ウィンドウズxp SP2からSP3に更新しました。 プログラムの変更と削除を見てみると  Microsoft Visual C++2005 ALT Update kb973923-x86 8.0.50727.4053 Microsoft Visual C++2005 Redistributable Microsoft Visual C++2008 ALT Update kb973924-x86 9.0.30729.4148 Microsoft Visual C++2008 Redistributable x86 9.0.30729 と ありますが Microsoft Visual C++2005 の2つを削除しても良いのでしょうか? 同じように ウィンドウズ7のプログラムも同じようなのがあります。 併せて 教えていただきますと嬉しいです。

  • 大学でプログラムを作っているのですが、家でも作りたいのですがやり方が、、、

    今年の春、情報工学科の大学に入学しました。 学校でプログラムを作る授業があり、ヴィジュアルスタジオというものを使ってプログラムを作り実行しています。 ですが私はパソコン初心者で、その授業があまり理解できていない状態です。。 ですので、自宅でもプログラムの勉強をしたいのですが、家のノートパソコンにはそのヴィジュアルスタジオがなく、プログラムが作れません。  無料で、プログラムを作って実行できる環境にすることは可能なのでしょうか? ヴィジュアルスタジオのような無料でダウンロードできるソフトがあったら是非教えていただきたいので、よろしくお願いします。

  • 64ビット コマンドライン Cプログラミング

    私の環境は以下のとおりです CPU x6800 メモリ 8GB Vista 64 sp1 Visual studio 2005 やりたいことは、コマンドプロンプト[ > ] で 大きな配列 char dem[1000][1000][2000] を使うCプログラムを作成し使用すること。 質問したいことは、 コマンドラインの環境設定(PATH: bin lib include) コンパイラ リンカ の/オプション はどのように設定したらよいのでしょうか。 現状は work.c のコンパイル+リンク で work.exe はエラーなく成功するのですが 実行すると、{ work.exeは有効な win32 アプリケーションではありません。} というエラーが出て実行できません。 配列の要素を2000->1000にすればもちろんエラーは出ません。 なおこのときのコマンドプロンプトは  Visual Studio 2005 x64 Win64 コマンド プロンプト PATH は次のようになっています。 PATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\amd64;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin\win64\amd64;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin;  C:\Windows\Microsoft.NET\Framework64\v2.0.50727;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCPackages;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\bin;  C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin;  C:\Windows\system32;C:\Windows;  C:\Windows\System32\Wbem;  C:\Windows\System32\WindowsPowerShell\v1.0\ 先達のご教示をお願いいたします。

  • スタートの全てのプログラムでVBとc++が少し違う

    ・Microsoft Visual Basic 2008 Express Edition ・Microsoft Visual C++ 2008 Express Edition の2つをインストールしました。 しかしスタートの全てのプログラムを見ると C++ の方はフォルダにはいっていて、 VBの方はそのまま(裸のまま)プログラム一覧に表示されています。 Visual C++ の方はフォルダの中身は ・Microsoft Visual C++ 2008 Express Editionのアプリケーションと ・Visual Studio Toolsフォルダです。 Visual Studio Toolsの中には Visual Studio 2008 コマンド プロンプト が入っています。 これは標準の配置ですか? もしかしたら私が知らぬ間にいじったのか気になります。 OSはvistaです。 よろしくお願いします。

  • Visual Studioで作られたプログラムを読みたいです

    都合により、他人がVisual Studioで作ったC++のプログラムを理解しなければならなくなりました。 C言語はごく一般的な内容ならば理解できますし、C++もある程度はわかるのですが、どうもVisual Studio特有の作成、記述方法?のようなものにはまってしまい、まったく進まないのが現状です。 どなたか、Visual Studioで作られたプログラムの総合的な解説を行っているサイトなどを紹介していただけないでしょうか?できれば初心者向けの内容でお願いいたします。

  • VB2010 で作るったプログラムが動くOSは?

    Microsoft Visual Studio 2010 の Visual Basic でプログラムを作ろうとしています。 出来上がったプログラムが動くOSのバージョンを知りたいのですが、ご存じの方はおられませんか?Windows 98 / 2000 / XP / Vista / 7 のどのOS上なら標準で動作するでしょうか。 また .net framework のどのバージョンをインストールすれば動くのかといった条件も知りたいのです。よろしくお願いします。

  • visual studioのC言語とフリーソフトのC言語ツールの違い

    前にvisual studioでC言語の勉強を行っており、再び始めようかと思っているものです。 少し疑問に思ったのですが、visual studioのC言語とC言語のフリーソフトの違いは何でしょうか?

  • Windowsプログラム??

    最近、Visual Studio 2005を導入したので、 Windows APIというのを使ったプログラムを作っていきたいと 考えているんですが、 たとえば、フリーの圧縮ソフトや、描画ソフトを作っていきたい時っていうのは、 http://www.kumei.ne.jp/c_lang/ このサイトのSDK編というのを読んでいけばいいんですかね? SDKの意味もよくわからないのですが、 とりあえず、自分がしたいのは、GUI型式のソフトを作りたいです。 上のサイト以外でなにか良いサイトを知ってる方は教えていただけますか? よろしくお願いします。

  • visual studio と developer studio の違い

    fortran90 のプログラムをコンパイル+実行したいのですが、 Microsoft developer studio というソフトの使い方がいまいち分かりません。 そこでyahooでMicrosoft developer studio で検索したところ、Microsoft visual studio というものがヒットしました。 見てみると両方とも無限大?みたいなマークで似ているのですが、何が違うのですか?教えてください。 また、Microsoft developer studio の使い方で良いページがあれば、教えていただけると嬉しいです。 コンパイルしたいfortran90のプログラムはモジュールを用いています。

専門家に質問してみよう