首页
社区
课程
招聘
[原创] primp TLS指纹开源库 编译
发表于: 4小时前 49

[原创] primp TLS指纹开源库 编译

4小时前
49

今天晚上朋友说有个库的tls版本有点跟不上了,想让我看看怎么编译的,然后魔改源码,我第一次在windows上编译东西,我朋友也是从没有编译过东西,所以此篇文章比较细致,也算是一个随笔记


官方地址:31dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6V1k6h3g2V1P5e0g2Q4x3V1k6H3M7X3W2E0M7l9`.`.

准备:

安装python3.8以上

编译项目需要虚拟环境,可以使用conda,我这里使用的是venv

1、安装编译所需环境

python 3.8+

python就不贴了吧。。。3.8以上都可以,我编译时使用的是3.10.0

git安装(一般都有吧)

772K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Q4x3X3c8K6j5$3#2Q4x3X3g2U0L8$3#2Q4x3V1k6V1L8%4N6F1L8r3!0S2k6s2y4Q4x3V1k6%4K9h3^5`.



rust安装

安装地址:
b93K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2J5N6i4y4@1i4K6u0V1L8r3q4F1k6#2)9J5k6h3!0J5k6#2)9J5c8Y4c8G2L8$3I4K6i4K6u0r3K9h3&6K6N6r3q4D9L8l9`.`.

安装参考:

301K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6*7K9s2g2S2L8X3I4S2L8W2)9J5k6i4A6Z5K9h3S2#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0j5#2y4e0x3^5y4U0M7%4y4H3`.`.



perl安装

安装地址:

5eeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2J5N6i4y4@1i4K6u0V1L8r3q4F1k6#2)9J5k6h3!0J5k6#2)9J5c8Y4c8G2L8$3I4K6i4K6u0r3K9h3&6K6N6r3q4D9L8l9`.`.


llvm安装,最好选择exe的

安装地址:

7b4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9L8s2k6E0i4K6u0r3L8r3I4$3L8g2)9J5k6s2m8J5L8$3A6W2j5%4c8Q4x3V1k6J5k6h3I4W2j5i4y4W2M7H3`.`.


2、检查编译环境:

所需环境:rustc、cargo、nasm、perl、llvm

其中llvm需要设置系统变量

LIBCLANG_PATH = D:\tools\LLVM\bin


其他环境检查

(.venv) PS D:\demo\primp-main> rustc --version
rustc 1.87.0 (17067e9ac 2025-05-09)
(.venv) PS D:\demo\primp-main> cargo --version
cargo 1.87.0 (99624be96 2025-05-06)
(.venv) PS D:\demo\primp-main> nasm -v
NASM version 2.16.01 compiled on Jun  1 2023
(.venv) PS D:\demo\primp-main> perl --version
Locale 'Chinese (Simplified)_China.936' is unsupported, and may crash the interpreter.

This is perl 5, version 38, subversion 2 (v5.38.2) built for MSWin32-x64-multi-thread

Copyright 1987-2023, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at a30K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2H3k6i4u0D9i4K6u0W2L8%4u0Y4i4K6u0r3i4K6u0o6i4K6t1$3L8X3u0K6M7q4)9K6b7Y4c8Z5k6g2)9J5y4X3&6T1M7%4m8Q4x3@1u0b7k6i4u0D9i4K6t1$3L8X3u0K6M7q4)9K6b7V1S2G2L8h3g2Q4x3U0k6F1j5Y4y4H3i4K6y4n7f1r3q4Y4k6g2)9J5k6b7`.`.


3、拉取项目

从官方 clone项目到本地 git clone d69K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6V1k6h3g2V1P5e0g2Q4x3V1k6H3M7X3W2E0M7q4)9J5k6h3N6A6N6l9`.`.


4、创建虚拟环境

在拉取的 primp 项目根目录下,python安装路径

C:\Users\<用户名>\AppData\Local\Programs\Python\Python310\python.exe -m venv .venv

python.exe为自己的python路径,需要3.8以上(再次强调)


5、测试激活虚拟环境

.venv/Scripts/activate

项目路径旁边会有.venv,表示使用虚拟环境,因为教程是后补的

正常终端左边是没有虚拟环境名字的


6、安装python所需环境

虚拟环境下:pip install maturin


7、开始编译

windows找到 x64 Native Tools Command Prompt for VS 2022 (不在此环境下,边编译会缺少 cl 环境)


进入到项目:


激活虚拟环境:

执行完 .venv\Scripts\activate窗口会刷新,左边出现(.venv),成功激活环境


执行编译 maturin develop

8、尝试运行

首次导入模块,会报错

import primp
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\demo\primp-main\primp_init_.py", line 9, in <module>
from typing_extensions import Unpack
ModuleNotFoundError: No module named 'typing_extensions'

执行 pip install typing_extensions

就正常了



[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 3小时前 被郑z编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 357
活跃值: (230)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

魔改的时候发现,primp引用的库,原作者自己实现了py版本的,且更新频繁,非常的肝

0x676e67/rnet: A blazing-fast Python HTTP Client with TLS fingerprint

最后于 3小时前 被郑z编辑 ,原因:
3小时前
0
游客
登录 | 注册 方可回帖
返回