在python中挂接API是否与操作系统无关?

2024-05-14 09:58:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用Python进行渗透测试的世界中,它看起来像 一般情况下,必须连接到特定于操作系统的API。这是有道理的 对我来说,因为我们处理的是 OSX、Linux、Windows。但我想知道是不是这样?

除了从操作系统模块中获得的一些有限的功能之外,我的假设是钩住操作系统的API通常是特定于*POSIX风格的(可能它们有更多的共同点),而不是在Windows中。

尤其是我在想窗户上的魔鬼。它处理.DLL文件。那几乎是窗户。 当我们听到动态链接库的时候,我们就会想到windows平台,.plist操作系统X等等。


Tags: 模块功能api风格linuxwindows世界情况
3条回答

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)

在Python中,像这样的事情通常非常简单,甚至很难提供示例。钩子通常是回调,是的。python中的回调只是通过传递函数并调用它们来完成的。

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

我想你指的是这种勾搭?我对这个术语完全不熟悉,但似乎您正在寻找一个允许与操作系统交互的库?

如果是的话,试试PyWin32(google it)之类的东西,或者遵循下面的一些技巧: http://www.rohitab.com/discuss/topic/37018-api-hooking-in-python/

再说一次,如果你能把它(hooking这个短语)放进更多……Python风格的术语中,会更有帮助,但我希望这能有帮助?

相关问题 更多 >

    热门问题