API中的API挂钩可以与操作系统无关吗?

inb*_*der 6 python python-3.x

在使用Python进行渗透测试的世界中,看起来人们通常必须使用特定于操作系统的API.这对我来说很有意义,因为我们正在处理OSX,Linux,Windows之间的不同架构和内核.但我想知道情况不是这样吗?

除了你从OS模块中获得的一些有限的功能之外,我的假设是,挂钩到操作系统的API通常会特定于*POSIX风格(可能它们有更多共同点)比例如在Windows中.

特别是我在Windows上想到Deviare.它处理.DLL文件.这几乎是Windows.在我们听到DLL的那一刻,心灵进入了Windows land,.plist OS X等等.

Eth*_*man 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 '.'
Run Code Online (Sandbox Code Playgroud)

然后:

Process(records_from_somewhere, per_record_hook=print_record)
Run Code Online (Sandbox Code Playgroud)