Advanced Onion Router • Compile

To build AdvOR.dll install masm32 from then execute DLL\a.bat

## Instructions for building AdvOR with MinGW (

Stage One: Download and Install MinGW and Masm32.

Download mingw:

Start the installer and select mingw32-base, msys-base and mingw-developer-toolkit

Download masm32 from

Install masm32.

Create a directory called "AdvOR".

Stage Two: Download, extract, compile zlib

Download zlib source:

Extract zlib:
Copy the zlib tarball into the "AdvOR" directory
Type "cd AdvOR/"
Type "tar zxf zlib-1.2.11.tar.gz"


Make zlib.a:
Type "cd zlib-1.2.11/"
Type "./configure"
Type "make -f win32/Makefile.gcc"
Assuming you have MingGW installed in c:/ :
Type cp -iv zlib1.dll c:/mingw/bin
Type cp -iv zconf.h zlib.h c:/mingw/include
Type cp -iv libz.a c:/mingw/lib/libzlib.a


Stage Three: Download, extract, compile openssl

Download openssl:

Extract openssl:
Copy the openssl tarball into the "AdvOR" directory.
Type "cd AdvOR/"
Type "tar zxf openssl-1.1.0e.tar.gz"

If you're using an older version of Perl for MinGW:
Download Perl-MinGW from
Extract bin, lib and share from to the msys/1.0/ directory

Make openssl libraries:
Type "cd openssl-1.1.0e/"
Type "./Configure -no-shared -no-idea -no-rc5 -no-mdc2 mingw"
Edit 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);"
"handle = GetModuleHandle((void *)&base_inited);ret = 1;"
"ret = GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN,handlersym.sym, &handle);
"handle = GetModuleHandle(handlersym.sym);ret = 1;"
Edit crypto/bio/b_addr.c and insert, after the #included files, a line containing "#undef AI_PASSIVE"
Type "make depend"
# The next steps can take up to 30 minutes to complete.
Type "make"
Type "make install"

Stage Four: Download, extract, and compile libevent-2.1.8

Download the libevent 2.1.8 release:

Copy the libevent tarball into the "AdvOR" directory.

Extract libevent.
Copy the libevent tarball into the "AdvOR" directory.
Type "cd AdvOR/"
Type "tar zxf libevent-2.1.8-stable.tar.gz"

Type "cd libevent-2.1.8-stable/"
Type "./configure --enable-static --disable-shared"
Type "make"
Type "make install"

Stage Five: Download, extract, and compile libntlm-1.4

Download the libntlm 1.4 release:

Copy the libevent tarball into the "AdvOR" directory.
Type "cd AdvOR"

Extract libntlm.

Type "./configure --enable-static --disable-shared"
Type "make"
Type "make install"

Stage Six: Build AdvOR

Download the current AdvOR release from .
Extract into the "AdvOR" directory.

cd AdvOR
Type "make"

You now have AdvOR.exe in current directory.


You can write your comment here.
Thank you! Needed this help!
Posted by User on 2016-05-20 14:00#6700
You can write your comment here.