6

Pythonを使用した侵入テストの世界では、一般的にOS固有のAPIに接続する必要があるようです。OSX、Linux、Windows間で異なるアーキテクチャとカーネルを扱っているので、これは私には理にかなっています。しかし、そうではないのだろうか?

OSモジュールから得られる制限された機能のいくつかを超えて、私の仮定では、OSのAPIへのフックは、たとえばWindowsよりも* POSIXフレーバー(おそらくより多くの共通点がある)に固有のものになると思います。

特に、WindowsでのDeviareについて考えています。.DLLファイルを扱います。それはほとんどWindowsです。DLLを聞いた瞬間、心はWindows Land、.plistOSXなどに行きます。

4

3 に答える 3

7

Hookingは、他のシステムがOS、GUIなどであるかどうかに関係なく、別のシステムが実行されているときに独自のコードを実行する方法です。Pythonのややばかげた例:

def Process(records, per_record_hook=None):
    "adds all records to XYZ system"
    XYZ = []
    for record in records:
        if per_record_hook:
            per_record_hook(record)
        XYZ.append(record)

def print_record(record):
    "print a '.' for each record (primitive counter)"
    print '.'

そして後で:

Process(records_from_somewhere, per_record_hook=print_record)
于 2012-07-26T17:22:15.580 に答える
2

http://en.wikipedia.org/wiki/Hooking

私はあなたがこの^種類のフックについて言及していると仮定するつもりですか?私はこの用語に完全に慣れていませんが、オペレーティングシステムとの対話を可能にするライブラリを探しているようですか?

もしそうなら、PyWin32(google it)のようなものを試すか、ここにあるテクニックのいくつかに従ってください: http ://www.rohitab.com/discuss/topic/37018-api-hooking-in-python/

繰り返しになりますが、それ(フレーズフック)をもっと... Python風の用語に入れることができればもっと役に立ちますが、これが役立つことを願っていますか?

于 2012-07-24T17:00:42.597 に答える
2

Pythonでは、このようなことは一般的に非常に些細なことなので、例を提供することすら困難です。はい、フックは一般的にコールバックです。Pythonでのコールバックは、関数を渡して呼び出すだけで実行されます。

于 2012-07-24T21:41:39.283 に答える