学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

2万

积分

41

好友

1203

主题
发表于 昨天 20:26 | 查看: 9| 回复: 0
1.环境:vs2022(作者的安装环境,vs环境根据自己安装版本而定)。
2.开源库下载:
zlib库 http://www.zlib.net/ 最新版本就可以(作者下载版本2.13.0);
openssl库 https://www.openssl.org/source/ 根据需求下载版本(作者下载版本1.1.1);
libcurl库 https://curl.se/download.html 根据需求下载版本 (为了项目的兼容性,作者使用版本7.58.0)。
3.开源库编译:
3.1zlib编译:zlib解压后进入zlib-1.2.13\contrib\vstudio\vc14路径,启动zlibvc.sln
选中zlibvc使用默认选项

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

编译时选择x64,Release开始生成。

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

进入zlib-1.2.13\contrib\vstudio\vc14\x64\ZlibDllRelease目录拿到zlibwapi.lib和zlibwapi.dll文件。
为下一部openssl编译库准备导入文件和lib库目录(当前zlib相应文件),新建zlib文件夹,在zlib里面建include和bin目录。
include文件夹将zlib-1.2.13开源库里的zlib.h和zconf.h放入;bin文件夹里放入刚才编译出的zlibwapi.lib和 zlibwapi.dll文件。
3.2 openssl库编译:
3.2.1准备环境:
openssl-1.1.1解压进入目录,阅读以下INSTALL 和 NOTES.WIN 这两个文件,要求安装activePerl 和 nasm
activePerl下载地址 https://www.activestate.com/products/perl/;(也可以通过其他方式下载,官网下载有点小啰嗦)
nasm 下载地址 https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D
使用管理员权限安装activePerl时会自动设置系统环境变量,nasm安装后可能需要手动添加系统环境变量(作者是手动设置path)。
3.2.2开始编译:
打开vs的命令行工具,根据需求使用x86还是x64工具,作者使用x64工具编译(开始菜单->visual studio 2022文件夹点击显示里面的工具列表)。

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

cd 进入 openssl-1.1.1解压后目录(windows命令cd后有可能还在源目录,记得要切换根目录比如d盘d:)
执行编译配置命令 perl Configure VC-WIN64A --prefix=xxx\zlib --with-zlib-include=xxx\zlib\include --with-zlib-lib=xxx\zlib\bin\zlibwapi.lib zlib-dynamic
备注:VC-WIN64A 是64位版本编译; zlib-dynamic 是使用zlib的动态库,如果使用静态库 zlib。
后执行nmake命令,开始编译(执行时间会有点久)
编译完成在openssl-1.1.1解压后目录 里会生成相应的库:

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

准备libcurl库编译资料,将本次编译的dll和lib资料收集,新建deps文件夹,在里面新建include,lib,bin文件夹。
将openssl-1.1.1\include里的内容放入新建的include里,将libssl.lib和libcrypto.lib放入新建的lib里,将libssl-1_1-x64.dll和libcrypto-1_1-x64.dll放入新建的bin里。并将zlib的库文件和头文件也分别放入deps下的include(.h文件),lib(.lib文件),bin(.dll文件)文件夹里。
3.3libcurl库编译:
进入解压后curl库目录,作者使用7.58.0版本(作者文件路径curl-curl-7_58_0),进入winbuild。
打开BUILD.WINDOWS.txt仔细阅读,会告诉你编译规则,
将deps文件夹放到与curl路径平行目录(或者通过WITH_DEVEL设置目录)

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

继续使用vs工具命令,先进入curl-curl-7_58_0/winbuild 路径,执行编译命令:
nmake /f Makefile.vc mode=dll VC=15 WITH_SSL=dll WITH_ZLIB=dll MACHINE=x64
编译完成在builds目录生成相应的文件

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

在bin目录会有libcurl.dll和curl.exe
将相关dll copy到当前目录,可以curl.exe https://www.baidu.com --insecure 验证:

windows平台编译libcurl (zlib+openssl)

windows平台编译libcurl (zlib+openssl)

  --insecure是为了跳过证书验证,证书验证可以去CURL官网下载cacert.pem。   至此可以提取libcurl.lib 和libcurl.dll 跟相关联dll去使用了。

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2026-1-14 01:14 , Processed in 0.106591 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表