2012-04-01から1ヶ月間の記事一覧

Python3でリバースエンジニアリング その4

今回は3.2章。 32bitならraw_input()やprint文を変更するだけで大丈夫です。64bitの場合、スレッドIDは取得できるのですが、レジスタの値が取得できないので変更する必要があります。 それっぽい値は出力できるけど間違っていると思います。参考までに。 my_…

Python3でリバースエンジニアリング その3

今回は3.1章の後半。raw_input()をinput()へ変更する必要があります。print文の変更は省略します。 my_debugger.py ... def get_debug_event(self): ... if kernel32.WaitForDebugEvent(byref(debug_event), INFINITE): input("Press a key to continue...")…

Python3でリバースエンジニアリング その2

前回リバースエンジニアリング ―Pythonによるバイナリ解析技法の続きで、今回は3.1章の前半。 my_debugger.py ... def load(self, path_to_exe): ... if kernel32.CreateProcessA(path_to_exe.encode('utf-8'), None, None, None, None, creation_flags, Non…

リバースエンジニアリング ―Pythonによるバイナリ解析技法

『みんなのPython』をひと通り読み終えたので、一緒に借りてきた『リバースエンジニアリング ―Pythonによるバイナリ解析技法』を読んでいきます。 非常に面白い本なのですが、少し古くPython2.5を前提に書かれているので、Python3に対応させつつ読んでいくつ…

cx_Freezeでpython3.2を実行形式(.exe)にする

pythonスクリプトをexeにするには、cx_Freeze / py2exe / PyInstallerと方法がいろいろあります。今回はcx_Freezeを使う方法を試してみたいと思います。 環境はWindows 7 Home Premium(64bit)。Python、PySideのインストールは前回の記事を参考にして下さ…

Python+PySideでGUIプログラミング

PyQtではじめるGUIプログラミングが面白そうだったのでメモ。 OSはWindows 7 Home Premium(64bit)。インストールするPythonのバージョンは、現時点で最新の3.2.3にしました。 インストールするもの ・python-3.2.3.amd64.msi(Python本体) ・PySide-1.1.0…