OpenSSL 1.1 and VS2015 and QuarksPwDump – Oh My…
Goal
Today’s desire: Build Quarks PwDump as part of my CEH studying. Note to self: PwDump doesn’t build OOTB on VS2015 CE because the OpenSSL library it ships with fails to link.
Today’s feat and the reason for this article: Building OpenSSL 1.1 on a new Windoze 10 VM so I can get Quarks PwDump to link.
Followed recipe at http://stackoverflow.com/questions/34410711/how-to-build-openssl-in-vs2015-x86cpuid-asm-is-an-empty-file but required a few changes.
Environment
- Windows 10 with latest Service Packs
- GPG4Win 2.3.3. Those bastards. This freeware…required a donation. I just didn’t have the time to go thru and compile the source code, so I gave ’em $5. Hope they choke on it.
- NASM 2.12.02
- Strawberry Perl 5.24.0.1 (64-bit).
Build
- Install GPG4Win, NASM, and Strawberry Perl. VS2015 CE already comes with a
gitoption (I installed basically everything as I may end up building all kinds of stuff). - Important: Open an Administrator Command Prompt. You need this because when we build OpenSSL – some of the install creates a standalone CA in your
C:\Program Files (x86)\Common\SSLfolder and you won’t have permissions otherwise. Unless you’ve done something stupid like run as an Admin on your dev box. But you didn’t do anything that bone-headed, did you? If so – stop it Now. - Pull down openssl:
mkdir d:\proj\openssl d: cd \proj\openssl git clone https://github.com/openssl/openssl.git rename openssl srcOK, I did something Kinda Stoopid here – I’m following the recipe above, and I renamed the perfectly-adequate
opensslfolder to besrcto match the recipe. So don’t be confused in the following instructions. - Setup your local environment. Notice that I installed the tools on my
D:\drive (I have more room on it):set path=%path%;"D:\Program Files (x86)\NASM";D:\Strawberry\perl\bin perl Configure VC-WIN32 --prefix=D:\proj\openssl\build enable-static-engine "d:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"OK – So you can see I installed VS2015 CE on my
D:\drive as well. - Do the build:
nmake nmake test nmake installLots of code spits out. If all goes well, you will see things being built and copied.
Test
On my system I now have everything built in D:\proj\openssl\build folder (that was the the “prefix” I gave in the configuration command above). Let’s check the version:
D:\proj\openssl\src>D:\proj\openssl\build\bin\openssl.exe version
OpenSSL 1.1.1-dev xx XXX xxxx
That looks good! Now let’s check for libraries:
D:\proj\openssl\src>dir D:\proj\openssl\build\lib
Volume in drive D is DevTools
Volume Serial Number is F488-92EA
Directory of D:\proj\openssl\build\lib
10/18/2016 08:29 PM <DIR> .
10/18/2016 08:29 PM <DIR> ..
10/18/2016 08:29 PM <DIR> engines-1_1
10/18/2016 08:42 PM 925,662 libcrypto.lib
10/18/2016 08:42 PM 97,020 libssl.lib
2 File(s) 1,022,682 bytes
3 Dir(s) 36,995,768,320 bytes free
That looks even better…we have libraries.
As for Quarks PwDump? Built and linked like a charm with the two .lib files above.
So, who would have guessed? Windoze is not completely useless after all.
Leave a Reply