Instructions for building AdvOR.dll with Masm32
-----------------------------------------------
Download and install Masm32 from:
https://masm32.com/download.htm
Build AdvOR.dll:
DLL\a.bat
Please note:
BLDDLL.bat is no longer included in Masm32 bin directory, but can be found in DLL examples
ToDo: Does not build on modern Windows installations
Instructions for building AdvOR.exe with MinGW
----------------------------------------------
1. Download and install MinGW, Masm32 and PERL
----------------------------------------------
Download MinGW from:
https://sourceforge.net/projects/mingw/files/latest/download
Start the installer and select these packages:
mingw32-base
msys-base
mingw-developer-toolkit
In MSYS console downgrade these packages:
mingw-get upgrade "w32api<5.0.1" (problem with headers)
mingw-get upgrade "gcc<6.3" (problem with snprintf)
Download PERL-MinGW from:
https://sourceforge.net/projects/perl-mingw/files/latest/download
Extract following directories from "perl-5.24.0-mingw32.zip/perl-5.24.0" to "msys/1.0" directory:
bin
lib
share
Download and install Masm32 from:
https://masm32.com/download.htm
Finally create a directory called "AdvOR" in "msys/1.0"
2. Download and compile zLib
----------------------------
Download zLib source from:
https://zlib.net/zlib-1.3.1.tar.gz
Copy zLib tarball into "AdvOR" directory and build it:
cd AdvOR
tar zxf zlib-1.3.1.tar.gz
cd zlib-1.3.1
./configure
make -f win32/Makefile.gcc
Assuming you have MingGW installed in "C:/MinGW" copy and replace files below:
cp -iv zlib1.dll C:/MinGW/bin
cp -iv zconf.h zlib.h C:/MinGW/include
cp -iv libz.a C:/MinGW/lib/libzlib.a
3. Download and compile OpenSSL
-------------------------------
Download OpenSSL source from:
https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
Copy OpenSSL tarball into "AdvOR" directory and build it:
cd AdvOR
tar zxf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./Configure --prefix=/usr/local --openssldir=/usr/local -no-shared -no-idea -no-rc5 -no-mdc2 mingw
Edit "openssl-1.1.1w/Makefile" and replace "\" with "/" in the line containing "PERL="
Edit "crypto/init.c" and replace:
ret = GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN,(void *)&base_inited, &handle);
with:
handle = GetModuleHandle((void *)&base_inited); ret = 1;
and:
ret = GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN, handlersym.sym, &handle);
with:
handle = GetModuleHandle(handlersym.sym); ret = 1;
Edit "crypto/bio/b_addr.c" and insert following line after "#include" files:
#undef AI_PASSIVE
Finally build the library:
make depend
make
make install
4. Download and compile LibEvent
--------------------------------
Download LibEvent source from:
https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
Copy LibEvent tarball into "AdvOR" directory and build it:
cd AdvOR
tar zxf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure --enable-static --disable-shared
Edit "config.h" and comment out following line:
#define HAVE_SYS_TIME_H 1
Finally build the library:
make
make install
5. Download and compile LibNTLM
-------------------------------
Download LibNTLM source from:
https://download-mirror.savannah.gnu.org/releases/libntlm/libntlm-1.4.tar.gz
Copy LibNTLM tarball into "AdvOR" directory and build it:
cd AdvOR
tar zxf libntlm-1.4.tar.gz
cd libntlm-1.4
./configure --enable-static --disable-shared
make
make install
6. Finally compile AdvOR.exe
----------------------------
Download latest AdvOR source from:
https://github.com/AdvOR/advor/releases
Extract advor-0.3.2.0-src.zip into "AdvOR" directory and build it:
cd AdvOR
make
strip AdvOR.exe
AdvOR on GitHub
---------------
Visit for more information:
https://github.com/AdvOR
https://github.com/AdvOR/advor
https://github.com/AdvOR/advor/issues