• 在Windows下使用汇编方式编译OpenSSL方法


     
    1. 安装perl,perl可以从http://www.activestate.com/ActivePerl下载。
    2. 安装编译器(任意一个都可以),我仅以Visual C++.net2003为例子。
        Visual C++
         Borland C
         GNU C (Cygwin or MinGW)
    3. 使用汇编方式编译时,需要安装汇编语言编译器。MASM,NASM都可以。如果速度要求
    不高,可以不用汇编的方式编译,即不需要安装。MASM一般由VC++自带,Windows NT 4.0
    DDK 和Windows 98 DDK也带有MASM。(经过自己测试这个自带编译器的行不通),需要下载MASM重新安装(下载网址:
    http://www.x86asm.com/DisplayArticle.asp?BoardID=8&ArticleID=63)安装时一路默认即可。
    安装成功后在其安装目录的bin文件夹下找到ml.exe和ml.err两个文件并将其拷贝之
    Syetem32目录下;此时还不要高兴的太早!使用MASM编译时会出现如下问题:
     Assembling: ./crypto/sha/asm/sha512-sse2.asm ./crypto/sha/asm/sha512-sse2.asm(29) : error
     A2006: undefined symbol : XMMWORD。
    这个问题很棘手,网上说是./crypto/perlasm/x86ms.pl中对masm的版本定义不对,并且利用
    OpenSSL给出的一个补丁也不能解决,我的解决办法是使用NASM编译。
    在上述步骤的基础上下载NASM的编译器(地址:http://www.kernel.org/pub/software/devel/nasm/binaries/win32/)我下载的版本是nasm-0.98.39-win32.zip,下载成功后解压缩将其文件中的nasmw.exe和ndisasmw.exe也拷贝之System32目录下,这样编译环境就建好了,下面按步骤开始编译程序:
    a.   从开始-->Microsoft Visual Studio .NET 2003-->Visual Studio .NET 工具-->Visual Studio .NET 2003 命令提示进入命令行,因为从这里进去后,和C++相关的环境变量都已经设置好了
    b. 转换到OpenSSL目录,比如:E:/openssl-0.9.8g
    c. 输入:perl Configure VC-WIN32
    d. 输入:ms/do_nasm
    e. 输入:nmake -f ms/ntdll.mak
           如果没有错误的话,编译就通过了,在out32dll目录下面就可以看到,生成的dll文件和可执行文件了。
    下面几个网址可以借鉴,但都不能正确编译出来:
    http://www.cnblogs.com/myopq/archive/2006/11/29/576245.html
  • 相关阅读:
    python list dict 去重的两种方式
    python 发送邮件
    mongo 查询总结
    vsftpd 安装配置
    简单配置 nginx 反向代理
    python 检查内存
    python ldap
    Centos 7 vsftpd ldap 配置
    centos7虚拟机开启端口后 外部不能访问的问题
    Linux下安装配置rocketmq (单个Master、双Master)
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6168001.html
Copyright © 2020-2023  润新知