Beauty Salon α-BET (alphabet)

space001
Blender3d Collada dae modeling Use Papervision3d on Progression3 and 4 http://a-bet.secret.jp/#/access
more whaison works.
whaison space
space002
http://whaison.jugem.jp/ https://jp.pinterest.com/whaison/ https://www.instagram.com/whaison/ https://whaison.amebaownd.com/
https://suzuri.jp/whaison
http://whaison.blogspot.com/
http://whaison.tumblr.com/ http://qiita.com/users/whaison http://www.behance.net/whaison https://github.com/whaison/ https://bitbucket.org/whaison http://serato.com/user/whaison http://whaison.hatenablog.jp/

typo memo
http://d.hatena.ne.jp/whaison/


dayNote
http://www.myspace.com/whaison http://ameblo.jp/whaison/ http://blog.crooz.jp/whaison/ http://blog.crooz.jp/whaisoncafe/ http://nenpyo.org/whaison

fulldisk
http://full.shin-gen.jp/
http://whaison.client.jp/
http://www.dclog.jp/whaison/
featured forums.
space004
forum.unity3d.com/

forums.unrealengine.com.

Progression Forum.

FlashDevelop Forum.

Papervision3D Forum.

FlexUserGroup Forum.

SparkProjectForum.





Twitter







Mobile
qrcode
Calendar
SunMonTueWedThuFriSat
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>
New Entries
Archives
Categories
Recent comment
  • FlashDevelopでフォント埋め込み
    感謝!! (12/24)
  • cocos2d-x-3.0rc0 ,c++ ,cpp でTexturePacker で 吐き出した、plist と png でパラパラアニメーションのコード例
    whaison (04/17)
  • Blender2.67にbvh(web上に2500個以上ころがってる)入れてそのBoneオブジェクトをUnity4.0のmecanimで使う
    whaison (08/19)
  • Apple Dev Center 「Certificates, Identifiers & Profiles」で Adhoc をつくってXCode4.6.1でArchiveしてipaを書き出し
    whaison (04/30)
  • Flash CS6でプロパティーパネルで物理演算のジャンプの高さを設定できるCitrus Engine
    whaison (03/01)
  • 「Flash以外、例えばKinectとか」ON TOKYO (会場:高田馬場4-11-8 Floor 6階 ) 短縮URL http://bit.ly/dI0Bfx
    uka (03/02)
  • App Store Review Guidelines アップル社のアプリ審査基準ガイドライン和訳 Apple が 開発者を悩ませ ユーザーをハッピーにしたいガイドライン。w
    whaison (01/25)
  • Unity3d では ADOBE JAPAN OSAKIで行われたFITC 2010 TOKYOでは、 「iOS用にパブリッシュするためには、フリー版ではなくて、有料版を買ってください。さらに追加のパッケージである、"iOS Package (for Development)"を買ってください」とのことだった。
    whaison (01/25)
  • enjoy Adidas-Futsal-Park
    whaison (01/16)
  • MacBookAir にFlashPlayer入れたらなった。Mac Flash Player 10.1/10.2でUstream などでカメラが認識されないバグそんなときはUstreamProducer!でもなくiPhoneだと直ぐにライブ配信できた
    whaison (01/14)
simple sintax high lighter2.0
space003
SyntaxHighlighter2.0用 の貼り付けコード作成する!
ブログパーツ-BLOG PARTS.
Profile
Links
Recommend
Admin
無料ブログ作成サービス JUGEM
Seach this site
            
2017.02.07 Tuesday
Decompiling Python programs の 日本語 訳

Decompiling Python programs Sapper's Blog

http://sappersblog.blogspot.jp/2014/06/decompiling-python-programs.html

の 日本語 訳

 

EditWadプログラム

[http://www.trsearch.org/Tools/25/]

はPython 2.5で書かれており、

py2exe を使用して* .exeファイルにパックされている。

 

py2exe [http://www.py2exe.org ]。

 


Pythonプログラムを* .exeファイルにまとめると、エンドユーザーはプログラムを実行するためにPCにPythonをインストールする必要はありません。

 

Pythonプログラムはマシンコードではなくバイトコードにコンパイルされるので、FreePascalプログラムやC ++プログラムのようなマシンコードにコンパイルされたプログラムよりPythonプログラムを簡単に逆コンパイルする方が簡単です。
 

Decompiling + Py2Exeのインターネット検索は、Stackoverflowでこのスレッドに私を導いた。[http://stackoverflow.com/questions/6287918/how-to-decompile-an-exe-file-compiled-by-py2exe

 

私はエクストリームコーダー」の記事で述べた二つのプログラムをダウンロードしました。私はどちらかを実行するためにPythonが必要とは思わない。

 

私はエクストリームコーダー」の記事で述べた二つのプログラムをダウンロードしました。

私はどちらかを実行するためにPythonが必要とは思わない。

 

  • Py2ExeDumper [link]
  • Easy Python Decompiler [link]

 

 

 

I installed Python [www.python.org/] on my PC so I could:

 

  1. デコンパイルされたPythonプログラムを実行し、
  2. Py2ExeDumper "INFO.txt"ファイルで提案されているPythonスクリプトを実行して、プログラムのバイトコードを抽出します。

 

私はそれがバージョン2.5と後方互換性のあるPythonの最後のバージョンであるので、バージョン2.7をインストールしました。

 

私は2つのファイルエクスプローラウィンドウを開きました。EditWadフォルダの一つとするための1 
Py2ExeDumperフォルダは、その後、「Py2ExeDumper.exe "に" EditWad.exe」をドラッグし 、コマンドプロンプトウィンドウがメッセージで簡単に表示され、「PYTHONSCRIPT」と呼ばれるファイルは、EditWadフォルダに作成されている必要があります。 "INFO.txt"ファイルには、 "PYTHONSCRIPT"ファイルからプログラムを抽出するための次のPythonスクリプトが含まれています。

 

 

 

 

 

 

 

 

 

import marshal, imp

 

f=open('PYTHONSCRIPT','rb')

f.seek(17# Skip the header, you have to know the header size beforehand

 

ob=marshal.load(f)

 

for i in range(0,len(ob)):

    open(str(i)+'.pyc','wb').write(imp.get_magic() + '¥0'*4 + marshal.dumps(ob[i]))

 

f.close()

 

EditWadのフォルダを見ると、 "library.zip"という名前のファイルが表示されます。このファイルはpy2exeによって作成されました。

"INFO.txt"のPythonスクリプトは、 "library.zip"が* .exeファイルにパックされていることを前提としています。

この場合、 "library.zip"は別のものなので、 "INFO.txt"の情報を使って、次のようにPythonスクリプトを変更しなければなりませんでした。
 

import marshal, imp

 

f=open('PYTHONSCRIPT','rb')

f.seek(28# Skip the header, Header size is 28 = 17+11 bytes for characters, l i b r a r y . z i p

 

ob=marshal.load(f)

 

for i in range(0,len(ob)):

    open(str(i)+'.pyc','wb').write(imp.get_magic() + '¥0'*4 + marshal.dumps(ob[i]))

 

f.close()

 

私はEditWadのフォルダにテキスト文書を作成し、スクリプトを貼り付けて* .py拡張子のテキスト文書を保存しました。

* .pyファイルをインストールしたときに* .pyファイルを関連付けるので、

Pythonスクリプトを実行するために必要なことは、

そのファイルをダブルクリックすることだけです。 

コマンドプロンプトウィンドウが短く表示され、

"0.pyc"と "1.pyc"の2つのファイルがEditWadのフォルダに作成されます。 

* .pycファイルはPythonバイトコードファイルです。

 

 * .exeからEditWad用のPythonバイトコードを抽出したので、

 

バイトコードをPythonソースコードに逆コンパイルする必要があります。 

 

Easy Python Decompilerを実行し、

「Decompile a File」をクリックし、

「1.pyc」を開きます。 

私は、「1.pyc」は104kBなのでEditWadプログラムだと思いました。

 簡単なPython Decompilerは、

 

EditWadフォルダに "1.pyc_dis"という名前のファイルを作成します。 

 

逆コンパイルが失敗すると、接尾辞 "_fail"のファイルが表示されることがあります。

 

 "1.pyc_dis"は、Pythonの逆アセンブルされたソースコードなので、

 

拡張子が* .pyのファイル名を変更して実行します。 

 

私は「editwad.py」としてファイルの名前を変更し、

 

オープンし、PortablePython 1.0 [とともにパッケージSciTEのエディタでそれを実行するリンク ]。

 

このバージョンのPortable Pythonは、Pythonバージョン2.5を使用しています。 

 

プログラムにはいくつかの構文エラーがありますが、

 

幸いにも例外キャッチの構文が誤っていることが原因です。

 

私がエラーを修正するためにしたのは、

最初のエラー(上のスクリーンショットに示されている)の「as」という単語を削除し、

他のすべてに対しては「as」という単語をカンマで置き換えるというものでした。 

 

EditWadがMetasequoia * .mqoファイルをインポートする前に、MQOParserモジュールを

 

"editwad.py"と同じフォルダにコピーする必要があります。 "library.zip"を解凍すると、 "MQOParser.pyc"というファイルが見つかります。* .mqoファイルからデータを抽出するためのPythonプログラムです。

 

 "MQOParser.pyc"をEditWadフォルダにコピーします。 "editwad.py"を実行するために "MQOParser.pyc"を逆コンパイルする必要はありませんが、ソースコードを勉強したい場合はEasy Python Decompilerで逆コンパイルする必要はありません。

 

 これで、Pythonを学び、プログラムに機能を追加したり、貧弱なコードを修正することができます。 py2exeは、TRWエディタとMeshTree EditorのPython 2.5プログラムを* .exeファイルにパックするためにも使用されました。

 

どちらの場合も、 "library.zip"は* .exeにパックされませんでした。

 

 TRWエディタとMeshTreeエディタはwxPythonパッケージを使用してソースコードからそれらを実行するために、適切なバージョンのwxPythonをPythonインストールに追加する必要があります。

 

 私はEditWadのprogressbarClassクラスが私によって書かれていないことを指摘したいと思います

 

作者のコメントは削除されていなければなりませんが、ここではバージョン1.3のソースコードからのものです。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| whaison | Python | 22:31 | comments(0) | - | pookmark |
Comment




whaisonStudyNoteBook をFaceBookで いいね!





Share |