dポイントプレゼントキャンペーン実施中!

できるツール教えてください。
編集して書き換えないといけないのですが、頼まれた私は初心者ゆえ詳しくありません。
元となるファイルからデコンパイルしてPYCにしたのはいいのですが…

A 回答 (4件)

http://docs.python.jp/2/tutorial/
チュートリアルです。
一通りのことが書いてあります。

これを見れば、pycについて、ほとんど書いてないのがわかると思います。
編集するのはpyファイルで、中身はテキストファイルです。


pycについて書いてあるのは、次の箇所くらいです。
http://docs.python.jp/2/tutorial/modules.html#py …



補足にあった内容から、 py2exe を使用して作った実行ファイルだと思われます。
http://www.python.jp/Zope/Zope/articles/tips/py2 …
この目的は、Pythonのインストールされていない環境でも実行できるようにするものです。
編集すること、pyを公開することは考えていません。
そのため「py2exeはどのように動作するのか?」に書いてあるように、ソースコードは含めずに、コンパイル済みのpycのみを使います。

編集が目的なら、ソースコード毎一式貰うのが普通です。


pycだけ、ということには、次のような副次的な効果があります。(上記「6.2.2. “コンパイル” された Python ファイル」より)
> (略)ファイル spam.py のない spam.pyc (略)があってもかまいません。
> (略)リバースエンジニアリングがやや困難な形式で配布するために使えます。

その「宿題」が「Pythonの勉強」「機能の変更」なら、pycから、というのは無茶な話です。
その「宿題」が「リバースエンジニアリング」なら、pycからpyに戻す方法を探すのが第一でしょう。
# リバースエンジニアリングの是非は、主題ではないのでおいておきます。



ちなみに、pyd の実体は DLL です。C言語等で作られたプログラムをPythonで使うためのものです。
こちらは、逆コンパイルは無理だと言ってよいでしょう。
    • good
    • 0
この回答へのお礼

バイナリエディタで探さなくても、解凍しただけで取り出せましたが
例のPYCをPYに変換する事ができませんでした。
使用したツールは、Easy Python Decompilerです。
説明書に、
The decompiled file has an extension of
.pyc_dis or .pyo_dis as the case may be.

とあったので、.pyo_disを.pyに変更してもダメでした。
教えて頂いたLINKをじっくり勉強していき、色々分かりました。
また新たに何かあれば質問させて頂きたいと思います。

ありがとうございました。

お礼日時:2014/12/26 17:09

んーと、前にも言った通り私は Python については門外漢なのですが、書き換えてくれと頼まれたということは頼んだ相手がいるという事ですよね。

その方がソースファイルを持っているかソースファイルのありかを知っているのではないのですか?

そもそも、書き換えを頼んだ相手は書き換えをしたい理由を話されましたか? 契約の守秘義務に反しない範囲でその理由をお教えいただければ幸いです。
    • good
    • 0
この回答へのお礼

再度回答有難うございます。
Python以外の言語を扱っているのですね。

頼まれたというか、宿題みたいなものを出されたんです。
隠蔽という表現が怪しかったかもしれませんが、身内なので大丈夫です。

お礼日時:2014/12/26 00:10

pyc ソースファイルをコンパイルしたもの


pyo pycを「最適化」したもの

で、通常は「どちらも編集したり閲覧したりしません」

プログラムの修正は、ソースファイルである .py で行います。
pyを編集すれば、対応するpycやpyoは、勝手に作られるものです。
通常は、pycとpyoを削除しても、pyがあれば動作します(し、pycが勝手に作られることがあります)


ソースコードは付いてないのですか?

この回答への補足

隠蔽されている事が分かりました。
zip圧縮した上でexeファイルの末尾に結合されているようです。
バイナリエディタで探してみます。

補足日時:2014/12/25 21:18
    • good
    • 0
この回答へのお礼

そうだったのですね。

ソースコードとはどういったものですか?やる気はあるので教えてください。
このpycファイルは、********Srvというフォルダ直下にあります。
その他このフォルダ内には、いくつかのpyc pydファイルがありました。

お礼日時:2014/12/25 21:06

……?


全くの門外漢ながらぐぐって調べてみたのですが、.pyc って Python のソースファイル(.py)を(主にモジュールとして呼び出したり処理を高速化するために)コンパイルした結果ですよね。
何からデコンパイルして .pyc を生成したのでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

そうです。元はpyoファイルでした。

お礼日時:2014/12/25 09:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!