gpt4 book ai didi

python - 对 .pyd 文件进行逆向工程有多难?

转载 作者:太空狗 更新时间:2023-10-29 17:07:21 51 4
gpt4 key购买 nike

看完How do I protect Python code? ,我决定在 Windows 上尝试一个非常简单的扩展模块。之前在linux上编译过自己的扩展模块,在windows上编译还是第一次。我期待得到一个 .dll 文件,但我得到的是一个 .pyd 文件。 Docs说它们有点相同,但它必须有一个 init[insert-module-name]() 函数。

可以肯定地说,对它们进行逆向工程与对 dll 文件进行逆向工程一样困难。如果不是,从 .pyc 文件到 .dll 文件的逆向工程难度有多大?

最佳答案

如您所知,它们相当于具有特定结构的 DLL 文件。原则上,它们同样难以逆向工程,它们是机器代码,需要很少的元数据,并且代码可能已经优化得面目全非。

但是,所需的结构,以及知道许多函数将处理 PyObject * 和其他定义明确的 CPython 类型,可能会产生一些影响。它不会真正帮助将汇编代码映射到 C(如果有的话,由于特定于 CPython 的宏,它会变得更难)。主要与 Python 类型交互的代码看起来与操作 C 结构的代码(并且相对臃肿)大不相同。这可能会使它更难理解,或者它可能会泄露一些没有任何意义的代码,并允许逆向工程师跳过它并更早地获取您的商业 secret 。

这些问题都不适用于纯 C 代码(即不与 Python 交互)的代码片段。你可能有很多这样的人。所以最终应该不会产生显着差异。

关于python - 对 .pyd 文件进行逆向工程有多难?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12075042/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com