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
git
option (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\SSL
folder 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 src
OK, I did something Kinda Stoopid here – I’m following the recipe above, and I renamed the perfectly-adequate
openssl
folder to besrc
to 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 install
Lots 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