2015-12-04 14:47:52 +00:00
|
|
|
oclHashcat build documentation
|
|
|
|
=
|
|
|
|
# Revision:
|
2016-01-24 15:39:51 +00:00
|
|
|
* 1.2
|
2015-12-04 14:47:52 +00:00
|
|
|
|
|
|
|
# Authors:
|
|
|
|
* Gabriele Gristina <<matrix@hashcat.net>>
|
|
|
|
* Christoph Heuwieser <<dropdead@hashcat.net>>
|
|
|
|
|
|
|
|
# Dependencies
|
|
|
|
|
|
|
|
To compile **oclHashcat** the following third party libraries are required:
|
|
|
|
|
2016-01-24 15:39:51 +00:00
|
|
|
- ADL_SDK v9.0 ( http://developer.amd.com/tools-and-sdks/graphics-development/display-library-adl-sdk/ )
|
2015-12-16 12:47:46 +00:00
|
|
|
- NVAPI R352 ( https://developer.nvidia.com/nvapi )
|
2016-01-01 16:41:03 +00:00
|
|
|
- GDK v352_55 ( https://developer.nvidia.com/gpu-deployment-kit )
|
2015-12-16 12:47:46 +00:00
|
|
|
|
2015-12-09 14:55:06 +00:00
|
|
|
The next thing to do is download all the third party libraries listed above and put these files into the *deps/tmp* directory.
|
2015-12-04 14:47:52 +00:00
|
|
|
|
2015-12-09 14:55:06 +00:00
|
|
|
The following files are needed inside the *deps/tmp* directory:
|
2015-12-04 14:47:52 +00:00
|
|
|
|
2016-01-24 15:39:51 +00:00
|
|
|
ADL_SDK9.zip
|
2015-12-04 14:47:52 +00:00
|
|
|
R352-developer.zip
|
|
|
|
gdk_linux_amd64_352_55_release.run
|
|
|
|
|
|
|
|
# Building oclHashcat
|
2016-01-03 18:47:55 +00:00
|
|
|
First get a copy of the **oclHashcat** repository
|
2015-12-04 14:47:52 +00:00
|
|
|
|
|
|
|
```sh
|
|
|
|
$ git clone https://github.com/hashcat/oclHashcat.git
|
|
|
|
```
|
2016-01-24 15:39:51 +00:00
|
|
|
Install the dependencies (root permission needed)
|
2015-12-04 14:47:52 +00:00
|
|
|
|
|
|
|
```sh
|
|
|
|
$ cd oclHashcat
|
2016-01-24 15:39:51 +00:00
|
|
|
$ ./tools/deps.sh
|
2015-12-16 12:47:46 +00:00
|
|
|
```
|
|
|
|
|
2016-01-03 18:25:37 +00:00
|
|
|
Run "make"
|
2015-12-16 12:47:46 +00:00
|
|
|
|
|
|
|
```sh
|
2016-01-03 18:25:37 +00:00
|
|
|
$ make
|
|
|
|
```
|
|
|
|
|
|
|
|
to install it run "make install"
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ make install
|
2015-12-04 14:47:52 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Useful tricks:
|
2016-01-24 15:39:51 +00:00
|
|
|
- build native linux/osx binaries
|
|
|
|
```sh
|
|
|
|
$ make
|
|
|
|
```
|
|
|
|
|
2016-01-03 18:47:55 +00:00
|
|
|
- build all binaries (see Note1 and Note2):
|
2015-12-04 14:47:52 +00:00
|
|
|
```sh
|
2016-01-03 18:25:37 +00:00
|
|
|
$ make binaries
|
2015-12-04 14:47:52 +00:00
|
|
|
```
|
2016-01-03 18:25:37 +00:00
|
|
|
|
|
|
|
Note1: to install all binaries ("make binaries") you need to first clone the OpenCL-Headers within the main folder:
|
|
|
|
|
2015-12-04 14:47:52 +00:00
|
|
|
```sh
|
2016-01-03 18:25:37 +00:00
|
|
|
$ git clone https://github.com/KhronosGroup/OpenCL-Headers deps/OpenCL-Headers/CL
|
2015-12-04 14:47:52 +00:00
|
|
|
```
|
|
|
|
|
2016-01-03 18:25:37 +00:00
|
|
|
the tools/deps.sh script does not clone this repo automatically since for native compilation it is not needed.
|
|
|
|
|
2016-01-03 18:47:55 +00:00
|
|
|
Note2: if you get an error like the following one for "make binaries"
|
|
|
|
|
|
|
|
```sh
|
|
|
|
/usr/bin/ld: cannot find -lOpenCL
|
|
|
|
```
|
|
|
|
|
|
|
|
the main reason is probably that the 32-bit version of libOpenCL.so was not found.
|
|
|
|
|
|
|
|
A possible solution is to just symbolic link it (if the 32-bit version of libOpenCL.so.1 exists), for example:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
sudo ln -s /usr/lib/i386-linux-gnu/libOpenCL.so.1 /usr/lib/i386-linux-gnu/libOpenCL.so
|
|
|
|
```
|
|
|
|
|
2015-12-04 14:47:52 +00:00
|
|
|
=
|
|
|
|
Enjoy your fresh **oclHashcat** binaries ;)
|