11
python-ptraceプロセスメモリエディタっぽいことをしよう 2016-02-06 python東海

python-ptraceでプロセスメモリエディタっぽいことをしよう

Embed Size (px)

Citation preview

Page 1: python-ptraceでプロセスメモリエディタっぽいことをしよう

python-ptraceでプロセスメモリエディタっぽいことをしよう

2016-02-06 python東海

Page 2: python-ptraceでプロセスメモリエディタっぽいことをしよう

自己紹介のようなもの● 安元 智司(27)● どこかの製造業でセキュリティっぽいことをやっ

ているとかいないとか● 致命的な音ゲーマー

● pythonは言語仕様的に好きだが最近は関数型言語?を勉強してみたい

Page 3: python-ptraceでプロセスメモリエディタっぽいことをしよう

python-ptraceとは

● ptrace システムコールは、主にブレークポイントによるデバッグやシステムコールのトレースを実装するのに用いられる。

● ・・・のpythonラッパー。

● セキュリティコンテストチャレンジブックで紹介されているltrace、straceの細かい制御ができる版みたいなイメージ

良書だと思います

Page 4: python-ptraceでプロセスメモリエディタっぽいことをしよう

何がしたいの?

● Windowsには「うさみみハリケーン」というプロセスメモリエディタ(GUI)がある。

● Linuxでもそういうツール探したが見つからなかった。

● python-ptraceでそれっぽいことを、しかもCUIでプログラマブルにできるのでは?

● 実用性は知らねぇ。やってみたかっただけだ。

gdb v7.0でも似たようたことできるらしい・・・?

Page 5: python-ptraceでプロセスメモリエディタっぽいことをしよう

インストール

● wget https://pypi.python.org/packages/source/p/python-ptrace/python-ptrace-0.8.1.tar.gz

● tar xvfz python-ptrace-0.8.1.tar.gz

● cd python-ptrace-0.8.1/

● sudo python setup.py install

● 終了

● ipythonはあったほうがいいと思います

● python2.7。python3には対応してなかった気が

● 関数の使い方のドキュメントが見つからない(関数の仕様はipythonで表示される引数から想像することになるんじゃないかと)

Page 6: python-ptraceでプロセスメモリエディタっぽいことをしよう

使う適当に触ってるだけなので深くツッコまないでください

適当な文字列を表示し続けるCプログラムの出力をメモリ改変で変更しようとしています

Page 7: python-ptraceでプロセスメモリエディタっぽいことをしよう

使う

Page 8: python-ptraceでプロセスメモリエディタっぽいことをしよう

実演プログラムのスタック改変

失敗したらごめんよ

Page 9: python-ptraceでプロセスメモリエディタっぽいことをしよう

ここから蛇足

Page 10: python-ptraceでプロセスメモリエディタっぽいことをしよう

最近pythonで困っていることps2コントローラがjstestで認識するのにpythonで押した状態を認識できないなんでや

Page 11: python-ptraceでプロセスメモリエディタっぽいことをしよう

最近pythonで困っていること

iPad用にiOS用python開発環境pythonista(1200円)を買った

Ap le��にお布施を払うことなくiOSアプリが作れそう(pythonista上でしか動かないが)

リソースのインポートとか開発環境どうしよう?

経験者いればお話求む