セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

DebugActiveProcess エラー 50 ERROR_NOT_SUPPORTED ~リバースエンジニアリング Pythonによるバイナリ解析技法

//

リバースエンジニアリング Pythonによるバイナリ解析技法,
プロセスのPIDからデバッグのためにアタッチを試みる部分でのエラーが起きました。3章の部分です。

原因はPython2が32bitであること?

本を初めから細かく読んで進めていたあなた。私と同じです!おそらく、1章にあった注意書きそのまんま、Immunity Debuggerのインストーラについて来たPythonインストーラで、Pythonを導入しませんでしたか?私はそんな覚えがあります笑
おそらく、このインストーラPythonが32bitです。そして、おそらく現時点(2018年)でこの本を読んでいる方は、64bitのWindowsとアプリケーションをしようしているはずです。




64bitのアプリケーションのデバッグは、Pythonも64bitではないと上手くできないそうです!!



ちなみに、エラーコードを吐き出させるには以下のようにすればOK. これをifの条件以降の通りそうな部分に記載してください。(同じ本を読んでいる方なら、新たな宣言とかは不要なはず)

print "[*] Unable to attach to the process %s" % FormatError(kernel32.GetLastError())

そして、この本の翻訳前の本(多分)のページでも似たようなことが取り上げられています。
Gray Hat Python (error 50 on 64 bit) | Word Gems


解決法

試しに、CmdでPython -vを叩いてみてください。バージョンが書かれているあたりに一緒に32bitと記載はありませんか?
なので、64bit版のPython2をもう一度インストールしましょう。そのあと、eclipsePythonインタプリタの設定も忘れずに。


その他

もし治らなかったら、以下のリンクを参照。僕はこのリンクを詳しく見る前に、解決したのでわかりませんが、構造体の再定義がどうのこうのって言っているので、、もしかしたら、、?

Windows - PythonとWindowsAPI(104853)|teratail







今回の本はこちらのものです。多少古いので、もっといい本があるかも、、です。