首页
学习
活动
专区
圈层
工具
发布

.pth 奇技淫巧 —— Python 调用时机最早的 hook

.pth 有个饱受争议的点,就是它允许执行任意代码(参考 site 文档).pth 是干嘛的.pth 文件是一类文本文件,如果放在 site-packages 目录下,python 解释器在启动阶段,会读取并解释其内容...pth的内容很简单,一行行的,每行只能是以下三者之一:一个路径,这个路径会被添加到 sys.path 中。 有一定 python 经验的人应该都了解过 sys.path 是什么。...今天我写了一个超小的库:CNSeniorious000/dotenv.pth: load .env when python starts - GitHub当你安装了这个库,每次你任何方式启动 python...python 执行 .pth 是按字典序执行的,所以如果你的 .pth 文件以 _ 开头,就很可能没法 import 一个在虚拟环境中安装了的包,因为这时候虚拟环境可以说还没别“激活”—— 激活虚拟环境的...debug 终于发现是这个原有的时候还挺搞笑的 总结一下我认为 .pth 是个很 Pythonic 的特性,很鲜明地展现了 Python 的个性 —— 极高的自定义性。

26800
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pytorch 中pkl和pth的区别?

    假设我有一个训练好的模型名叫net1,则:torch.save(net1, ‘7-net.pth’) # 保存整个神经网络的结构和模型参数torch.save(net1, ‘7-net.pkl’) #...’) # 同上如果你是使用torch.save方法来进行模型参数的保存,那保存文件的后缀其实没有任何影响,结果都是一样的,很多.pkl的文件也是用torch.save保存下来的,和.pth文件一模一样的...------------------------------------------------------------不过,如果应用场景不是在这里,这两种格式的文件还是有区别的,.pkl文件是python...而.pth文件则有不同的应用,Python在遍历已知的库文件目录过程中,如果见到一个.pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,于是 .pth 文件指明的库也就可以被 Python...但其实不管pkl文件还是pth文件,都是以二进制形式存储的,没有本质上的区别,你用pickle这个库去加载pkl文件或pth文件,效果都是一样的。

    3.1K20

    PTH(Pass The Hash)哈希传递攻击手法与防范

    0x02 为什么要进行hash传递 PTH,即Pass The Hash,首先我们来说下为什么要使用HASH传递,一是目标主机在win server 2012之后,lsass.exe进程中是抓不到明文密码的...CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin" ③使用hash登录域控RDP privilege::debug sekurlsa::pth...python psexec.py -hashes 00000000000000000000000000000000:afffeba176210fad4628f0524bfe1942 administrator...当我们有了凭证的时候,我们就可以执行pth攻击来通过身份认证了。 Impacket有一个脚本可以利用WMI来获得靶机的会话并执行各种任务。执行这些任务需要用户的凭证。...因为需要认证,所以我们将会通过pth攻击来获取端点信息,参数设置:域,用户名,IP地址及hash值。

    10.2K30

    项目推荐:LivePortrait - 让静态照片“活”起来

    └── det_10g.onnx ├── liveportrait │   ├── base_models │   │   ├── appearance_feature_extractor.pth...│   │   ├── motion_extractor.pth │   │   ├── spade_generator.pth │   │   └── warping_module.pth │  ...    ├── base_models     │   ├── appearance_feature_extractor.pth     │   ├── motion_extractor.pth    ...│   ├── spade_generator.pth     │   └── warping_module.pth     ├── retargeting_models     │   └── stitching_retargeting_module.pth...    └── xpose.pth 三、使用教程 快速上手(人类模型) 运行以下命令即可生成默认示例: # 对于Linux和Windows用户 python inference.py # 对于搭载

    77610

    【python基础】 如何添加环境变量?

    有三种方式添加,均验证通过: 1 临时添加,在一个shell窗口中 import sys sys.path sys.path.append(path) 但退出该shell窗口,即失效 2 使用pth文件永久添加...使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,pth文件也可以使用注释: # .pth file for the my...(这行是注释) E:\DjangoWord E:\DjangoWord\mysite E:\DjangoWord\mysite\polls 这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python...路径会自动加入到sys.path中,而且可以在不同的python版本中共享,应该是一样较为方便的方法 修改自:https://www.cnblogs.com/huchong/p/7349894.html

    1.3K90

    在python包管理中使用easy_install软件的步骤

    easy_install让python包管理变得 如果你想对Python包管理在实际操作过程中的实际应用方案更加的简便,你就可以试用easy_install这一工具,你如果在python包管理中想用这一软件...如果想使用easy_install工具,可以直接安装ez_setup.py脚本,再python ez_setup.py(之前先要安装python): 首先下载easy_install的安装包,下载地址:...MySQL-python 通过easy_install安装软件,相关安装信息会保存到easy-install.pth文件里,路径类似如下形式: Windows:C:\Python25\Lib\site-packages...\ easy-install.pth Linux:/usr/local/lib/python25/ site-packages/easy-install.pth 如果想删除通过easy_install...安装的软件包,比如说:MySQL-python,可以执行命令: easy_install -m MySQL-python 此操作会从easy-install.pth文件里把MySQL-python的相关信息抹去

    1.4K10

    Python3导入自定义模块

    Python的开源模块是个好东西,大牛们共享的许多模块也加快了大家开发的速度,许多开源模块可以在这里找到 https://pypi.python.org/pypi 下面结合开源模块graphics说说...Python3如何导入自定义模块。...方法一:通过sys模块导入自定义模块的path sys模块是python内置的,因此我们导入自定义模块的步骤如下: 先导入sys模块;然后通过sys.path.append(path) 函数来导入自定义模块所在的目录...方法二:通过pth文件找到自定义模块 创建一个 module_graphics.pth 文件,里面内容就是graphics模块所在的目录:D:\Python\Python3rdEdSolutionsAndCode_Zelle...将该 module_graphics.pth 文件放到python安装路径的site-packages文件夹。

    1.6K20

    python学习笔记5.1-理解模块和包

    1.1 模块搜索路径 当python调用模块的时候,首先它要知道去哪儿搜索,python模块的搜索路径有: 1) 当前程序的主目录,也就是你运行程序的目录。...4) .pth文件目录。 对于1)和3)都是系统自动生成的,2)和4)用于用户自定义扩展搜索路径。...2) 将模块目录添加到系统环境标量中的PYTHONPATH中 3) 用函数sys.path.append(‘…’)添加 4) 添加.pth文件。...在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。...1 windows: c:\python27\site-packages,把pth文件直接放在c:\python27(或其他python安装目录)目录下测试也是有效的 2 linux(ubuntu)

    91271
    领券