Merge remote-tracking branch 'upstream/master'
[hashcat.git] / tools / package_bin.sh
1 #!/bin/bash
2
3 ##
4 ## Author......: Jens Steube <jens.steube@gmail.com>
5 ## License.....: MIT
6 ##
7
8 export IN=$HOME/hashcat
9 export OUT=$HOME/xy/hashcat-3.00
10
11 rm -rf $OUT
12 rm -rf $OUT.7z
13
14 mkdir -p $OUT
15 mkdir -p $OUT/include
16
17 cp $IN/hashcat??.exe $OUT/
18 cp $IN/hashcat??.bin $OUT/
19 cp $IN/hashcat.hcstat $OUT/
20 cp $IN/hashcat.hctune $OUT/
21
22 cp -r $IN/docs $OUT/
23 cp -r $IN/charsets $OUT/
24 cp -r $IN/masks $OUT/
25 cp -r $IN/rules $OUT/
26 cp -r $IN/extra $OUT/
27 cp $IN/example.dict $OUT/
28 cp $IN/example[0123456789]*.hash $OUT/
29 cp $IN/example[0123456789]*.cmd $OUT/
30
31 cp -r $IN/include/constants.h $OUT/include
32 cp -r $IN/include/kernel_functions.c $OUT/include
33 cp -r $IN/include/kernel_vendor.h $OUT/include
34 cp -r $IN/include/rp_kernel.h $OUT/include
35 cp -r $IN/OpenCL $OUT/
36
37 # since for the binary distribution we still use .bin, we need to rewrite the commands
38 # within the example*.sh files
39
40 for example in example[0123456789]*.sh; do
41
42 sed 's!./hashcat !./hashcat64.bin !' $IN/${example} > $OUT/${example}
43
44 done
45
46 dos2unix $OUT/masks/*.hcmask
47 dos2unix $OUT/rules/*.rule
48 dos2unix $OUT/rules/hybrid/*.rule
49 dos2unix $OUT/docs/*
50 dos2unix $OUT/example*
51
52 unix2dos $OUT/masks/*.hcmask
53 unix2dos $OUT/rules/*.rule
54 unix2dos $OUT/rules/hybrid/*.rule
55 unix2dos $OUT/docs/*
56 unix2dos $OUT/example*.cmd
57 unix2dos $OUT/include/*
58 unix2dos $OUT/OpenCL/*
59 unix2dos $OUT/hashcat.hctune
60
61 chmod 755 $OUT
62 chmod 755 $OUT/rules
63 chmod 644 $OUT/rules/*
64 chmod 755 $OUT/docs
65 chmod 644 $OUT/docs/*
66 chmod 755 $OUT/charsets
67 chmod 755 $OUT/charsets/*
68 chmod 755 $OUT/masks
69 chmod 644 $OUT/masks/*
70 chmod 644 $OUT/example*
71 chmod 755 $OUT/example*.sh
72 chmod 755 $OUT/extra
73 chmod 755 $OUT/extra/tab_completion/*.sh
74 chmod 755 $OUT/extra/tab_completion/install
75 chmod 755 $OUT/include
76 chmod 644 $OUT/include/*
77 chmod 755 $OUT/OpenCL
78 chmod 644 $OUT/OpenCL/*
79 chmod 644 $OUT/*.exe
80 chmod 755 $OUT/*.bin
81 chmod 644 $OUT/hashcat.hcstat
82 chmod 644 $OUT/hashcat.hctune
83
84 time 7z a -t7z -m0=lzma2:d31 -mx=9 -mmt=8 -ms=on $OUT.7z $OUT