温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么进行pyd和py优先级问题的分析

发布时间:2021-12-04 10:01:25 来源:亿速云 阅读:192 作者:柒染 栏目:网络管理

怎么进行pyd和py优先级问题的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

简介

Cython的出现使得Python代码更加安全和快速。大多数人对于Cython的了解在于用来保护Python代码库,它的确让Python代码的安全性得到提升,目前得到的pyd文件只能反汇编,并且优先级会高于py文件。如果利用它的特性结合供应链攻击,也许会带来安全隐患。

优先级问题

当相同文件名的pyd和py文件在同级目录之中,将会优先执行pyd文件。pyd文件通常因难以阅读、研发缺少反汇编技能,导致少被关注。下面进行测试:

咱们新建文件tmp_debug.py,将其编译为pyd文件。

#!/usr/bin/python
# -*- coding: utf-8 -*-
def test():
    print("恶意逻辑测试。")
    print("输出测试。")
if __name__ == "__main__":
    test()

再将其中的部分代码删除。得到tmp_debug.py如下代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
def test():
    print("输出测试。")
if __name__ == "__main__":
    test()

将其pyd文件与py文件放在同级目录之中。通过如下代码执行调用:

import tmp_debug
tmp_debug.test()

得到结果:

恶意逻辑测试。
输出测试。

如果你使用PyCharm,按住Ctrl用鼠标左键点击tmp_debug.test()方法,则会跳转到py文件代码,pyd将会被忽略。如果被用于供应链攻击后果可想而知。

修复办法

1、如果条件允许最好能够重新编译PYD文件。

2、对比官方模块的校验。

看完上述内容,你们掌握怎么进行pyd和py优先级问题的分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

py
AI