Pārlūkot izejas kodu

update build markdown

* change inlined deps.sh to bash instruction with corrected deps.sh path
* decrease size of headers
* condense instructions for running make based on os
Joe Gallo 10 gadi atpakaļ
vecāks
revīzija
52dd232404
1 mainītis faili ar 15 papildinājumiem un 220 dzēšanām
  1. 15 220
      docs/BUILD.md

+ 15 - 220
docs/BUILD.md

@@ -1,240 +1,35 @@
-Hashcat build documentation
-=
-# Revision:
+## Hashcat build documentation
+
+### Revision:
 * 1.0
 
-# Authors:
+### Authors:
 * Gabriele Gristina <<matrix@hashcat.net>>
 
-# Dependencies
-
-To compile **Hashcat** you need cross compile the **gmp** library for Linux (32/64 bit), Windows (32/64 bit) and OSX (64 bit).
-Use the following script (check for an updated version in **docs/deps.sh**):
-
-    #!/bin/bash
-    # Author: Gabriele Gristina <matrix@hashcat.net>
-    # Revision: 1.0
-    
-    ## global vars
-    DEPS="git lzip gcc-multilib make m4 mingw-w64"
-    #GMP_VER="gmp-6.0.0a"
-    GMP_VER="gmp-6.1.0"
-    
-    if [ $(id -u) -ne 0 ]; then
-	    echo "! Must be root"
-	    exit 1
-    fi
+### Dependencies
 
-    ## make a fresh "hashcat-deps" directories
-    rm -rf /opt/hashcat-deps/tmp/gmp* /opt/hashcat-deps/gmp/{linux32,linux64,win32,win64,osx64} && \
-    mkdir -p /opt/hashcat-deps/gmp/{linux32,linux64,win32,win64,osx64} /opt/hashcat-deps/tmp && \
-    cd /opt/hashcat-deps/tmp
-    
-    if [ $? -ne 0 ]; then
-    	echo "! Cannot create hashcat-deps directories."
-    	exit 1
-    fi
-    
-    ## install osx cross stuff
-    if [ ! -d "apple-pkgs" ]; then
-    	mkdir -p apple-pkgs
-    fi
-    cd apple-pkgs
-    
-    if [ ! -f "libssl0.9.8_0.9.8o-4squeeze14_amd64.deb" ]; then
-    	wget -c http://http.us.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze14_amd64.deb
-    	if [ $? -ne 0 ]; then
-    		echo "! failed to download libssl0.9.8 debian package"
-    		exit 1
-    	fi
-    fi
-    
-    dpkg -i libssl0.9.8_0.9.8o-4squeeze14_amd64.deb
-    if [ $? -ne 0 ]; then
-    	echo "! failed to install libssl0.9.8"
-    	exit 1
-    fi
-    
-    if [ ! -f "apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb" ]; then
-    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb
-    	if [ $? -ne 0 ]; then
-    		echo "! failed to download apple-uni-sdk-10.5 debian package"
-    		exit 1
-    	fi
-    fi
-    
-    dpkg -i apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb
-    if [ $? -ne 0 ]; then
-    	echo "! failed to install apple-uni-sdk-10.5"
-    	exit 1
-    fi
-    
-    if [ ! -f "apple-uni-sdk-10.6_20110407-0.flosoft1_amd64.deb" ]; then
-    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-uni-sdk-10.6_20110407-0.flosoft1_amd64.deb
-    	if [ $? -ne 0 ]; then
-    		echo "! failed to download apple-uni-sdk-10.6 debian package"
-    		exit 1
-    	fi
-    fi
-    
-    dpkg -i apple-uni-sdk-10.6_20110407-0.flosoft1_amd64.deb
-    if [ $? -ne 0 ]; then
-    	echo "! failed to install apple-uni-sdk-10.6"
-    	exit 1
-    fi
-    
-    if [ ! -f "apple-x86-odcctools_758.159-0flosoft11_amd64.deb" ]; then
-    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-x86-odcctools_758.159-0flosoft11_amd64.deb
-    	if [ $? -ne 0 ]; then
-    		echo "! failed to download apple-x86-odcctools debian package"
-    		exit 1
-    	fi
-    fi
-    
-    dpkg -i apple-x86-odcctools_758.159-0flosoft11_amd64.deb
-    if [ $? -ne 0 ]; then
-    	echo "! failed to install apple-x86-odcctools"
-    	exit 1
-    fi
-    
-    if [ ! -f "apple-x86-gcc_4.2.1~5646.1flosoft2_amd64.deb" ]; then
-    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-x86-gcc_4.2.1~5646.1flosoft2_amd64.deb
-    	if [ $? -ne 0 ]; then
-    		echo "! failed to download apple-x86-gcc debian package"
-    		exit 1
-    	fi
-    fi
-    
-    dpkg -i apple-x86-gcc_4.2.1~5646.1flosoft2_amd64.deb
-    if [ $? -ne 0 ]; then
-    	echo "! failed to install apple-x86-gcc"
-    	exit 1
-    fi
-    
-    cd ..
-    
-    ## installing needed packages
-    for pkg in ${DEPS}; do
-    	apt-get -y install ${pkg}
-    	if [ $? -ne 0 ]; then
-    	    echo "! failed to install ${pkg}"
-    	    exit 1
-    	fi
-    done
-    
-    ## download gmp source code
-    wget -c https://gmplib.org/download/gmp/${GMP_VER}.tar.lz
-    if [ $? -ne 0 ]; then
-    	echo "! failed to download GMP source code"
-    	exit 1
-    fi
-    
-    tar xf ${GMP_VER}.tar.lz
-    if [ $? -ne 0 ]; then
-    	echo "! failed to extract GMP source code"
-    	exit 1
-    fi
-    
-    newDir=$(tar tvf ${GMP_VER}.tar.lz | head -n1 | awk '{print $6}' | sed -e 's/\///g')
-    if [ "${newDir}" != "${GMP_VER}" ]; then
-    	mv ${newDir} ${GMP_VER}
-    fi
-    
-    ## build gmp lib for linux32
-    cp -af ${GMP_VER} ${GMP_VER}-linux32
-    cd ${GMP_VER}-linux32 && \
-    ./configure --host=i386-pc-linux-gnu --prefix=/opt/hashcat-deps/gmp/linux32 --disable-shared && \
-    sudo make install && \
-    cd .. && \
-    rm -rf ${GMP_VER}-linux32
-    
-    if [ $? -ne 0 ]; then
-    	echo "! failed to build linux32 gmp lib."
-    	exit 1
-    fi
-    
-    ## build gmp lib for linux64
-    cp -af ${GMP_VER} ${GMP_VER}-linux64
-    cd ${GMP_VER}-linux64 && \
-    ./configure --host=x86_64-pc-linux-gnu --prefix=/opt/hashcat-deps/gmp/linux64 --disable-shared && \
-    sudo make install && \
-    cd .. && \
-    rm -rf ${GMP_VER}-linux64
-    
-    if [ $? -ne 0 ]; then
-    	echo "! failed to build linux64 gmp lib."
-    	exit 1
-    fi
-    
-    ## build gmp lib for win32
-    cp -af ${GMP_VER} ${GMP_VER}-win32
-    cd ${GMP_VER}-win32 && \
-    ./configure --host=i686-w64-mingw32 --prefix=/opt/hashcat-deps/gmp/win32 --disable-shared && \
-    sudo make install && \
-    cd .. && \
-    rm -rf ${GMP_VER}-win32
-    
-    if [ $? -ne 0 ]; then
-    	echo "! failed to build win32 gmp lib."
-    	exit 1
-    fi
-    
-    ## build gmp lib for win64
-    cp -af ${GMP_VER} ${GMP_VER}-win64
-    cd ${GMP_VER}-win64 && \
-    ./configure --host=x86_64-w64-mingw32 --prefix=/opt/hashcat-deps/gmp/win64 --disable-shared && \
-    sudo make install && \
-    cd .. && \
-    rm -rf ${GMP_VER}-win64
-    
-    if [ $? -ne 0 ]; then
-    	echo "! failed to build win64 gmp lib."
-    	exit 1
-    fi
-    
-    ## build gmp lib for osx64
-    cp -af ${GMP_VER} ${GMP_VER}-osx64
-    cd ${GMP_VER}-osx64 && \
-    sed -i 's/\(i686.*\)$/\1\n\tabilist=64/' configure && \
-    ABI=64 ./configure --host=i686-apple-darwin10 --prefix=/opt/hashcat-deps/gmp/osx64 --disable-shared --disable-assembly && \
-    sudo make install && \
-    cd .. && \
-    rm -rf ${GMP_VER}-osx64
-    
-    if [ $? -ne 0 ]; then
-    	echo "! failed to build osx64 gmp lib."
-    	exit 1
-    fi
-    
-    echo "> GMP library build success."
+To compile **Hashcat** you need cross compile the **gmp** library for Linux (32/64 bit), Windows (32/64 bit) and OSX (64 bit). (see below)
 
-# Building Hashcat
+### Building Hashcat
 First get a copy of **Hashcat** repository
 
 ```sh
 $ git clone https://github.com/hashcat/hashcat.git
 ```
 
-Now simply jump in and type "make"
+Install the dependencies
 
 ```sh
 $ cd hashcat
-$ make
+$ sh tools/deps.sh
 ```
 
-Useful tricks:
-- build only *Linux* binaries
-```sh
-$ make linux
-```
-- build only *Windows* binaries
-```sh
-$ make windows
-```
-- build only *OSX binary*
-```sh
-$ make osx
+Run make depending on your os
+
+```bash
+$ make [linux|osx|windows]
 ```
 
-=
+Not specifying an argument will build for all OSes.
+
 Enjoy your fresh **Hashcat** binaries ;)