Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
2to3
96
B
-rwxr-xr-x
2021-03-01 21:41
2to3-2.7
96
B
-rwxr-xr-x
2021-03-01 21:41
2to3-3.5
96
B
-rwxr-xr-x
2021-01-26 19:45
Mail
102.24
KB
-rwxr-xr-x
2016-01-29 06:12
NF
963
B
-rwxr-xr-x
2016-04-14 21:29
VGAuthService
120.34
KB
-rwxr-xr-x
2018-05-09 01:51
[
50.7
KB
-rwxr-xr-x
2017-03-02 19:07
aa-enabled
22.16
KB
-rwxr-xr-x
2023-06-29 13:30
ab
54.14
KB
-rwxr-xr-x
2020-08-13 03:36
acpi_listen
14.72
KB
-rwxr-xr-x
2016-04-09 00:36
add-apt-repository
6.36
KB
-rwxr-xr-x
2020-08-07 20:51
addpart
18.45
KB
-rwxr-xr-x
2020-01-27 15:28
addr2line
27.12
KB
-rwxr-xr-x
2018-12-07 20:49
apport-bug
2.5
KB
-rwxr-xr-x
2025-07-11 17:07
apport-cli
13.03
KB
-rwxr-xr-x
2025-07-11 17:10
apport-collect
2.5
KB
-rwxr-xr-x
2025-07-11 17:07
apport-unpack
1.8
KB
-rwxr-xr-x
2025-07-11 17:10
apropos
46.98
KB
-rwxr-xr-x
2015-11-07 00:14
apt
14.04
KB
-rwxr-xr-x
2021-04-28 22:30
apt-add-repository
6.36
KB
-rwxr-xr-x
2020-08-07 20:51
apt-cache
78.13
KB
-rwxr-xr-x
2021-04-28 22:30
apt-cdrom
22.13
KB
-rwxr-xr-x
2021-04-28 22:30
apt-config
22.05
KB
-rwxr-xr-x
2021-04-28 22:30
apt-extracttemplates
22.13
KB
-rwxr-xr-x
2021-04-28 22:30
apt-ftparchive
230.13
KB
-rwxr-xr-x
2021-04-28 22:30
apt-get
42.12
KB
-rwxr-xr-x
2021-04-28 22:30
apt-key
20.12
KB
-rwxr-xr-x
2021-04-28 22:27
apt-mark
42.13
KB
-rwxr-xr-x
2021-04-28 22:30
apt-sortpkgs
26.05
KB
-rwxr-xr-x
2021-04-28 22:30
ar
59.12
KB
-rwxr-xr-x
2018-12-07 20:49
arch
30.7
KB
-rwxr-xr-x
2017-03-02 19:07
as
360.82
KB
-rwxr-xr-x
2018-12-07 20:49
at
50.26
KB
-rwsr-sr-x
2016-01-14 23:35
atq
50.26
KB
-rwsr-sr-x
2016-01-14 23:35
atrm
50.26
KB
-rwsr-sr-x
2016-01-14 23:35
awk
642.72
KB
-rwxr-xr-x
2015-12-24 00:11
backupMySQL
1.24
KB
-rwxr-xr-x
2016-12-23 21:30
base32
38.73
KB
-rwxr-xr-x
2017-03-02 19:07
base64
38.73
KB
-rwxr-xr-x
2017-03-02 19:07
basename
30.67
KB
-rwxr-xr-x
2017-03-02 19:07
bashbug
6.79
KB
-rwxr-xr-x
2019-07-12 21:26
batch
152
B
-rwxr-xr-x
2016-01-14 23:35
blkcalc
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
blkcat
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
blkls
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
blkstat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
bootctl
74.44
KB
-rwxr-xr-x
2021-04-02 17:51
bsd-from
10.27
KB
-rwxr-xr-x
2016-03-01 12:43
bsd-mailx
102.24
KB
-rwxr-xr-x
2016-01-29 06:12
bsd-write
14.41
KB
-rwxr-sr-x
2016-03-01 12:43
busctl
363.21
KB
-rwxr-xr-x
2021-04-02 17:51
byobu
7.26
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-config
996
B
-rwxr-xr-x
2016-04-14 21:29
byobu-ctrl-a
4.67
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-disable
1.26
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-disable-prompt
1.28
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-enable
1.15
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-enable-prompt
1.42
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-export
1.23
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-janitor
5.81
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-keybindings
1.47
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-launch
3.21
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-launcher
1.87
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-launcher-install
2.4
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-launcher-uninstall
1.52
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-layout
3.27
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-prompt
1.13
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-quiet
1.38
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-reconnect-sockets
3.22
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-screen
7.26
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-select-backend
1.42
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-select-profile
6.13
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-select-session
1012
B
-rwxr-xr-x
2016-04-14 21:29
byobu-shell
1.56
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-silent
1.28
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-status
5.86
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-status-detail
1.18
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-tmux
7.26
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-ugraph
4.56
KB
-rwxr-xr-x
2016-04-14 21:29
byobu-ulevel
11.71
KB
-rwxr-xr-x
2016-04-14 21:29
c++
898.27
KB
-rwxr-xr-x
2019-10-04 21:00
c++filt
26.61
KB
-rwxr-xr-x
2018-12-07 20:49
c2ph
35.75
KB
-rwxr-xr-x
2020-10-19 12:57
c89
428
B
-rwxr-xr-x
2006-05-07 11:28
c89-gcc
428
B
-rwxr-xr-x
2006-05-07 11:28
c99
454
B
-rwxr-xr-x
2011-04-11 09:54
c99-gcc
454
B
-rwxr-xr-x
2011-04-11 09:54
c_rehash
6.18
KB
-rwxr-xr-x
2018-05-12 08:20
cal
29.14
KB
-rwxr-xr-x
2016-03-01 12:43
calc_tickadj
2.78
KB
-rwxr-xr-x
2020-01-07 16:08
calendar
27.2
KB
-rwxr-xr-x
2016-03-01 12:43
captoinfo
70.71
KB
-rwxr-xr-x
2016-02-19 09:22
catchsegv
3.25
KB
-rwxr-xr-x
2021-04-21 20:11
catman
34.46
KB
-rwxr-xr-x
2015-11-07 00:14
cautious-launcher
853
B
-rwxr-xr-x
2015-10-30 16:39
cc
894.27
KB
-rwxr-xr-x
2019-10-04 21:23
certbot
385
B
-rwxr-xr-x
2020-12-18 22:20
chacl
14.41
KB
-rwxr-xr-x
2016-02-07 12:10
chage
60.88
KB
-rwxr-sr-x
2019-03-26 20:34
chardet3
389
B
-rwxr-xr-x
2017-10-23 11:51
chardetect3
389
B
-rwxr-xr-x
2017-10-23 11:51
chattr
10.34
KB
-rwxr-xr-x
2020-01-22 15:42
chcon
62.92
KB
-rwxr-xr-x
2017-03-02 19:07
check-language-support
2.71
KB
-rwxr-xr-x
2016-07-28 21:35
check_md5_db.sh
1.98
KB
-rwxr-xr-x
2017-10-08 14:09
checkgid
5.96
KB
-rwxr-xr-x
2020-08-13 03:36
chfn
70.14
KB
-rwsr-xr-x
2019-03-26 20:34
chrt
26.67
KB
-rwxr-xr-x
2020-01-27 15:28
chsh
39.48
KB
-rwsr-xr-x
2019-03-26 20:34
cifscreds
18.34
KB
-rwxr-xr-x
2017-03-06 14:02
ckbcomp
144.19
KB
-rwxr-xr-x
2019-04-10 23:25
cksum
30.67
KB
-rwxr-xr-x
2017-03-02 19:07
clear
6.08
KB
-rwxr-xr-x
2016-02-19 09:22
clear_console
10.27
KB
-rwxr-xr-x
2019-07-12 21:26
cloud-id
310
B
-rwxr-xr-x
2021-04-21 00:06
cloud-init
314
B
-rwxr-xr-x
2021-04-21 00:06
cloud-init-per
2.06
KB
-rwxr-xr-x
2021-03-19 15:37
cmp
42.67
KB
-rwxr-xr-x
2015-12-27 00:11
codepage
10.29
KB
-rwxr-xr-x
2016-09-22 19:33
col
10.26
KB
-rwxr-xr-x
2016-03-01 12:43
col1
963
B
-rwxr-xr-x
2016-04-14 21:29
col2
963
B
-rwxr-xr-x
2016-04-14 21:29
col3
963
B
-rwxr-xr-x
2016-04-14 21:29
col4
963
B
-rwxr-xr-x
2016-04-14 21:29
col5
963
B
-rwxr-xr-x
2016-04-14 21:29
col6
963
B
-rwxr-xr-x
2016-04-14 21:29
col7
963
B
-rwxr-xr-x
2016-04-14 21:29
col8
963
B
-rwxr-xr-x
2016-04-14 21:29
col9
963
B
-rwxr-xr-x
2016-04-14 21:29
colcrt
10.23
KB
-rwxr-xr-x
2016-03-01 12:43
colrm
10.22
KB
-rwxr-xr-x
2016-03-01 12:43
column
14.37
KB
-rwxr-xr-x
2016-03-01 12:43
comm
34.7
KB
-rwxr-xr-x
2017-03-02 19:07
compose
17.55
KB
-rwxr-xr-x
2015-10-30 16:39
corelist
12.49
KB
-rwxr-xr-x
2020-10-19 12:57
cpan
7.25
KB
-rwxr-xr-x
2020-10-19 12:57
cpan5.22-x86_64-linux-gnu
7.27
KB
-rwxr-xr-x
2020-10-19 12:57
cpp
898.27
KB
-rwxr-xr-x
2019-10-04 20:49
cpp-5
898.27
KB
-rwxr-xr-x
2019-10-04 20:49
createDBuser
647
B
-rwxr-xr-x
2016-12-23 21:31
create_md5_db.sh
918
B
-rwxr-xr-x
2017-10-08 14:09
crontab
35.23
KB
-rwxr-sr-x
2016-04-05 23:59
csplit
46.86
KB
-rwxr-xr-x
2017-03-02 19:07
ctail
958
B
-rwxr-xr-x
2016-04-14 21:29
ctstat
18.68
KB
-rwxr-xr-x
2019-04-16 14:37
curl
185.95
KB
-rwxr-xr-x
2021-03-29 17:39
cut
38.8
KB
-rwxr-xr-x
2017-03-02 19:07
dbus-cleanup-sockets
9.98
KB
-rwxr-xr-x
2020-06-11 22:06
dbus-daemon
218.95
KB
-rwxr-xr-x
2020-06-11 22:06
dbus-monitor
21.99
KB
-rwxr-xr-x
2020-06-11 22:06
dbus-run-session
9.98
KB
-rwxr-xr-x
2020-06-11 22:06
dbus-send
21.98
KB
-rwxr-xr-x
2020-06-11 22:06
dbus-update-activation-environment
13.98
KB
-rwxr-xr-x
2020-06-11 22:06
dbus-uuidgen
9.98
KB
-rwxr-xr-x
2020-06-11 22:06
dbwrap_tool
18.23
KB
-rwxr-xr-x
2021-04-14 18:00
deallocvt
10.3
KB
-rwxr-xr-x
2016-09-22 19:33
deb-systemd-helper
17.99
KB
-rwxr-xr-x
2016-02-29 13:24
deb-systemd-invoke
4.37
KB
-rwxr-xr-x
2016-02-29 13:24
debconf
2.79
KB
-rwxr-xr-x
2019-05-08 20:33
debconf-apt-progress
11.27
KB
-rwxr-xr-x
2019-05-08 20:33
debconf-communicate
608
B
-rwxr-xr-x
2019-05-08 20:33
debconf-copydb
1.68
KB
-rwxr-xr-x
2019-05-08 20:33
debconf-escape
647
B
-rwxr-xr-x
2019-05-08 20:33
debconf-set-selections
2.87
KB
-rwxr-xr-x
2019-05-08 20:33
debconf-show
1.78
KB
-rwxr-xr-x
2019-05-08 20:33
debian-distro-info
22.59
KB
-rwxr-xr-x
2021-04-21 21:04
delpart
18.45
KB
-rwxr-xr-x
2020-01-27 15:28
dh_bash-completion
2.49
KB
-rwxr-xr-x
2015-08-18 21:47
dh_installxmlcatalogs
9.44
KB
-rwxr-xr-x
2012-11-07 22:44
dh_pypy
11.71
KB
-rwxr-xr-x
2019-08-16 02:59
dh_python2
1.03
KB
-rwxr-xr-x
2017-11-24 01:52
dh_python3
11.91
KB
-rwxr-xr-x
2019-08-16 02:59
diff
123.08
KB
-rwxr-xr-x
2015-12-27 00:11
diff3
54.86
KB
-rwxr-xr-x
2015-12-27 00:11
dig
102.09
KB
-rwxr-xr-x
2021-04-27 15:10
dircolors
38.71
KB
-rwxr-xr-x
2017-03-02 19:07
dirmngr
360.2
KB
-rwxr-xr-x
2018-06-14 22:06
dirmngr-client
94.63
KB
-rwxr-xr-x
2018-06-14 22:06
dirname
30.67
KB
-rwxr-xr-x
2017-03-02 19:07
distro-info
18.59
KB
-rwxr-xr-x
2021-04-21 21:04
do-release-upgrade
7.9
KB
-rwxr-xr-x
2020-10-09 22:55
dotlockfile
14.51
KB
-rwxr-sr-x
2013-12-07 04:08
dpkg
271.74
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-architecture
12.33
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-buildflags
6.07
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-buildpackage
22.49
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-checkbuilddeps
7.33
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-deb
131.43
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-distaddfile
2.71
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-divert
135.4
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-genchanges
17.45
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-gencontrol
13.92
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-gensymbols
10.39
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-maintscript-helper
17.35
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-mergechangelogs
8.34
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-name
6.63
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-parsechangelog
4.44
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-query
143.43
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-scanpackages
8.21
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-scansources
8.94
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-shlibdeps
28.88
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-source
19.86
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-split
107.14
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-statoverride
59.08
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-trigger
70.97
KB
-rwxr-xr-x
2021-04-20 22:48
dpkg-vendor
3.19
KB
-rwxr-xr-x
2021-04-20 22:48
du
119.17
KB
-rwxr-xr-x
2017-03-02 19:07
dumpkeys
80.4
KB
-rwxr-xr-x
2016-09-22 19:33
dvipdf
1023
B
-rwxr-xr-x
2021-01-06 20:23
dwp
2.6
MB
-rwxr-xr-x
2018-12-07 20:49
eatmydata
2.74
KB
-rwxr-xr-x
2016-04-10 21:10
ec2metadata
7.12
KB
-rwxr-xr-x
2020-09-29 20:17
edit
17.55
KB
-rwxr-xr-x
2015-10-30 16:39
editor
203.59
KB
-rwxr-xr-x
2017-02-15 15:33
eject
30.69
KB
-rwxr-xr-x
2017-03-27 17:56
elfedit
30.81
KB
-rwxr-xr-x
2018-12-07 20:49
enc2xs
38.93
KB
-rwxr-xr-x
2020-10-19 12:57
encguess
2.96
KB
-rwxr-xr-x
2020-10-19 12:57
env
30.67
KB
-rwxr-xr-x
2017-03-02 19:07
envsubst
34.51
KB
-rwxr-xr-x
2018-11-07 19:33
eps2eps
639
B
-rwxr-xr-x
2021-01-06 20:23
eqn
181.19
KB
-rwxr-xr-x
2016-01-29 06:15
ex
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
expand
30.73
KB
-rwxr-xr-x
2017-03-02 19:07
expiry
22.23
KB
-rwxr-sr-x
2019-03-26 20:34
expr
38.73
KB
-rwxr-xr-x
2017-03-02 19:07
factor
70.77
KB
-rwxr-xr-x
2017-03-02 19:07
faillog
18.25
KB
-rwxr-xr-x
2019-03-26 20:34
faked-sysv
26.52
KB
-rwxr-xr-x
2014-11-24 15:36
faked-tcp
26.58
KB
-rwxr-xr-x
2014-11-24 15:36
fakeroot
3.76
KB
-rwxr-xr-x
2014-11-24 15:36
fakeroot-sysv
3.76
KB
-rwxr-xr-x
2014-11-24 15:36
fakeroot-tcp
3.76
KB
-rwxr-xr-x
2014-11-24 15:36
fallocate
22.56
KB
-rwxr-xr-x
2020-01-27 15:28
fcat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
fcgistarter
9.96
KB
-rwxr-xr-x
2020-08-13 03:36
ffind
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
figlet
18.86
KB
-rwxr-xr-x
2012-06-26 12:52
figlet-toilet
18.86
KB
-rwxr-xr-x
2012-06-26 12:52
file
18.64
KB
-rwxr-xr-x
2020-05-12 16:07
file-rename
3.1
KB
-rwxr-xr-x
2015-06-05 13:12
find
216.57
KB
-rwxr-xr-x
2016-02-08 00:18
fiwalk
211.73
KB
-rwxr-xr-x
2015-11-29 00:13
flock
26.71
KB
-rwxr-xr-x
2020-01-27 15:28
fls
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
fmt
38.7
KB
-rwxr-xr-x
2017-03-02 19:07
fold
34.7
KB
-rwxr-xr-x
2017-03-02 19:07
formail
38.59
KB
-rwxr-xr-x
2017-11-17 13:44
free
18.37
KB
-rwxr-xr-x
2020-03-05 13:43
from
10.27
KB
-rwxr-xr-x
2016-03-01 12:43
fsstat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
ftp
87.8
KB
-rwxr-xr-x
2015-05-06 15:24
funzip
22.33
KB
-rwxr-xr-x
2020-12-03 02:12
futurize
384
B
-rwxr-xr-x
2018-02-05 14:57
g++
898.27
KB
-rwxr-xr-x
2019-10-04 21:00
g++-5
898.27
KB
-rwxr-xr-x
2019-10-04 21:00
gawk
642.72
KB
-rwxr-xr-x
2015-12-24 00:11
gcc
894.27
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-5
894.27
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-ar
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-ar-5
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-nm
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-nm-5
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-ranlib
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
gcc-ranlib-5
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
gcov
463.84
KB
-rwxr-xr-x
2019-10-04 21:23
gcov-5
463.84
KB
-rwxr-xr-x
2019-10-04 21:23
gcov-tool
451.8
KB
-rwxr-xr-x
2019-10-04 21:23
gcov-tool-5
451.8
KB
-rwxr-xr-x
2019-10-04 21:23
gencat
22.63
KB
-rwxr-xr-x
2021-04-21 20:15
geqn
181.19
KB
-rwxr-xr-x
2016-01-29 06:15
getcifsacl
13.99
KB
-rwxr-xr-x
2017-03-06 14:02
getconf
22.41
KB
-rwxr-xr-x
2021-04-21 20:14
getent
27.3
KB
-rwxr-xr-x
2021-04-21 20:14
getfacl
23.2
KB
-rwxr-xr-x
2016-02-07 12:10
getkeycodes
10.3
KB
-rwxr-xr-x
2016-09-22 19:33
getopt
14.43
KB
-rwxr-xr-x
2020-01-27 15:28
gettext
34.48
KB
-rwxr-xr-x
2018-11-07 19:33
gettext.sh
4.52
KB
-rwxr-xr-x
2018-11-07 19:33
ghostscript
10.21
KB
-rwxr-xr-x
2021-01-06 20:23
ginstall-info
43.72
KB
-rwxr-xr-x
2016-03-12 10:46
git
1.79
MB
-rwxr-xr-x
2021-03-04 17:04
git-receive-pack
1.79
MB
-rwxr-xr-x
2021-03-04 17:04
git-shell
873.52
KB
-rwxr-xr-x
2021-03-04 17:04
git-upload-archive
1.79
MB
-rwxr-xr-x
2021-03-04 17:04
git-upload-pack
957.83
KB
-rwxr-xr-x
2021-03-04 17:04
gold
2.78
MB
-rwxr-xr-x
2018-12-07 20:49
gpasswd
73.54
KB
-rwsr-xr-x
2019-03-26 20:34
gpg
984.99
KB
-rwxr-xr-x
2018-08-06 03:11
gpg-agent
344.6
KB
-rwxr-xr-x
2018-06-14 22:06
gpg-connect-agent
138.73
KB
-rwxr-xr-x
2018-06-14 22:06
gpg-zip
3.23
KB
-rwxr-xr-x
2018-08-06 03:11
gpg2
895.54
KB
-rwxr-xr-x
2018-06-14 22:06
gpgconf
136.45
KB
-rwxr-xr-x
2018-06-14 22:06
gpgparsemail
26.07
KB
-rwxr-xr-x
2018-06-14 22:06
gpgsplit
58.88
KB
-rwxr-xr-x
2018-08-06 03:11
gpgv
363.76
KB
-rwxr-xr-x
2018-08-06 03:11
gpic
196.03
KB
-rwxr-xr-x
2016-01-29 06:15
gprof
96.3
KB
-rwxr-xr-x
2018-12-07 20:49
groff
101.31
KB
-rwxr-xr-x
2016-01-29 06:15
grog
2.71
KB
-rwxr-xr-x
2016-01-29 06:14
grops
161.72
KB
-rwxr-xr-x
2016-01-29 06:15
grotty
117.34
KB
-rwxr-xr-x
2016-01-29 06:15
groups
30.7
KB
-rwxr-xr-x
2017-03-02 19:07
growpart
20.99
KB
-rwxr-xr-x
2020-09-29 20:17
grub-editenv
228.78
KB
-rwxr-xr-x
2021-04-30 18:02
grub-file
632.44
KB
-rwxr-xr-x
2021-04-30 18:02
grub-fstest
762.52
KB
-rwxr-xr-x
2021-04-30 18:02
grub-glue-efi
224.59
KB
-rwxr-xr-x
2021-04-30 18:02
grub-kbdcomp
1.64
KB
-rwxr-xr-x
2021-04-30 18:00
grub-menulst2cfg
200.65
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mkfont
249.28
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mkimage
313.69
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mklayout
228.91
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mknetdir
350.39
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mkpasswd-pbkdf2
228.98
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mkrelpath
224.31
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mkrescue
783.03
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mkstandalone
422.73
KB
-rwxr-xr-x
2021-04-30 18:02
grub-mount
585.11
KB
-rwxr-xr-x
2021-04-30 18:02
grub-ntldr-img
34.34
KB
-rwxr-xr-x
2021-04-30 18:02
grub-render-label
649.04
KB
-rwxr-xr-x
2021-04-30 18:02
grub-script-check
248.45
KB
-rwxr-xr-x
2021-04-30 18:02
grub-syslinux2cfg
597.55
KB
-rwxr-xr-x
2021-04-30 18:02
gs
10.21
KB
-rwxr-xr-x
2021-01-06 20:23
gsbj
350
B
-rwxr-xr-x
2021-01-06 20:23
gsdj
352
B
-rwxr-xr-x
2021-01-06 20:23
gsdj500
352
B
-rwxr-xr-x
2021-01-06 20:23
gslj
353
B
-rwxr-xr-x
2021-01-06 20:23
gslp
350
B
-rwxr-xr-x
2021-01-06 20:23
gsnd
277
B
-rwxr-xr-x
2021-01-06 20:23
gtbl
118.2
KB
-rwxr-xr-x
2016-01-29 06:15
h2ph
28.48
KB
-rwxr-xr-x
2020-10-19 12:57
h2xs
59.35
KB
-rwxr-xr-x
2020-10-19 12:57
hd
30.5
KB
-rwxr-xr-x
2016-03-01 12:43
head
38.73
KB
-rwxr-xr-x
2017-03-02 19:07
helpztags
2.46
KB
-rwxr-xr-x
2016-04-08 13:39
hexdump
30.5
KB
-rwxr-xr-x
2016-03-01 12:43
hfind
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
host
86.37
KB
-rwxr-xr-x
2021-04-27 15:10
hostid
26.64
KB
-rwxr-xr-x
2017-03-02 19:07
hostnamectl
287.2
KB
-rwxr-xr-x
2021-04-02 17:51
htcacheclean
29.97
KB
-rwxr-xr-x
2020-08-13 03:36
htdbm
17.95
KB
-rwxr-xr-x
2020-08-13 03:36
htdigest
13.96
KB
-rwxr-xr-x
2020-08-13 03:36
htpasswd
17.96
KB
-rwxr-xr-x
2020-08-13 03:36
i386
14.38
KB
-rwxr-xr-x
2020-01-27 15:28
icat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
iconv
59
KB
-rwxr-xr-x
2021-04-21 20:14
id
38.83
KB
-rwxr-xr-x
2017-03-02 19:07
ifind
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
igawk
3.11
KB
-rwxr-xr-x
2015-12-24 00:11
ils
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
img_cat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
img_stat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
info
214.74
KB
-rwxr-xr-x
2016-03-12 10:46
infobrowser
214.74
KB
-rwxr-xr-x
2016-03-12 10:46
infocmp
54.57
KB
-rwxr-xr-x
2016-02-19 09:22
infotocap
70.71
KB
-rwxr-xr-x
2016-02-19 09:22
innochecksum
3.48
MB
-rwxr-xr-x
2021-01-28 17:23
innotop
390.81
KB
-rwxr-xr-x
2017-02-03 18:32
install
135.59
KB
-rwxr-xr-x
2017-03-02 19:07
install-info
43.72
KB
-rwxr-xr-x
2016-03-12 10:46
instmodsh
4.23
KB
-rwxr-xr-x
2020-10-19 12:57
ionice
22.59
KB
-rwxr-xr-x
2020-01-27 15:28
ipcmk
22.69
KB
-rwxr-xr-x
2020-01-27 15:28
ipcrm
26.54
KB
-rwxr-xr-x
2020-01-27 15:28
ipcs
46.71
KB
-rwxr-xr-x
2020-01-27 15:28
iptables-xml
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
ischroot
10.34
KB
-rwxr-xr-x
2016-01-26 19:17
iscsiadm
737.26
KB
-rwxr-xr-x
2018-12-11 21:12
istat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
jcat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
jls
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
join
46.77
KB
-rwxr-xr-x
2017-03-02 19:07
jpeg_extract
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
json_pp
3.83
KB
-rwxr-xr-x
2020-10-19 12:57
jsondiff
976
B
-rwxr-xr-x
2015-11-27 15:19
jsonpatch
3.58
KB
-rwxr-xr-x
2015-11-27 15:19
jsonpointer
1.31
KB
-rwxr-xr-x
2015-10-24 07:34
jwt3
288
B
-rwxr-xr-x
2017-08-29 20:41
kbdinfo
10.31
KB
-rwxr-xr-x
2016-09-22 19:33
kbxutil
142.63
KB
-rwxr-xr-x
2018-06-14 22:06
keep-one-running
3.51
KB
-rwxr-xr-x
2014-01-15 23:24
killall
23.18
KB
-rwxr-xr-x
2019-08-20 20:49
last
38.84
KB
-rwxr-xr-x
2020-01-27 15:28
lastb
38.84
KB
-rwxr-xr-x
2020-01-27 15:28
lastlog
14.03
KB
-rwxr-xr-x
2019-03-26 20:34
lcf
7.6
KB
-rwxr-xr-x
2016-03-16 21:58
ld
1.16
MB
-rwxr-xr-x
2018-12-07 20:49
ld.bfd
1.16
MB
-rwxr-xr-x
2018-12-07 20:49
ld.gold
2.78
MB
-rwxr-xr-x
2018-12-07 20:49
ldd
5.3
KB
-rwxr-xr-x
2021-04-21 20:11
less
166.73
KB
-rwxr-xr-x
2017-04-05 15:09
lessecho
10.02
KB
-rwxr-xr-x
2017-04-05 15:09
lessfile
7.58
KB
-rwxr-xr-x
2017-04-05 15:09
lesskey
19.36
KB
-rwxr-xr-x
2017-04-05 15:09
lesspipe
7.58
KB
-rwxr-xr-x
2017-04-05 15:09
letsencrypt
385
B
-rwxr-xr-x
2020-12-18 22:20
lexgrog
90.57
KB
-rwxr-xr-x
2015-11-07 00:14
libnetcfg
15.35
KB
-rwxr-xr-x
2020-10-19 12:57
line
10.32
KB
-rwxr-xr-x
2020-01-27 15:28
link
26.64
KB
-rwxr-xr-x
2017-03-02 19:07
linux-boot-prober
1.54
KB
-rwxr-xr-x
2011-01-20 08:59
linux-check-removal
3.99
KB
-rwxr-xr-x
2020-03-18 12:32
linux-update-symlinks
6.17
KB
-rwxr-xr-x
2020-03-18 12:32
linux-version
2.63
KB
-rwxr-xr-x
2020-03-18 12:32
linux32
14.38
KB
-rwxr-xr-x
2020-01-27 15:28
linux64
14.38
KB
-rwxr-xr-x
2020-01-27 15:28
lnstat
18.68
KB
-rwxr-xr-x
2019-04-16 14:37
loadkeys
108.88
KB
-rwxr-xr-x
2016-09-22 19:33
loadunimap
26.66
KB
-rwxr-xr-x
2016-09-22 19:33
locale
37.91
KB
-rwxr-xr-x
2021-04-21 20:14
localectl
295.22
KB
-rwxr-xr-x
2021-04-02 17:51
localedef
315.71
KB
-rwxr-xr-x
2021-04-21 20:14
locate
38.59
KB
-rwxr-sr-x
2014-11-18 08:54
lockfile
18.32
KB
-rwxr-sr-x
2017-11-17 13:44
logger
35.35
KB
-rwxr-xr-x
2020-01-27 15:28
logname
26.67
KB
-rwxr-xr-x
2017-03-02 19:07
logresolve
9.97
KB
-rwxr-xr-x
2020-08-13 03:36
look
10.3
KB
-rwxr-xr-x
2016-03-01 12:43
lorder
2.7
KB
-rwxr-xr-x
2016-03-01 12:43
lsattr
10.33
KB
-rwxr-xr-x
2020-01-22 15:42
lsb_release
3.55
KB
-rwxr-xr-x
2015-08-26 11:44
lscpu
55.12
KB
-rwxr-xr-x
2020-01-27 15:28
lshw
624.32
KB
-rwxr-xr-x
2019-05-06 16:29
lsinitramfs
2.43
KB
-rwxr-xr-x
2019-10-07 12:53
lsipc
59
KB
-rwxr-xr-x
2020-01-27 15:28
lslocks
31.09
KB
-rwxr-xr-x
2020-01-27 15:28
lslogins
51.15
KB
-rwxr-xr-x
2020-01-27 15:28
lsof
159.4
KB
-rwxr-xr-x
2015-10-28 17:57
lspci
72.23
KB
-rwxr-xr-x
2019-02-11 14:14
lspgpot
1.06
KB
-rwxr-xr-x
2014-06-25 18:17
lsusb
102.66
KB
-rwxr-xr-x
2015-10-23 23:56
ltrace
298.25
KB
-rwxr-xr-x
2016-04-12 07:48
lxc
8.01
MB
-rwxr-xr-x
2017-12-07 22:54
lxcfs
18.07
KB
-rwxr-xr-x
2017-11-09 02:43
lxd
11.37
MB
-rwxr-xr-x
2017-12-07 22:54
lzcat
67.04
KB
-rwxr-xr-x
2014-02-12 16:14
lzcmp
5.39
KB
-rwxr-xr-x
2014-02-12 16:14
lzdiff
5.39
KB
-rwxr-xr-x
2014-02-12 16:14
lzegrep
5.29
KB
-rwxr-xr-x
2014-02-12 16:14
lzfgrep
5.29
KB
-rwxr-xr-x
2014-02-12 16:14
lzgrep
5.29
KB
-rwxr-xr-x
2014-02-12 16:14
lzless
1.78
KB
-rwxr-xr-x
2014-02-12 16:14
lzma
67.04
KB
-rwxr-xr-x
2014-02-12 16:14
lzmainfo
10.26
KB
-rwxr-xr-x
2014-02-12 16:14
lzmore
2.12
KB
-rwxr-xr-x
2014-02-12 16:14
mactime
26.63
KB
-rwxr-xr-x
2015-11-29 00:13
mail
102.24
KB
-rwxr-xr-x
2016-01-29 06:12
mailq
26.02
KB
-rwxr-xr-x
2020-07-28 23:11
mailstat
5.72
KB
-rwxr-xr-x
2017-11-17 13:44
mailx
102.24
KB
-rwxr-xr-x
2016-01-29 06:12
make
202.66
KB
-rwxr-xr-x
2016-02-15 12:13
make-first-existing-target
4.79
KB
-rwxr-xr-x
2016-02-15 12:10
man
104.5
KB
-rwxr-xr-x
2015-11-07 00:14
mandb
126.72
KB
-rwxr-xr-x
2015-11-07 00:14
manifest
1.89
KB
-rwxr-xr-x
2016-04-14 21:29
manpath
30.47
KB
-rwxr-xr-x
2015-11-07 00:14
mapscrn
18.66
KB
-rwxr-xr-x
2016-09-22 19:33
mawk
115.01
KB
-rwxr-xr-x
2014-03-24 10:53
mcookie
26.71
KB
-rwxr-xr-x
2020-01-27 15:28
md5sum
42.77
KB
-rwxr-xr-x
2017-03-02 19:07
md5sum.textutils
42.77
KB
-rwxr-xr-x
2017-03-02 19:07
mesg
10.37
KB
-rwxr-xr-x
2020-01-27 15:28
mk_modmap
15.78
KB
-rwxr-xr-x
2016-09-22 19:33
mkfifo
58.95
KB
-rwxr-xr-x
2017-03-02 19:07
mkpasswd
18.46
KB
-rwxr-xr-x
2015-12-08 18:11
mksquashfs
174.12
KB
-rwxr-xr-x
2018-08-09 00:11
mlocate
38.59
KB
-rwxr-sr-x
2014-11-18 08:54
mlock
10.34
KB
-rwxr-sr-x
2019-10-21 20:09
mmcat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
mmls
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
mmstat
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
mtr
77.66
KB
-rwxr-xr-x
2016-05-12 22:00
mtrace
6.34
KB
-rwxr-xr-x
2021-04-21 20:11
mutt
917.2
KB
-rwxr-xr-x
2021-01-22 14:44
mutt-org
917.2
KB
-rwxr-xr-x
2021-01-22 14:44
mutt_dotlock
10.41
KB
-rwxr-sr-x
2021-01-22 14:44
my_print_defaults
3.44
MB
-rwxr-xr-x
2021-01-28 17:23
myisam_ftdump
3.75
MB
-rwxr-xr-x
2021-01-28 17:23
myisamchk
3.85
MB
-rwxr-xr-x
2021-01-28 17:23
myisamlog
3.73
MB
-rwxr-xr-x
2021-01-28 17:23
myisampack
3.77
MB
-rwxr-xr-x
2021-01-28 17:23
mysql
3.93
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_config_editor
3.46
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_embedded
21.78
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_install_db
4.99
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_plugin
3.45
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_secure_installation
3.61
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_ssl_rsa_setup
3.48
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_tzinfo_to_sql
3.4
MB
-rwxr-xr-x
2021-01-28 17:23
mysql_upgrade
4.24
MB
-rwxr-xr-x
2021-01-28 17:23
mysqladmin
3.62
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlanalyze
3.65
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlbinlog
3.86
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlcheck
3.65
MB
-rwxr-xr-x
2021-01-28 17:23
mysqld_multi
26.32
KB
-rwxr-xr-x
2021-01-28 16:56
mysqld_safe
27.14
KB
-rwxr-xr-x
2021-01-28 16:56
mysqldump
3.69
MB
-rwxr-xr-x
2021-01-28 17:23
mysqldumpslow
7.68
KB
-rwxr-xr-x
2021-01-28 16:56
mysqlimport
3.62
MB
-rwxr-xr-x
2021-01-28 17:23
mysqloptimize
3.65
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlpump
4.08
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlrepair
3.65
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlreport
38.1
KB
-rwxr-xr-x
2017-02-03 18:32
mysqlshow
3.61
MB
-rwxr-xr-x
2021-01-28 17:23
mysqlslap
3.63
MB
-rwxr-xr-x
2021-01-28 17:23
namei
26.58
KB
-rwxr-xr-x
2020-01-27 15:28
nawk
642.72
KB
-rwxr-xr-x
2015-12-24 00:11
ncal
29.14
KB
-rwxr-xr-x
2016-03-01 12:43
neqn
908
B
-rwxr-xr-x
2016-01-29 06:14
net
879.95
KB
-rwxr-xr-x
2021-04-14 18:00
netkit-ftp
87.8
KB
-rwxr-xr-x
2015-05-06 15:24
newaliases
26.02
KB
-rwxr-xr-x
2020-07-28 23:11
newgidmap
32.17
KB
-rwsr-xr-x
2019-03-26 20:34
newgrp
38.97
KB
-rwsr-xr-x
2019-03-26 20:34
newuidmap
32.17
KB
-rwsr-xr-x
2019-03-26 20:34
ngettext
34.5
KB
-rwxr-xr-x
2018-11-07 19:33
nice
34.7
KB
-rwxr-xr-x
2017-03-02 19:07
nl
38.83
KB
-rwxr-xr-x
2017-03-02 19:07
nm
39.79
KB
-rwxr-xr-x
2018-12-07 20:49
nmblookup
114.16
KB
-rwxr-xr-x
2021-04-14 18:00
nohup
30.7
KB
-rwxr-xr-x
2017-03-02 19:07
nproc
30.7
KB
-rwxr-xr-x
2017-03-02 19:07
nroff
3.25
KB
-rwxr-xr-x
2016-01-29 06:14
nsenter
26.88
KB
-rwxr-xr-x
2020-01-27 15:28
nslookup
90.2
KB
-rwxr-xr-x
2021-04-27 15:10
nstat
22.47
KB
-rwxr-xr-x
2019-04-16 14:37
nsupdate
62.02
KB
-rwxr-xr-x
2021-04-27 15:10
ntfsdecrypt
42.12
KB
-rwxr-xr-x
2019-03-21 22:37
ntpdc
123
KB
-rwxr-xr-x
2020-01-07 16:08
ntpq
148.91
KB
-rwxr-xr-x
2020-01-07 16:08
ntpsweep
7.79
KB
-rwxr-xr-x
2020-01-07 16:08
ntptrace
3.48
KB
-rwxr-xr-x
2020-01-07 16:08
numfmt
58.86
KB
-rwxr-xr-x
2017-03-02 19:07
objcopy
219.17
KB
-rwxr-xr-x
2018-12-07 20:49
objdump
348.4
KB
-rwxr-xr-x
2018-12-07 20:49
od
66.83
KB
-rwxr-xr-x
2017-03-02 19:07
on_ac_power
2.2
KB
-rwxr-xr-x
2009-12-02 09:57
openssl
552.87
KB
-rwxr-xr-x
2018-05-12 08:22
os-prober
4.49
KB
-rwxr-xr-x
2016-03-11 14:43
pager
166.73
KB
-rwxr-xr-x
2017-04-05 15:09
paperconf
10.36
KB
-rwxr-xr-x
2015-11-04 12:21
partx
75.63
KB
-rwxr-xr-x
2020-01-27 15:28
passwd
52.98
KB
-rwsr-xr-x
2019-03-26 20:34
paste
30.7
KB
-rwxr-xr-x
2017-03-02 19:07
pastebinit
16.25
KB
-rwxr-xr-x
2016-03-01 06:52
pasteurize
388
B
-rwxr-xr-x
2018-02-05 14:57
patch
151.35
KB
-rwxr-xr-x
2019-07-23 18:39
pathchk
30.67
KB
-rwxr-xr-x
2017-03-02 19:07
pbget
2.51
KB
-rwxr-xr-x
2016-02-29 17:14
pbput
2.51
KB
-rwxr-xr-x
2016-02-29 17:14
pbputs
2.51
KB
-rwxr-xr-x
2016-02-29 17:14
pbr
152
B
-rwxr-xr-x
2015-11-23 11:50
pcimodules
14.59
KB
-rwxr-xr-x
2019-02-11 14:14
pdb
45.02
KB
-rwxr-xr-x
2021-03-01 21:41
pdb2.7
45.02
KB
-rwxr-xr-x
2021-03-01 21:41
pdb3
59.56
KB
-rwxr-xr-x
2021-01-26 19:45
pdb3.5
59.56
KB
-rwxr-xr-x
2021-01-26 19:45
pdf2dsc
698
B
-rwxr-xr-x
2021-01-06 20:23
pdf2ps
909
B
-rwxr-xr-x
2021-01-06 20:23
pear
793
B
-rwxr-xr-x
2021-02-12 11:41
peardev
814
B
-rwxr-xr-x
2021-02-12 11:41
pecl
727
B
-rwxr-xr-x
2021-02-12 11:41
peekfd
10.3
KB
-rwxr-xr-x
2019-08-20 20:49
perl
1.82
MB
-rwxr-xr-x
2020-10-19 12:57
perl5.22-x86_64-linux-gnu
10.25
KB
-rwxr-xr-x
2020-10-19 12:57
perl5.22.1
1.82
MB
-rwxr-xr-x
2020-10-19 12:57
perlbug
44.29
KB
-rwxr-xr-x
2020-10-19 12:57
perldoc
125
B
-rwxr-xr-x
2020-10-19 12:57
perlivp
10.57
KB
-rwxr-xr-x
2020-10-19 12:57
perlthanks
44.29
KB
-rwxr-xr-x
2020-10-19 12:57
perror
3.57
MB
-rwxr-xr-x
2021-01-28 17:23
pf2afm
498
B
-rwxr-xr-x
2021-01-06 20:23
pfbtopfa
516
B
-rwxr-xr-x
2021-01-06 20:23
pftp
87.8
KB
-rwxr-xr-x
2015-05-06 15:24
pg
38.91
KB
-rwxr-xr-x
2020-01-27 15:28
pgrep
26.63
KB
-rwxr-xr-x
2020-03-05 13:43
phar
14.47
KB
-rwxr-xr-x
2021-02-23 18:58
phar.phar
14.47
KB
-rwxr-xr-x
2021-02-23 18:58
phar.phar5.6
14.48
KB
-rwxr-xr-x
2021-02-23 16:44
phar.phar7.2
14.47
KB
-rwxr-xr-x
2021-02-23 18:58
phar5.6
14.48
KB
-rwxr-xr-x
2021-02-23 16:44
phar7.2
14.47
KB
-rwxr-xr-x
2021-02-23 18:58
php
4.66
MB
-rwxr-xr-x
2021-02-23 19:01
php5.6
4.28
MB
-rwxr-xr-x
2021-02-23 16:45
php7.2
4.66
MB
-rwxr-xr-x
2021-02-23 19:01
pic
196.03
KB
-rwxr-xr-x
2016-01-29 06:15
pico
203.59
KB
-rwxr-xr-x
2017-02-15 15:33
piconv
8.12
KB
-rwxr-xr-x
2020-10-19 12:57
pinentry
55.4
KB
-rwxr-xr-x
2016-02-06 18:16
pinentry-curses
55.4
KB
-rwxr-xr-x
2016-02-06 18:16
pinky
34.86
KB
-rwxr-xr-x
2017-03-02 19:07
pkaction
10.39
KB
-rwxr-xr-x
2019-03-27 15:40
pkcheck
18.66
KB
-rwxr-xr-x
2019-03-27 15:40
pkexec
22.83
KB
-rwsr-xr-x
2019-03-27 15:40
pkill
26.63
KB
-rwxr-xr-x
2020-03-05 13:43
pkttyagent
14.44
KB
-rwxr-xr-x
2019-03-27 15:40
pl2pm
4.42
KB
-rwxr-xr-x
2020-10-19 12:57
pldd
14.59
KB
-rwxr-xr-x
2021-04-21 20:14
pmap
30.61
KB
-rwxr-xr-x
2020-03-05 13:43
pod2html
4
KB
-rwxr-xr-x
2020-10-19 12:57
pod2man
13.52
KB
-rwxr-xr-x
2020-10-19 12:57
pod2text
10.75
KB
-rwxr-xr-x
2020-10-19 12:57
pod2usage
3.58
KB
-rwxr-xr-x
2020-10-19 12:57
podchecker
3.61
KB
-rwxr-xr-x
2020-10-19 12:57
podselect
2.47
KB
-rwxr-xr-x
2020-10-19 12:57
pollinate
8.54
KB
-rwxr-xr-x
2018-05-29 22:13
pphs
404
B
-rwxr-xr-x
2021-01-06 20:23
pr
74.95
KB
-rwxr-xr-x
2017-03-02 19:07
preconv
42.2
KB
-rwxr-xr-x
2016-01-29 06:15
prename
2.92
KB
-rwxr-xr-x
2020-10-19 12:57
print
17.55
KB
-rwxr-xr-x
2015-10-30 16:39
printafm
395
B
-rwxr-xr-x
2021-01-06 20:23
printenv
30.64
KB
-rwxr-xr-x
2017-03-02 19:07
printerbanner
18.27
KB
-rwxr-xr-x
2016-03-01 12:43
printf
46.73
KB
-rwxr-xr-x
2017-03-02 19:07
prlimit
31.3
KB
-rwxr-xr-x
2020-01-27 15:28
procmail
87.2
KB
-rwsr-sr-x
2017-11-17 13:44
prove
13.23
KB
-rwxr-xr-x
2020-10-19 12:57
prtstat
14.35
KB
-rwxr-xr-x
2019-08-20 20:49
ps2ascii
631
B
-rwxr-xr-x
2021-01-06 20:23
ps2epsi
2.69
KB
-rwxr-xr-x
2021-01-06 20:23
ps2pdf
272
B
-rwxr-xr-x
2021-01-06 20:23
ps2pdf12
215
B
-rwxr-xr-x
2021-01-06 20:23
ps2pdf13
215
B
-rwxr-xr-x
2021-01-06 20:23
ps2pdf14
215
B
-rwxr-xr-x
2021-01-06 20:23
ps2pdfwr
1.07
KB
-rwxr-xr-x
2021-01-06 20:23
ps2ps
647
B
-rwxr-xr-x
2021-01-06 20:23
ps2ps2
669
B
-rwxr-xr-x
2021-01-06 20:23
ps2txt
631
B
-rwxr-xr-x
2021-01-06 20:23
psfaddtable
18.42
KB
-rwxr-xr-x
2016-09-22 19:33
psfgettable
18.42
KB
-rwxr-xr-x
2016-09-22 19:33
psfstriptable
18.42
KB
-rwxr-xr-x
2016-09-22 19:33
psfxtable
18.42
KB
-rwxr-xr-x
2016-09-22 19:33
pstree
26.82
KB
-rwxr-xr-x
2019-08-20 20:49
pstree.x11
26.82
KB
-rwxr-xr-x
2019-08-20 20:49
pstruct
35.75
KB
-rwxr-xr-x
2020-10-19 12:57
ptar
3.44
KB
-rwxr-xr-x
2020-10-19 12:57
ptardiff
2.53
KB
-rwxr-xr-x
2020-10-19 12:57
ptargrep
4.25
KB
-rwxr-xr-x
2020-10-19 12:57
ptx
66.95
KB
-rwxr-xr-x
2017-03-02 19:07
purge-old-kernels
1.76
KB
-rwxr-xr-x
2016-04-14 21:29
pwdx
10.36
KB
-rwxr-xr-x
2020-03-05 13:43
py3clean
7.62
KB
-rwxr-xr-x
2016-03-23 12:00
py3compile
11.83
KB
-rwxr-xr-x
2016-03-23 12:00
py3versions
11.44
KB
-rwxr-xr-x
2016-03-23 12:00
pybuild
21.33
KB
-rwxr-xr-x
2019-08-16 02:59
pyclean
4.03
KB
-rwxr-xr-x
2017-11-24 01:52
pycompile
11.62
KB
-rwxr-xr-x
2017-11-24 01:52
pydoc
79
B
-rwxr-xr-x
2021-03-01 21:41
pydoc2.7
79
B
-rwxr-xr-x
2021-03-01 21:41
pydoc3
79
B
-rwxr-xr-x
2021-01-26 19:45
pydoc3.5
79
B
-rwxr-xr-x
2021-01-26 19:45
pygettext
21.58
KB
-rwxr-xr-x
2021-03-01 21:41
pygettext2.7
21.58
KB
-rwxr-xr-x
2021-03-01 21:41
pygettext3
21.73
KB
-rwxr-xr-x
2021-01-26 19:45
pygettext3.5
21.73
KB
-rwxr-xr-x
2021-01-26 19:45
python
3.33
MB
-rwxr-xr-x
2021-03-01 21:47
python2
3.33
MB
-rwxr-xr-x
2021-03-01 21:47
python2.7
3.33
MB
-rwxr-xr-x
2021-03-01 21:47
python3
4.25
MB
-rwxr-xr-x
2021-01-26 19:48
python3-futurize
384
B
-rwxr-xr-x
2018-02-05 14:57
python3-jsondiff
976
B
-rwxr-xr-x
2015-11-27 15:19
python3-jsonpatch
3.58
KB
-rwxr-xr-x
2015-11-27 15:19
python3-jsonpointer
1.31
KB
-rwxr-xr-x
2015-10-24 07:34
python3-pasteurize
388
B
-rwxr-xr-x
2018-02-05 14:57
python3-pbr
152
B
-rwxr-xr-x
2015-11-23 11:50
python3.5
4.25
MB
-rwxr-xr-x
2021-01-26 19:48
python3.5m
4.25
MB
-rwxr-xr-x
2021-01-26 19:48
python3m
4.25
MB
-rwxr-xr-x
2021-01-26 19:48
pyversions
14.75
KB
-rwxr-xr-x
2017-11-24 01:52
ranlib
59.12
KB
-rwxr-xr-x
2018-12-07 20:49
rcp
86.14
KB
-rwxr-xr-x
2020-05-27 01:17
readelf
473.81
KB
-rwxr-xr-x
2018-12-07 20:49
realpath
58.83
KB
-rwxr-xr-x
2017-03-02 19:07
rename
3.1
KB
-rwxr-xr-x
2015-06-05 13:12
rename.ul
14.41
KB
-rwxr-xr-x
2020-01-27 15:28
renice
10.38
KB
-rwxr-xr-x
2020-01-27 15:28
replace
3.42
MB
-rwxr-xr-x
2021-01-28 17:23
reset
18.42
KB
-rwxr-xr-x
2016-02-19 09:22
resizecons
18.6
KB
-rwxr-xr-x
2016-09-22 19:33
resizepart
34.86
KB
-rwxr-xr-x
2020-01-27 15:28
resolveip
3.44
MB
-rwxr-xr-x
2021-01-28 17:23
restoreMySQL
872
B
-rwxr-xr-x
2016-12-23 21:32
rev
10.38
KB
-rwxr-xr-x
2020-01-27 15:28
rgrep
30
B
-rwxr-xr-x
2016-03-04 18:02
rlogin
690.67
KB
-rwxr-xr-x
2020-05-27 01:17
rmail
13.87
KB
-rwxr-xr-x
2020-07-28 23:11
rotatelogs
18.04
KB
-rwxr-xr-x
2020-08-13 03:36
routef
173
B
-rwxr-xr-x
2015-11-04 01:34
routel
1.23
KB
-rwxr-xr-x
2015-11-04 01:34
rpcgen
90.94
KB
-rwxr-xr-x
2021-04-21 20:15
rsh
690.67
KB
-rwxr-xr-x
2020-05-27 01:17
rsync
480.21
KB
-rwxr-xr-x
2020-02-20 18:38
rtstat
18.68
KB
-rwxr-xr-x
2019-04-16 14:37
run-mailcap
17.55
KB
-rwxr-xr-x
2015-10-30 16:39
run-one
3.51
KB
-rwxr-xr-x
2014-01-15 23:24
run-one-constantly
3.51
KB
-rwxr-xr-x
2014-01-15 23:24
run-one-until-failure
3.51
KB
-rwxr-xr-x
2014-01-15 23:24
run-one-until-success
3.51
KB
-rwxr-xr-x
2014-01-15 23:24
run-this-one
3.51
KB
-rwxr-xr-x
2014-01-15 23:24
runcon
34.8
KB
-rwxr-xr-x
2017-03-02 19:07
rview
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
rvim
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
samba-regedit
95.18
KB
-rwxr-xr-x
2021-04-14 18:00
samba-tool
1.52
KB
-rwxr-xr-x
2021-04-14 18:00
savelog
10.22
KB
-rwxr-xr-x
2016-01-26 19:17
scp
86.14
KB
-rwxr-xr-x
2020-05-27 01:17
screen
424.04
KB
-rwxr-sr-x
2021-02-23 19:14
screendump
10.33
KB
-rwxr-xr-x
2016-09-22 19:33
script
22.66
KB
-rwxr-xr-x
2020-01-27 15:28
scriptreplay
14.4
KB
-rwxr-xr-x
2020-01-27 15:28
sdiff
46.78
KB
-rwxr-xr-x
2015-12-27 00:11
see
17.55
KB
-rwxr-xr-x
2015-10-30 16:39
select-editor
1.19
KB
-rwxr-xr-x
2018-02-21 20:37
sensible-browser
1.11
KB
-rwxr-xr-x
2018-02-21 20:37
sensible-editor
1.08
KB
-rwxr-xr-x
2018-02-21 20:37
sensible-pager
288
B
-rwxr-xr-x
2018-02-21 20:37
seq
46.73
KB
-rwxr-xr-x
2017-03-02 19:07
setarch
14.38
KB
-rwxr-xr-x
2020-01-27 15:28
setcifsacl
17.99
KB
-rwxr-xr-x
2017-03-06 14:02
setfacl
35.45
KB
-rwxr-xr-x
2016-02-07 12:10
setkeycodes
10.29
KB
-rwxr-xr-x
2016-09-22 19:33
setleds
10.32
KB
-rwxr-xr-x
2016-09-22 19:33
setlogcons
10.27
KB
-rwxr-xr-x
2016-09-22 19:33
setmetamode
10.37
KB
-rwxr-xr-x
2016-09-22 19:33
setpci
22.47
KB
-rwxr-xr-x
2019-02-11 14:14
setsid
10.38
KB
-rwxr-xr-x
2020-01-27 15:28
setterm
34.61
KB
-rwxr-xr-x
2020-01-27 15:28
sftp
134.36
KB
-rwxr-xr-x
2020-05-27 01:17
sg
38.97
KB
-rwsr-xr-x
2019-03-26 20:34
sha1sum
42.77
KB
-rwxr-xr-x
2017-03-02 19:07
sha224sum
50.77
KB
-rwxr-xr-x
2017-03-02 19:07
sha256sum
50.77
KB
-rwxr-xr-x
2017-03-02 19:07
sha384sum
54.77
KB
-rwxr-xr-x
2017-03-02 19:07
sha512sum
54.77
KB
-rwxr-xr-x
2017-03-02 19:07
shasum
9.11
KB
-rwxr-xr-x
2020-10-19 12:57
showconsolefont
18.4
KB
-rwxr-xr-x
2016-09-22 19:33
showkey
14.34
KB
-rwxr-xr-x
2016-09-22 19:33
shred
54.92
KB
-rwxr-xr-x
2017-03-02 19:07
shuf
54.83
KB
-rwxr-xr-x
2017-03-02 19:07
sigfind
9.99
KB
-rwxr-xr-x
2015-11-29 00:13
size
30.96
KB
-rwxr-xr-x
2018-12-07 20:49
skill
22.61
KB
-rwxr-xr-x
2020-03-05 13:43
slabtop
18.47
KB
-rwxr-xr-x
2020-03-05 13:43
slogin
690.67
KB
-rwxr-xr-x
2020-05-27 01:17
smbpasswd
29.99
KB
-rwxr-xr-x
2021-04-14 18:00
smime_keys
30.03
KB
-rwxr-xr-x
2021-01-22 14:44
snap
18.52
MB
-rwxr-xr-x
2021-02-08 05:39
snapctl
6.59
MB
-rwxr-xr-x
2021-02-08 05:39
snapfuse
34.65
KB
-rwxr-xr-x
2021-02-08 05:39
snice
22.61
KB
-rwxr-xr-x
2020-03-05 13:43
soelim
30.2
KB
-rwxr-xr-x
2016-01-29 06:15
sort
107.46
KB
-rwxr-xr-x
2017-03-02 19:07
sorter
49.22
KB
-rwxr-xr-x
2015-11-29 00:13
sosreport
562
B
-rwxr-xr-x
2021-04-22 18:49
sotruss
4.21
KB
-rwxr-xr-x
2021-04-21 20:11
splain
18.33
KB
-rwxr-xr-x
2020-10-19 12:57
split
67.41
KB
-rwxr-xr-x
2017-03-02 19:07
splitfont
10.27
KB
-rwxr-xr-x
2016-09-22 19:33
sprof
22.71
KB
-rwxr-xr-x
2021-04-21 20:15
srch_strings
13.99
KB
-rwxr-xr-x
2015-11-29 00:13
ssh
690.67
KB
-rwxr-xr-x
2020-05-27 01:17
ssh-add
330.21
KB
-rwxr-xr-x
2020-05-27 01:17
ssh-agent
350.22
KB
-rwxr-sr-x
2020-05-27 01:17
ssh-argv0
1.42
KB
-rwxr-xr-x
2020-05-13 16:12
ssh-copy-id
10.12
KB
-rwxr-xr-x
2016-03-09 19:04
ssh-import-id
1.73
KB
-rwxr-xr-x
2016-02-18 21:44
ssh-import-id-gh
782
B
-rwxr-xr-x
2016-01-30 06:11
ssh-import-id-lp
782
B
-rwxr-xr-x
2016-01-30 06:11
ssh-keygen
390.23
KB
-rwxr-xr-x
2020-05-27 01:17
ssh-keyscan
402.23
KB
-rwxr-xr-x
2020-05-27 01:17
stat
79.05
KB
-rwxr-xr-x
2017-03-02 19:07
stdbuf
62.83
KB
-rwxr-xr-x
2017-03-02 19:07
strace
846.17
KB
-rwxr-xr-x
2016-01-13 16:34
strings
27.08
KB
-rwxr-xr-x
2018-12-07 20:49
strip
219.18
KB
-rwxr-xr-x
2018-12-07 20:49
sudo
133.6
KB
-rwsr-xr-x
2021-01-20 18:08
sudoedit
133.6
KB
-rwsr-xr-x
2021-01-20 18:08
sudoreplay
46.56
KB
-rwxr-xr-x
2021-01-20 18:08
sum
38.74
KB
-rwxr-xr-x
2017-03-02 19:07
symcryptrun
98.6
KB
-rwxr-xr-x
2018-06-14 22:06
systemd-analyze
1.43
MB
-rwxr-xr-x
2021-04-02 17:51
systemd-cat
34.43
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-cgls
291.22
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-cgtop
303.3
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-delta
62.59
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-detect-virt
34.42
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-path
42.42
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-resolve
327.21
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-run
367.52
KB
-rwxr-xr-x
2021-04-02 17:51
systemd-stdio-bridge
343.2
KB
-rwxr-xr-x
2021-04-02 17:51
tabs
14.23
KB
-rwxr-xr-x
2016-02-19 09:22
tac
34.73
KB
-rwxr-xr-x
2017-03-02 19:07
tail
62.92
KB
-rwxr-xr-x
2017-03-02 19:07
tasksel
18.47
KB
-rwxr-xr-x
2016-01-02 03:46
taskset
30.68
KB
-rwxr-xr-x
2020-01-27 15:28
tbl
118.2
KB
-rwxr-xr-x
2016-01-29 06:15
tee
34.73
KB
-rwxr-xr-x
2017-03-02 19:07
telnet
97.5
KB
-rwxr-xr-x
2015-05-06 15:24
telnet.netkit
97.5
KB
-rwxr-xr-x
2015-05-06 15:24
test
46.7
KB
-rwxr-xr-x
2017-03-02 19:07
testparm
25.99
KB
-rwxr-xr-x
2021-04-14 18:00
tic
70.71
KB
-rwxr-xr-x
2016-02-19 09:22
time
14.72
KB
-rwxr-xr-x
2015-07-22 13:11
timedatectl
295.22
KB
-rwxr-xr-x
2021-04-02 17:51
timeout
55.38
KB
-rwxr-xr-x
2017-03-02 19:07
tload
14.44
KB
-rwxr-xr-x
2020-03-05 13:43
tmux
500.7
KB
-rwxr-xr-x
2016-02-07 11:13
toe
14.34
KB
-rwxr-xr-x
2016-02-19 09:22
toilet
18.86
KB
-rwxr-xr-x
2012-06-26 12:52
top
106.51
KB
-rwxr-xr-x
2020-03-05 13:43
touch
62.92
KB
-rwxr-xr-x
2017-03-02 19:07
tput
14.3
KB
-rwxr-xr-x
2016-02-19 09:22
tr
46.73
KB
-rwxr-xr-x
2017-03-02 19:07
tracepath
14.34
KB
-rwxr-xr-x
2014-05-07 21:45
tracepath6
14.34
KB
-rwxr-xr-x
2014-05-07 21:45
traceroute6
22.56
KB
-rwxr-xr-x
2014-05-07 21:45
traceroute6.iputils
22.56
KB
-rwxr-xr-x
2014-05-07 21:45
troff
695.34
KB
-rwxr-xr-x
2016-01-29 06:15
truncate
50.8
KB
-rwxr-xr-x
2017-03-02 19:07
tset
18.42
KB
-rwxr-xr-x
2016-02-19 09:22
tsk_comparedir
94.7
KB
-rwxr-xr-x
2015-11-29 00:13
tsk_gettimes
86.7
KB
-rwxr-xr-x
2015-11-29 00:13
tsk_loaddb
86.63
KB
-rwxr-xr-x
2015-11-29 00:13
tsk_recover
90.7
KB
-rwxr-xr-x
2015-11-29 00:13
tsort
34.67
KB
-rwxr-xr-x
2017-03-02 19:07
tty
26.67
KB
-rwxr-xr-x
2017-03-02 19:07
tzselect
14.85
KB
-rwxr-xr-x
2021-04-21 20:11
ua
362
B
-rwxr-xr-x
2022-06-20 16:29
ubuntu-advantage
362
B
-rwxr-xr-x
2022-06-20 16:29
ubuntu-bug
2.5
KB
-rwxr-xr-x
2025-07-11 17:07
ubuntu-core-launcher
108.2
KB
-rwsr-xr-x
2021-02-08 05:39
ubuntu-distro-info
18.59
KB
-rwxr-xr-x
2021-04-21 21:04
ubuntu-support-status
7.99
KB
-rwxr-xr-x
2019-11-18 21:51
ucf
39.68
KB
-rwxr-xr-x
2016-03-16 21:58
ucfq
18.91
KB
-rwxr-xr-x
2016-03-16 21:58
ucfr
10.47
KB
-rwxr-xr-x
2016-03-16 21:58
ul
14.3
KB
-rwxr-xr-x
2016-03-01 12:43
unattended-upgrade
82.55
KB
-rwxr-xr-x
2021-03-05 14:33
unattended-upgrades
82.55
KB
-rwxr-xr-x
2021-03-05 14:33
unexpand
30.73
KB
-rwxr-xr-x
2017-03-02 19:07
unicode_stop
530
B
-rwxr-xr-x
2016-09-22 19:33
uniq
42.77
KB
-rwxr-xr-x
2017-03-02 19:07
unlink
26.64
KB
-rwxr-xr-x
2017-03-02 19:07
unlzma
67.04
KB
-rwxr-xr-x
2014-02-12 16:14
unshare
18.72
KB
-rwxr-xr-x
2020-01-27 15:28
unsquashfs
92.65
KB
-rwxr-xr-x
2018-08-09 00:11
unxz
67.04
KB
-rwxr-xr-x
2014-02-12 16:14
unzip
162.89
KB
-rwxr-xr-x
2020-12-03 02:12
unzipsfx
74.8
KB
-rwxr-xr-x
2020-12-03 02:12
update-alternatives
46.61
KB
-rwxr-xr-x
2021-04-20 22:48
update-leap
11.24
KB
-rwxr-xr-x
2020-01-07 16:08
update-mime-database
672
B
-rwxr-xr-x
2018-07-13 16:07
update-mime-database.real
51.16
KB
-rwxr-xr-x
2018-07-13 16:07
updatedb
42.74
KB
-rwxr-xr-x
2014-11-18 08:54
updatedb.mlocate
42.74
KB
-rwxr-xr-x
2014-11-18 08:54
uptime
10.33
KB
-rwxr-xr-x
2020-03-05 13:43
usb-devices
4.12
KB
-rwxr-xr-x
2015-10-23 23:56
usbhid-dump
22.55
KB
-rwxr-xr-x
2015-10-23 23:56
users
30.7
KB
-rwxr-xr-x
2017-03-02 19:07
utmpdump
14.52
KB
-rwxr-xr-x
2020-01-27 15:28
uuidgen
10.35
KB
-rwxr-xr-x
2020-01-27 15:28
vcs-run
6.75
KB
-rwxr-xr-x
2020-09-29 20:17
vi
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
view
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
vigpg
2.58
KB
-rwxr-xr-x
2016-04-14 21:29
vim
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
vim.basic
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
vim.tiny
1.02
MB
-rwxr-xr-x
2020-10-14 14:59
vimdiff
2.33
MB
-rwxr-xr-x
2020-10-14 15:04
vimtutor
2.04
KB
-rwxr-xr-x
2020-10-14 14:58
vmhgfs-fuse
47.09
KB
-rwxr-xr-x
2018-05-09 01:51
vmstat
30.48
KB
-rwxr-xr-x
2020-03-05 13:43
vmtoolsd
47.55
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-checkvm
10.3
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-guestproxycerttool
31.45
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-hgfsclient
10.38
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-namespace-cmd
14.45
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-rpctool
18.38
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-toolbox-cmd
39.02
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-vgauth-cmd
14.41
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-vgauth-smoketest
18.34
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-vmblock-fuse
14.8
KB
-rwxr-xr-x
2018-05-09 01:51
vmware-xferlogs
10.42
KB
-rwxr-xr-x
2018-05-09 01:51
volname
9.99
KB
-rwxr-xr-x
2017-03-27 17:56
w
18.48
KB
-rwxr-xr-x
2020-03-05 13:43
w.procps
18.48
KB
-rwxr-xr-x
2020-03-05 13:43
wall
26.73
KB
-rwxr-sr-x
2020-01-27 15:28
watch
23.14
KB
-rwxr-xr-x
2020-03-05 13:43
watchgnupg
13.99
KB
-rwxr-xr-x
2018-06-14 22:06
wc
42.8
KB
-rwxr-xr-x
2017-03-02 19:07
wget
463.53
KB
-rwxr-xr-x
2019-04-09 00:43
whatis
46.98
KB
-rwxr-xr-x
2015-11-07 00:14
whereis
23.09
KB
-rwxr-xr-x
2020-01-27 15:28
which
946
B
-rwxr-xr-x
2016-01-26 19:17
who
46.86
KB
-rwxr-xr-x
2017-03-02 19:07
whoami
26.67
KB
-rwxr-xr-x
2017-03-02 19:07
whois
72.53
KB
-rwxr-xr-x
2015-12-08 18:11
wifi-status
1.43
KB
-rwxr-xr-x
2016-04-14 21:29
write
14.41
KB
-rwxr-sr-x
2016-03-01 12:43
x86_64
14.38
KB
-rwxr-xr-x
2020-01-27 15:28
x86_64-linux-gnu-addr2line
27.12
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-ar
59.12
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-as
360.82
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-c++filt
26.61
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-cpp
898.27
KB
-rwxr-xr-x
2019-10-04 20:49
x86_64-linux-gnu-cpp-5
898.27
KB
-rwxr-xr-x
2019-10-04 20:49
x86_64-linux-gnu-dwp
2.6
MB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-elfedit
30.81
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-g++
898.27
KB
-rwxr-xr-x
2019-10-04 21:00
x86_64-linux-gnu-g++-5
898.27
KB
-rwxr-xr-x
2019-10-04 21:00
x86_64-linux-gnu-gcc
894.27
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-5
894.27
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-ar
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-ar-5
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-nm
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-nm-5
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-ranlib
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcc-ranlib-5
30.41
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcov
463.84
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcov-5
463.84
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcov-tool
451.8
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gcov-tool-5
451.8
KB
-rwxr-xr-x
2019-10-04 21:23
x86_64-linux-gnu-gprof
96.3
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-ld
1.16
MB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-ld.bfd
1.16
MB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-ld.gold
2.78
MB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-nm
39.79
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-objcopy
219.17
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-objdump
348.4
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-ranlib
59.12
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-readelf
473.81
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-size
30.96
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-strings
27.08
KB
-rwxr-xr-x
2018-12-07 20:49
x86_64-linux-gnu-strip
219.18
KB
-rwxr-xr-x
2018-12-07 20:49
xargs
66.21
KB
-rwxr-xr-x
2016-02-08 00:18
xauth
39.45
KB
-rwxr-xr-x
2015-03-26 23:25
xdg-user-dir
234
B
-rwxr-xr-x
2018-03-28 14:07
xdg-user-dirs-update
18.49
KB
-rwxr-xr-x
2018-03-28 14:07
xsubpp
5.01
KB
-rwxr-xr-x
2020-10-19 12:57
xxd
18.12
KB
-rwxr-xr-x
2020-10-14 15:04
xz
67.04
KB
-rwxr-xr-x
2014-02-12 16:14
xzcat
67.04
KB
-rwxr-xr-x
2014-02-12 16:14
xzcmp
5.39
KB
-rwxr-xr-x
2014-02-12 16:14
xzdiff
5.39
KB
-rwxr-xr-x
2014-02-12 16:14
xzegrep
5.29
KB
-rwxr-xr-x
2014-02-12 16:14
xzfgrep
5.29
KB
-rwxr-xr-x
2014-02-12 16:14
xzgrep
5.29
KB
-rwxr-xr-x
2014-02-12 16:14
xzless
1.78
KB
-rwxr-xr-x
2014-02-12 16:14
xzmore
2.12
KB
-rwxr-xr-x
2014-02-12 16:14
yes
30.67
KB
-rwxr-xr-x
2017-03-02 19:07
zdump
14.42
KB
-rwxr-xr-x
2021-04-21 20:14
zipdetails
47.32
KB
-rwxr-xr-x
2020-10-19 12:57
zipgrep
2.88
KB
-rwxr-xr-x
2020-12-03 02:12
zipinfo
162.89
KB
-rwxr-xr-x
2020-12-03 02:12
Save
Rename
#!/usr/bin/perl -w my $BIN_DIR="/usr/bin"; my $DATA_DIR="/usr/share"; my $VER="4.2.0"; # # The Sleuth Kit # # Brian Carrier [carrier <at> sleuthkit [dot] org] # Copyright (c) 2003-2011 Brian Carrier. All rights reserved # # TASK # Copyright (c) 2002-2003 Brian Carrier, @stake Inc. All rights reserved # # This software is distributed under the Common Public License 1.0 use strict; use integer; my $SHARE_DIR = "$DATA_DIR/tsk/sorter/"; my $SK_FLS = "${BIN_DIR}/fls"; my $SK_ICAT = "${BIN_DIR}/icat"; my $SK_HFIND = "${BIN_DIR}/hfind"; my $SK_FSSTAT = "${BIN_DIR}/fsstat"; my $SK_IMGSTAT = "${BIN_DIR}/img_stat"; my $SK_FILE = ""; my $SK_MD5 = ""; my $SK_SHA1 = ""; my $MIS_NAME = "mismatch"; my $UNK_NAME = "unknown"; my $ALERT_NAME = "alert"; my $EXCLUDE_NAME = "exclude"; my $EXCLUDEMIS_NAME = "mismatch_exclude"; my $IGNORE_NAME = "ignore"; # Formats for regular expressions my $REG_DAY = '\d\d\d\d\-\d\d\-\d\d'; my $REG_TIME = '\d\d:\d\d:\d\d'; my $REG_ZONE2 = '\([\w\+\- ]*\)'; my $REG_DATE = "$REG_DAY" . '\s+' . "$REG_TIME" . '\s+' . "$REG_ZONE2"; my $SUMMARY_NAME = "sorter.sum"; # CONSTANTS my $DEL_ALLOC = 0; # Allocated File my $DEL_DEL = 1; # Deleted File # Text / HTML CONSTANTS my $NL = "\n"; my $TAB = ' '; my $EXT = '.txt'; my $BUL = "- "; my $IMG_PAGE = 100; # Globals my $alloc_cnt = 0; # Number of allocated files processed my $dirskip_cnt = 0; # Files skipped because dir or null size my $realloc_cnt = 0; # Files skipped because they were marked as realloc my $ignore_cnt = 0; # Files skipped bc in ignore category my $alert_cnt = 0; # number of files flagged by hash my $excl_cnt = 0; # number of files skipped bc known good my $mis_cnt = 0; # number of mismatch files my $exclmis_cnt = 0; # known good file with extension mismatch my $img_cnt = 0; # number of images sub usage { print <<EOF; sorter [-b size] [-E] [-e] [-h] [-l] [-md5] [-s] [-sha1] [-U] [-v] [-V] [-a hash_alert] [-c config] [-C config] [-d dir] [-m mnt] [-n nsrl_db] [-x hash_exclude] [-o imgoffset] [-f fstype] [-i imgtype] image [images] [dir_meta_addr] -b size: Minimum size. Ignore files smaller than 'size' -E: Perform category indexing only (no extension checks - was '-i') -e: Perform extension checks only (no category index files) -h: HTML Format -l: List index to STDOUT (no files are ever written) -md5: Print the MD5 value with the index output -s: Save files to category directories -sha1: Print the SHA-1 value with the index output -U: Ignore the unknown category - only save catgories in config files -v: verbose debugging output -V: print version information -a hash_alert: hash database of hashes to alert on -c config: specify a config file to use (in addition to default files) NOTE: This config file has priority over default files -C config: specify the ONLY config file to use -d dir: Save category index files in the specified directory -f fstype: file system type (Sleuth Kit types) of image -i imgtype: Format of image file -o imgoffset: Offset of file system in image (in sectors) -m mnt: The mounting point of the image -n nsrl_db: The NIST NSRL database file (NSRLFile.txt) (hashes to ignore) -x hash_exclude: hash database of hashes to ignore dir_meta_addr: Address of directory to start analyzing from image: image to analyze EOF exit(1); } sub version { print "The Sleuth Kit ver $VER\n"; } my @s_dirs = ( "/usr/local/bin/", "/usr/local/sbin/", "/usr/bin/", "/usr/sbin/", "/bin/", "/sbin/" ); sub find_file { $SK_FILE = ""; foreach my $d (@s_dirs) { if (-x "${d}file") { $SK_FILE = "${d}file"; return; } } print "File tool not found\n"; exit(1); } sub find_md5 { $SK_MD5 = ""; foreach my $d (@s_dirs) { if (-x "${d}md5") { $SK_MD5 = "${d}md5"; return; } } foreach my $d (@s_dirs) { if (-x "${d}md5sum") { $SK_MD5 = "${d}md5sum"; return; } } print "md5 or md5sum tool not found\n"; exit(1); } sub find_sha1 { $SK_SHA1 = ""; foreach my $d (@s_dirs) { if (-x "${d}sha1") { $SK_SHA1 = "${d}sha1"; return; } } foreach my $d (@s_dirs) { if (-x "${d}sha1sum") { $SK_SHA1 = "${d}sha1sum"; return; } } print "sha1 or sha1sum tool not found\n"; exit(1); } # Globals # Globals my %file_to_cat; my @cat_order; my %file_to_ext = (NOT_USED => [","]); my @ext_order; my %cat_handle; my %output_used; # Argument variables my $HTML = 0; my $LIST = 0; my $SAVE = 0; my $VERBOSE = 0; my $DO_MD5 = 0; my $DO_SHA1 = 0; my $ALL_CONFIGS = 1; my $DO_INDEX = 1; # create index files by category my $DO_UNKNOWN = 1; # Process the files that are unknown my $DO_EXT = 1; # Do extension mismatch analysis my $MIN_SIZE = 0; my $CONFIG = ""; my $DIR = ""; my $FSTYPE = ""; my $IMGTYPE = ""; my $IMGOFF = 0; my $NSRL = ""; my $PLATFORM = ""; my $ALERT_DB = ""; my $EXCLUDE_DB = ""; my $img_shrt; my $TEMP_FILE; my $img_str = ""; my $MNT = ""; usage() if (scalar @ARGV == 0); # Read the arguments while (($_ = $ARGV[0]) =~ /^-(.)(.*)/) { # Alert hash database if (/^-a$/) { shift(@ARGV); if (defined $ARGV[0]) { $ALERT_DB = $ARGV[0]; } else { print "-a requires hash database argument\n"; usage(); } unless (-e "$ALERT_DB") { print "Alert hash database $ALERT_DB does not exist\n"; usage(); } $DO_MD5 = 1; } # @@@ This is currently not used elsif (/^-b$/) { shift(@ARGV); if (defined $ARGV[0]) { $MIN_SIZE = $ARGV[0]; } else { print "-b requires a size\n"; usage(); } } # config file to use in addition to other config files elsif (/^-c$/) { if ($ALL_CONFIGS == 0) { print "-c cannot be used with -C\n"; exit(1); } shift(@ARGV); if (defined $ARGV[0]) { $CONFIG = $ARGV[0]; } else { print "-c requires config file argument\n"; usage(); } unless (-e "$CONFIG") { print "Config file $CONFIG does not exist\n"; usage(); } } # Exclusive config file to use elsif (/^-C$/) { if ($CONFIG ne "") { print "-C cannot be used with -c\n"; exit(1); } shift(@ARGV); if (defined $ARGV[0]) { $CONFIG = $ARGV[0]; } else { print "-C requires config file argument\n"; usage(); } unless (-e "$CONFIG") { print "Config file $CONFIG does not exist\n"; usage(); } $ALL_CONFIGS = 0; } # output directory for category files elsif (/^-d$/) { shift(@ARGV); if (defined $ARGV[0]) { $DIR = $ARGV[0]; } else { print "-d requires directory name\n"; usage(); } unless (-d "$DIR") { print "Directory $DIR does not exist\n"; usage(); } } # Extension mismatch only elsif (/^-e$/) { $DO_INDEX = 0; } # Category types only elsif (/^-E$/) { $DO_EXT = 0; } # file system type elsif (/^-f$/) { shift(@ARGV); if (defined $ARGV[0]) { $FSTYPE = "-f " . $ARGV[0]; } else { print "-f requires file system type\n"; usage(); } } # HTML elsif (/^-h$/) { $HTML = 1; $NL = "<BR>\n"; $TAB = " "; $EXT = ".html"; $BUL = " <LI>"; } # Image type elsif (/^-i$/) { shift(@ARGV); if (defined $ARGV[0]) { $IMGTYPE = "-i " . $ARGV[0]; } else { print "-i requires file system type\n"; usage(); } } # List the data instead of saving to files elsif (/^-l$/) { $LIST = 1; } elsif (/^-m$/) { shift(@ARGV); if (defined $ARGV[0]) { $MNT = $ARGV[0]; } else { print "-m requires a mounting point\n"; usage(); } $MNT .= "/" unless ($MNT =~ /\/$/); } # MD5 hashes elsif (/^-md5$/) { $DO_MD5 = 1; } # NIST NSRL hash database for excluding files elsif (/^-n$/) { shift(@ARGV); if (defined $ARGV[0]) { $NSRL = $ARGV[0]; } else { print "-n requires file name\n"; usage(); } unless (-e "$NSRL") { print "NSRL Database file missing ($NSRL)\n"; usage(); } $DO_MD5 = 1; } elsif (/^-o$/) { shift(@ARGV); if (defined $ARGV[0]) { $IMGOFF = $ARGV[0]; unless ($IMGOFF =~ /^\d+$/) { print "Invalid sector offset\n"; usage(); } } else { print "-o requires offset value\n"; usage(); } } # Do SHA elsif (/^-sha1$/) { $DO_SHA1 = 1; } # Save the files in category directories elsif (/^-s$/) { $SAVE = 1; } elsif (/^-U$/) { $DO_UNKNOWN = 0; } # Version elsif (/^-V$/) { version(); exit(0); } # Verbose elsif (/^-v$/) { $VERBOSE = 1; } # Exclude hash database elsif (/^-x$/) { shift(@ARGV); if (defined $ARGV[0]) { $EXCLUDE_DB = $ARGV[0]; } else { print "-x requires hash database argument\n"; usage(); } unless (-e "$EXCLUDE_DB") { print "Exclude hash database $EXCLUDE_DB does not exist\n"; usage(); } $DO_MD5 = 1; } else { print "Unknown option: $_\n"; usage(); } shift(@ARGV); } if (scalar @ARGV == 0) { print "Missing image argument\n"; usage(); } # Find local copies of std execs find_file(); if ($DO_MD5 == 1) { find_md5(); } if ($DO_SHA1 == 1) { find_sha1(); } # Verify that the TSK binaries are there check_execs(); # Process the rest of the arguments - image and optional meta addr my $IMG = ""; # global for image path my $first_img = ""; my $META = ""; # global for root directory to start with # Cycle through the rest of the args while (my $tmpimg = shift @ARGV) { # If it isn't a file, then it is probably the last meta addr unless ((-e "$tmpimg") || (-l "$tmpimg")) { if ($tmpimg =~ /^\d+$/) { if (scalar @ARGV != 0) { print "Invalid image file (additional args after meta addr)\n"; usage(); } $META = $tmpimg; print "Using Directory $META\n" if ($VERBOSE); last; } else { print "Image file not found: $tmpimg\n"; exit(1); } } # Append it to the list $IMG .= " \"$tmpimg\""; $first_img = $tmpimg if ($first_img eq ""); } # Update the output message $img_str .= "${BUL}$first_img${NL}"; # Determine the short name $img_shrt = $first_img; $img_shrt = substr($first_img, rindex($first_img, '/') + 1) if ($first_img =~ /\//); # Figure out the temp file name $TEMP_FILE = "${DIR}/.sorter-$img_shrt-$$-"; # verify that the correct arguments were given check_args(); # Set the $PLATFORM variable based on $FSTYPE set_platform(); # Read the config file if ($ALL_CONFIGS == 1) { read_config("${SHARE_DIR}default.sort") if (-e "$SHARE_DIR/default.sort"); read_config("${SHARE_DIR}${PLATFORM}.sort") if (($PLATFORM ne "") && (-e "${SHARE_DIR}${PLATFORM}.sort")); read_config("${SHARE_DIR}${PLATFORM}.lcl.sort") if (($PLATFORM ne "") && (-e "${SHARE_DIR}${PLATFORM}.lcl.sort")); } read_config($CONFIG) if ($CONFIG ne ""); # any config data? if ((scalar(keys %file_to_cat) == 0) && ($DO_INDEX == 1) && ($DO_EXT == 0)) { print "Error: Empty config files\n"; exit(1); } if ((scalar(keys %file_to_ext) == 0) && ($DO_EXT == 1) && ($DO_INDEX == 0)) { print "Error: No defined extensions\n"; exit(1); } # Open the file handles open_files() if ($LIST == 0); analyze_img(); if ($LIST == 0) { close_files(); print "\nAll files have been saved to: ${DIR}\n"; } # close off the thumbnails if we used them print_thumb_footer() if ($img_cnt != 0); print_summary(); exit(0); ######################################################################### # # subroutines # #################################################################3 #################################################################3 # analyze_img # # Analyze one image. This function calls 'fls', parses the # output, and then calls analyze_file for each file # # Argument is the meta address of directory (null to use root) # sub analyze_img { #################################################################3 # Process the allocated files in the image my $pr_str = ""; $pr_str = "of Directory $META" unless ($META eq ""); print "\nAnalyzing $IMG\n" . " Loading Allocated File Listing $pr_str\n" if ($LIST == 0); my @out = `\"$SK_FLS\" $IMGTYPE -o $IMGOFF $FSTYPE -rpl $IMG $META`; my $tmp_cnt = scalar @out; $alloc_cnt += $tmp_cnt; print " Processing $tmp_cnt Allocated Files and Directories\n " if ($LIST == 0); my $prev = 0; my $cnt = 0; foreach (@out) { my $del; my $inode; my $path; my $size; # Print the status if ((++$cnt % 1000) == 0) { my $cur = int(100 * ($cnt / $tmp_cnt)); if ($cur > $prev + 1) { print "$cur%," if ($LIST == 0); $prev = $cur; } } # Extract the file name and inode, skip if it is a directory # TYPE/TYPE * INUM (realloc): NAME if ( /^([\w\-])\/[\w\-]\s+(\*?)\s*([\d\-]+)([\(\)\w]*):\s+(.*)\s+$REG_DATE\s+$REG_DATE\s+$REG_DATE\s+$REG_DATE\s+(\d+)\s+\d+\s+\d+\s*$/ ) { if (($1 ne "r") && ($1 ne "-")) { $dirskip_cnt++; next; } # skip the realloc entries because we'll process the # allocated name that points to the content. if ($4 eq "(realloc)") { $realloc_cnt++; next; } $inode = $3; $path = $5; $size = $6; $del = ($2 eq '*') ? $DEL_DEL : $DEL_ALLOC; } else { print "Error Parsing Output: $_"; next; } # skip if file is too small if (($MIN_SIZE > 0) && ($size < $MIN_SIZE)) { $dirskip_cnt++; next; } # NTFS can have an inode of 0, but the others cannot my $inode_int = $inode; $inode_int = $1 if ($inode_int =~ /^(\d+)-[\d\-]+$/); if (($inode_int == 0) && ($FSTYPE ne "-f ntfs")) { $dirskip_cnt++; next; } analyze_file($path, $inode, $del); } print "100%\n" if ($LIST == 0); } #################################################################3 # analyze_file # # Process one file # # Arguments are the name of the file, the inode number of the file, # and the deletion status ($DEL_*) sub analyze_file { if (scalar(@_) != 3) { print "Incorrect Number of Arguments for analyze_file\n"; return; } my $path = shift; my $inode = shift; my $del = shift; my $sha1 = ""; my $md5 = ""; my $file; my $recflag = ""; $recflag = " -R " if ($del != $DEL_ALLOC); ############################################################### # Setup & Data Collection # The FAT full path has the short name in parenths, so # take them off first if (($path =~ /\)$/) && ($FSTYPE =~ /fat/)) { $path = substr($path, 0, rindex($path, '(') - 1); } # This was mainly because of the ils output which is <sdas-dead-X> my $path_encode = $path; if ($HTML == 1) { $path_encode =~ s/</</gs; $path_encode =~ s/>/>/gs; } # Get the hash values and file type # Are we listing (i.e. can't write files) or we aren't going to save # the file and do not need the MD5? if (($LIST) || (($SAVE == 0) && ($DO_MD5 == 0) && ($DO_SHA1 == 0))) { $file = `\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" | \"$SK_FILE\" -b -z -`; chomp $file; if ($DO_SHA1 == 1) { $sha1 = `\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" | \"$SK_SHA1\"`; chomp $sha1; $sha1 = $1 if ($sha1 =~ /^([A-Fa-f0-9]+)\s+.*$/); } if ($DO_MD5 == 1) { $md5 = `\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" | \"$SK_MD5\"`; chomp $md5; $md5 = $1 if ($md5 =~ /^([A-Fa-f0-9]+)\s+.*$/); } } # Save to temp file else { `\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" > \"${TEMP_FILE}$inode\"`; $file = `\"$SK_FILE\" -b -z \"${TEMP_FILE}$inode\"`; chomp $file; if ($DO_SHA1 == 1) { $sha1 = `\"$SK_SHA1\" \"${TEMP_FILE}$inode\"`; if ($sha1 =~ /^([A-Fa-f0-9]+)\s+.*$/) { $sha1 = $1; } elsif ($sha1 =~ /=\s+([A-Fa-f0-9]+)$/) { $sha1 = $1; } } if ($DO_MD5 == 1) { $md5 = `\"$SK_MD5\" \"${TEMP_FILE}$inode\"`; if ($md5 =~ /^([A-Fa-f0-9]+)\s+.*$/) { $md5 = $1; } elsif ($md5 =~ /=\s+([A-Fa-f0-9]+)$/) { $md5 = $1; } } unlink("${TEMP_FILE}$inode") if ($SAVE == 0); } # Remove non-printable values from the 'file' output $file =~ s/[\x00-\x19\x7F-\xFF]//g; # "empty" is a null size file if ($file eq 'empty') { unlink("${TEMP_FILE}$inode") if ($SAVE == 1); $dirskip_cnt++; return; } ############################################################### # Lookup in hash databases # # We will first examine any hashes of known files to alert on. # Next, we wil look if this is a file that is known and that we can # ignore (NSRL and the -x flag). If one of these files is found, we do # no immediately exit the function. We also check the extension and # make sure that it is appropriate. my $exclude = ""; my $alert = 0; # First the alert data base if ("$ALERT_DB" ne "") { print "Looking up in Alert Hash Database\n" if ($VERBOSE); my $out = `\"$SK_HFIND\" -q \"$ALERT_DB\" \"$md5\"`; if ($out =~ /^1\s+$/) { $alert = 1; } elsif ($out !~ /^0\s+$/) { print "Error running 'hfind': $out\n"; exit(1); } } # Ones we can ignore if (($alert == 0) && ("$EXCLUDE_DB" ne "")) { print "Looking up in Exclude Hash Database\n" if ($VERBOSE); my $out = `\"$SK_HFIND\" -q \"$EXCLUDE_DB\" \"$md5\"`; if ($out =~ /^1\s+$/) { # Print to the appropriate files if ($LIST == 0) { print EXCLUDE "${MNT}$path_encode${NL}"; print EXCLUDE "${TAB}Image: $first_img Inode: $inode${NL}"; print EXCLUDE "${TAB}$file${NL}"; print EXCLUDE "${TAB}MD5: $md5${NL}"; print EXCLUDE "${TAB}Exclude Database${NL}${NL}"; } $exclude = "Exclude Hash Database"; $excl_cnt++; } elsif ($out !~ /^0\s+$/) { print "Error running 'hfind': $out\n"; exit(1); } } # NSRL if (($alert == 0) && ("$NSRL" ne "") && ($exclude eq "")) { print "Looking up in NSRL Hash Database\n" if ($VERBOSE); my $out = `\"$SK_HFIND\" -q \"$NSRL\" \"$md5\"`; if ($out =~ /^1\s+$/) { # Print to the appropriate files if ($LIST == 0) { print EXCLUDE "${MNT}$path_encode${NL}"; print EXCLUDE "${TAB}Image: $first_img Inode: $inode${NL}"; print EXCLUDE "${TAB}$file${NL}"; print EXCLUDE "${TAB}MD5: $md5${NL}"; print EXCLUDE "${TAB}NSRL Database${NL}${NL}"; } $exclude = "NSRL"; $excl_cnt++; } elsif ($out !~ /^0\s+$/) { print "Error running 'hfind': $out\n"; exit(1); } } ############################################################### # # Extension versus File Type # ############################################################### my $mismatch = 0; my $ext = ""; # Is there an extension on this file? my $ext_off = rindex($path, "."); # Some sanity checks to verify that the '.' is after the '/' and # add one so that we don't process /.asd as an extension if (($ext_off != -1) && ($ext_off > (rindex($path, "/") + 1))) { $ext = substr($path, $ext_off + 1); $ext =~ tr/[A-Z]/[a-z]/; } $path .= " (deleted)" if ($del == $DEL_DEL); if ($VERBOSE) { print "File ${MNT}$path (ext: $ext)\n"; print "File Output: $file\n"; } # Check the extension if it exists # Ignore data as it is unknown stuff if (($DO_EXT == 1) && ($ext ne "") && ($file ne 'data')) { my $found = 0; # cycle through the known file keywords that have a known ext for (my $ext_i = $#ext_order; $ext_i >= 0; $ext_i--) { my $ext_kw = $ext_order[$ext_i]; print "Trying Extension Keyword: $ext_kw\n" if ($VERBOSE); # is this the 'file' category? if ($file =~ /$ext_kw/i) { print "Found Extension Keyword\n" if ($VERBOSE); # we found at least one set of extensions that matches # this file type, so set the mismatch to 1 and if we # find this extension we will set it to 0, otherwise # it will be considered a mismatch $mismatch = 1; $ext =~ tr/[A-Z]/[a-z]/; # cycle through each possible extension for this type foreach my $cat_ext (@{$file_to_ext{$ext_kw}}) { print "Comparing ext with $cat_ext\n" if ($VERBOSE); if ($cat_ext eq $ext) { print "Found ext\n" if ($VERBOSE); $mismatch = 0; $found = 1; last; } } } # If we have found the extension, then get out of the loop last if ($found == 1); } } # The special mismatch file for those that we should be ignoring # but they may be worthwhile looking at now if (($mismatch == 1) && ($exclude ne "")) { $exclmis_cnt++; if ($LIST == 0) { print EXCLUDEMIS "${MNT}$path_encode${NL}"; print EXCLUDEMIS "${TAB}$file$ (Ext: $ext)${NL}"; print EXCLUDEMIS "${TAB}Image: $first_img Inode: $inode${NL}"; print EXCLUDEMIS "${TAB}SHA-1: $sha1${NL}" if ($DO_SHA1 == 1); print EXCLUDEMIS "${TAB}MD5: $md5${NL}" if ($DO_MD5 == 1); print EXCLUDEMIS "${TAB}$exclude${NL}${NL}"; } } # Now we will return if we are supposed to ignore this file return if ($exclude ne ""); ############################################################### # File Type Category my $save_name = ""; my $cat = ""; if ($DO_INDEX) { # is this a category we want to save data about? for (my $cat_i = $#cat_order; $cat_i >= 0; $cat_i--) { my $cat_kw = $cat_order[$cat_i]; if ($file =~ /$cat_kw/i) { $cat = $file_to_cat{$cat_kw}; last if ($cat eq $IGNORE_NAME); $output_used{$cat}++; # Are we going to save this to a directory? if ($SAVE == 1) { my $save_dir = "${DIR}/${cat}"; mkdir($save_dir, 0775) unless (-d $save_dir); if ($ext eq "") { $save_name = "${img_shrt}-${inode}"; } else { $save_name = "${img_shrt}-${inode}.${ext}"; } rename("${TEMP_FILE}$inode", "${save_dir}/${save_name}"); # Add to the thumbnail file if (($cat eq "images") && ($HTML == 1)) { print_thumb($save_name, $path_encode); } } last; } } } # make sure it is gone if we did not move it to a category unlink("${TEMP_FILE}$inode") if (($SAVE == 1) && (-e "${TEMP_FILE}$inode")); if ($cat eq $IGNORE_NAME) { $ignore_cnt++; goto PRINT_ALERT; } # Print the category results # If we are listing, then print anything to STDOUT if ($LIST == 1) { if ($cat eq "") { print "Category: Unknown\n"; $output_used{'unknown'}++; } else { print "Category: $cat\n"; } print "${MNT}$path_encode\n" . "$file\n"; print "--- Found in Alert Hash Database ---\n" if ($alert == 1); print "--- Extension Mismatch! ---\n" if ($mismatch == 1); print "Image: $first_img Inode: $inode\n"; print "SHA-1: $sha1\n" if ($DO_SHA1 == 1); print "MD5: $md5\n" if ($DO_MD5 == 1); print "\n"; } # print to a specific category file elsif ($DO_INDEX == 1) { if ($cat ne "") { my $tmphandle = $cat_handle{$cat}; print $tmphandle "<A NAME=\"${save_name}\">\n" if ($HTML == 1); print $tmphandle "${MNT}$path_encode${NL}"; print $tmphandle "${TAB}$file${NL}"; print $tmphandle "${TAB}--- Found in Alert Database ---${NL}" if ($alert == 1); print $tmphandle "${TAB}--- Extension Mismatch! ---${NL}" if ($mismatch == 1); print $tmphandle "${TAB}Image: $first_img Inode: $inode${NL}"; print $tmphandle "${TAB}SHA-1: $sha1${NL}" if ($DO_SHA1 == 1); print $tmphandle "${TAB}MD5: $md5${NL}" if ($DO_MD5 == 1); if ($SAVE == 1) { if ($HTML == 0) { print $tmphandle "${TAB}Saved to: ${cat}/${save_name}${NL}"; } else { print $tmphandle "${TAB}Saved to: <A HREF=\"./${cat}/${save_name}\">" . "${cat}/${save_name}</A>${NL}"; } } print $tmphandle "${NL}"; } # the $cat is "" and we are making index files and it has some # uniqe file output, so save it to the unknown file # # Ignore the 'data' type and the 'empty' type has already been removed # data should be saved by the default config file and if not then the # user obviously does not want it elsif ($file ne 'data') { if ($DO_UNKNOWN == 1) { print UNKNOWN "${MNT}$path_encode${NL}"; print UNKNOWN "${TAB}--- Found in Alert Database ---${NL}" if ($alert == 1); print UNKNOWN "${TAB}$file${NL}"; print UNKNOWN "${TAB}Image: $first_img Inode: $inode${NL}${NL}"; } $output_used{'unknown'}++; } } # Print the mismatch info if (($DO_EXT == 1) && ($mismatch == 1)) { $mis_cnt++; if ($LIST == 0) { print MISMATCH "${MNT}$path_encode${NL}"; print MISMATCH "${TAB}$file (Ext: $ext)${NL}"; print MISMATCH "${TAB}Image: $first_img Inode: $inode${NL}"; print MISMATCH "${TAB}SHA-1: $sha1${NL}" if ($DO_SHA1 == 1); print MISMATCH "${TAB}MD5: $md5${NL}" if ($DO_MD5 == 1); if ($SAVE == 1) { if ($HTML == 0) { print MISMATCH "${TAB}Saved to: ${cat}/${save_name}${NL}"; } else { print MISMATCH "${TAB}Saved to: <A HREF=\"./${cat}/${save_name}\">" . "${cat}/${save_name}</A>${NL}"; } } print MISMATCH "${NL}"; } } PRINT_ALERT: # If we are alerting because of a hash value, do it now. It is all # the way down here so that we know the path that it was saved to if ($alert == 1) { $alert_cnt++; if ($LIST == 0) { print ALERT "${MNT}$path_encode${NL}"; print ALERT "${TAB}Image: $first_img Inode: $inode${NL}"; print ALERT "${TAB}SHA-1: $sha1${NL}" if ($DO_SHA1 == 1); print ALERT "${TAB}MD5: $md5${NL}" if ($DO_MD5 == 1); if ($SAVE == 1) { if ($HTML == 0) { print ALERT "${TAB}Saved to: ${cat}/${save_name}${NL}"; } else { print ALERT "${TAB}Saved to: <A HREF=\"./${cat}/${save_name}\">" . "${cat}/${save_name}</A>${NL}"; } } print ALERT "${NL}"; } } return; } # Read the config files sub read_config { my $config = shift; open(CONFIG, "$config") or die "Can't open $config"; print "Reading $config\n" if ($VERBOSE); while (<CONFIG>) { next if ((/^\#/) || (/^\s+$/)); # category definition # category name key_words if (/^\s*category\s+([\w\d]+)\s+(.*?)\s*$/) { my $kw = $2; my $cat = $1; # Make lowercase $cat =~ tr/[A-Z]/[a-z]/; # we have some reservered categories already if ( ($cat eq $MIS_NAME) || ($cat eq $UNK_NAME) || ($cat eq $ALERT_NAME) || ($cat eq $EXCLUDE_NAME) || ($cat eq $EXCLUDEMIS_NAME)) { print "Invalid Category Name: $cat (Reserved)\n"; exit(1); } # do a sanity check to see if we are overriding a # category that already existed for this file type if ( (exists $file_to_cat{$kw}) && ($file_to_cat{$kw} ne $cat)) { print "Warning: overriding category $file_to_cat{$kw} with $cat for key words: $kw\n"; } else { push @cat_order, $kw; } $file_to_cat{$kw} = $cat; print "Adding Category: $cat File Keywords: $kw\n" if ($VERBOSE); } # extention defn # ext ext1,ext2, key_words elsif (/^\s*ext\s+([\w\d\,]+)\s+(.*?)\s*$/) { my $ext = $1; my $kw = $2; # Make lowercase $ext =~ tr/[A-Z]/[a-z]/; # If there are already some extensions, then we will just # extend them if (exists $file_to_ext{$kw}) { # We could just do a push, but then we risk having # duplicate entries, which will waste time later foreach my $e1 (split(/,/, $ext)) { my $exists = 0; foreach my $e2 (@{$file_to_ext{$kw}}) { if ($e1 eq $e2) { $exists = 1; last; } } push @{$file_to_ext{$kw}}, $e1 if ($exists == 0); } print "Adding Extensions: $ext File Keywords: $kw\n" if ($VERBOSE); } else { $file_to_ext{$kw} = [split(/,/, $ext)]; push @ext_order, $kw; print "New Extensions: $ext File Keywords: $kw\n" if ($VERBOSE); } } else { print "Invalid line in $config:$.\n"; exit(1); } } close(CONFIG); } # This is needed to assign the handle to a local variable sub myopen { my $path = shift; local *FH; open(FH, $path) or die("Can not open $path"); return *FH; } # Open the summary files into an array of handles sub open_files { return if ($LIST == 1); if ($DO_EXT == 1) { open(MISMATCH, ">${DIR}/${MIS_NAME}${EXT}") or die "Can't open ${DIR}/${MIS_NAME}${EXT}"; $mis_cnt = 0; print MISMATCH "<HTML><HEAD>\n" . "<TITLE>Extension Mismatches</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Extension Mismatch</H2></CENTER>\n" if ($HTML == 1); } if ("$ALERT_DB" ne "") { open(ALERT, ">${DIR}/${ALERT_NAME}${EXT}") or die "Can't open ${DIR}/${ALERT_NAME}${EXT}"; $alert_cnt = 0; print ALERT "<HTML><HEAD>\n" . "<TITLE>Hash Database Alerts</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Hash Database Alerts</H2></CENTER>\n" if ($HTML == 1); } if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "")) { open(EXCLUDE, ">${DIR}/${EXCLUDE_NAME}${EXT}") or die "Can't open ${DIR}/${EXCLUDE_NAME}${EXT}"; $excl_cnt = 0; print EXCLUDE "<HTML><HEAD>\n" . "<TITLE>Hash Database Excludes</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Hash Database Excludes</H2></CENTER>\n" if ($HTML == 1); if ($DO_EXT == 1) { open(EXCLUDEMIS, ">${DIR}/${EXCLUDEMIS_NAME}${EXT}") or die "Can't open ${DIR}/${EXCLUDEMIS_NAME}${EXT}"; $exclmis_cnt = 0; print EXCLUDEMIS "<HTML><HEAD>\n" . "<TITLE>Hash Database Excludes with Mismatches</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Hash Database Excludes with Mismatches</H2></CENTER>\n" if ($HTML == 1); } } if ($DO_INDEX == 1) { $output_used{'unknown'} = 0; if ($DO_UNKNOWN == 1) { open(UNKNOWN, ">${DIR}/${UNK_NAME}${EXT}") or die "Can't open ${DIR}/${UNK_NAME}${EXT}"; print UNKNOWN "<HTML><HEAD>\n" . "<TITLE>Unknown Category</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Unknown Category</H2></CENTER>\n" if ($HTML == 1); } foreach my $cat (values %file_to_cat) { next if (exists $cat_handle{$cat}); next if ($cat eq $IGNORE_NAME); $cat_handle{$cat} = myopen(">${DIR}/${cat}${EXT}"); my $tmphandle = $cat_handle{$cat}; $output_used{$cat} = 0; print $tmphandle "<HTML><HEAD>\n" . "<TITLE>$cat Category</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>$cat Category</H2></CENTER>\n" if ($HTML == 1); # make a directory for the thumbnail images if (($cat eq "images") && ($SAVE == 1) && ($HTML == 1)) { mkdir("${DIR}/images", 0775) unless (-d "${DIR}/images"); open(IMG_INDEX, ">${DIR}/images/index.html") or die "Can't open ${DIR}/images/index.html"; print IMG_INDEX "<HTML><HEAD>\n" . "<TITLE>Image Thumbnails Index</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Image Thumbnails Index</H2></CENTER>\n<UL>\n"; } } } return; } # Close the output summary files and remove them if they have # a size of 0 # sub close_files { return if ($LIST == 1); # Extension Mismatch if ($DO_EXT == 1) { close(MISMATCH); unlink "${DIR}/${MIS_NAME}${EXT}" if ($mis_cnt == 0); } # Alert Hash database if ("$ALERT_DB" ne "") { close(ALERT); unlink "${DIR}/${ALERT_NAME}${EXT}" if ($alert_cnt == 0); } # Exclude hash databases (-x and NSRL) if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "")) { close(EXCLUDE); unlink "${DIR}/${EXCLUDE_NAME}${EXT}" if ($excl_cnt == 0); if ($DO_EXT == 1) { close(EXCLUDEMIS); unlink "${DIR}/${EXCLUDEMIS_NAME}${EXT}" if ($exclmis_cnt == 0); } } # Categories if ($DO_INDEX == 1) { if ($DO_UNKNOWN == 1) { close(UNKNOWN); unlink "${DIR}/${UNK_NAME}${EXT}" if ($output_used{'unknown'} == 0); } foreach my $cat (keys %cat_handle) { if ($HTML == 1) { my $tmphandle = $cat_handle{$cat}; print $tmphandle "</BODY></HTML>\n"; } close($cat_handle{$cat}); unlink "${DIR}/${cat}${EXT}" if ($output_used{$cat} == 0); if (($cat eq "images") && ($SAVE == 1) && ($HTML == 1)) { print IMG_INDEX "</UL>\n</HTML>\n"; close(IMG_INDEX); } } } } sub check_execs { unless (-e "$SK_FLS") { print "Missing Sleuth Kit fls executable: $SK_FLS\n"; exit(1); } unless (-e "$SK_FILE") { print "Missing file executable: $SK_FILE\n"; exit(1); } unless (-e "$SK_ICAT") { print "Missing Sleuth Kit icat executable: $SK_ICAT\n"; exit(1); } unless (-e "$SK_HFIND") { print "Missing Sleuth Kit hfind executable: $SK_HFIND\n"; exit(1); } unless (-e "$SK_IMGSTAT") { print "Missing Sleuth Kit img_stat executable: $SK_IMGSTAT\n"; exit(1); } if ($DO_SHA1 == 1) { unless (-e "$SK_SHA1") { print "Missing sha1 executable: $SK_SHA1\n"; exit(1); } } if ($DO_MD5 == 1) { unless (-e "$SK_MD5") { print "Missing md5 executable: $SK_MD5\n"; exit(1); } } } # Set the $PLATFORM value from $FSTYPE sub set_platform { if ( ($FSTYPE eq "-f ntfs") || ($FSTYPE eq "-f fat") || ($FSTYPE eq "-f fat32") || ($FSTYPE eq "-f fat16") || ($FSTYPE eq "-f fat12")) { $PLATFORM = "windows"; } elsif ($FSTYPE eq "-f solaris") { $PLATFORM = "solaris"; } elsif ($FSTYPE eq "-f openbsd") { $PLATFORM = "openbsd"; } elsif ($FSTYPE eq "-f freebsd") { $PLATFORM = "freebsd"; } # Use freebsd as a default for UFS elsif (($FSTYPE eq "-f ufs") || ($FSTYPE eq "-f ufs1") || ($FSTYPE eq "-f ufs2")) { $PLATFORM = "freebsd"; } elsif (($FSTYPE eq "-f linux-ext2") || ($FSTYPE eq "-f linux-ext3") || ($FSTYPE eq "-f linux-ext4") || ($FSTYPE eq "-f ext") || ($FSTYPE eq "-f ext2") || ($FSTYPE eq "-f ext3") || ($FSTYPE eq "-f ext4")) { $PLATFORM = "linux"; } elsif ($FSTYPE eq "-f iso9660") { $PLATFORM = ""; } elsif ($FSTYPE eq "-f hfs") { $PLATFORM = "mac"; } else { print "Unknown file system type: $FSTYPE\n"; exit(1); } print "Platform set to: $PLATFORM\n" if ($VERBOSE); } sub check_args { # Sanity check the arguments if ("$IMGTYPE" eq "") { # Test that autodetect works my $out = `\"$SK_IMGSTAT\" -t $IMG`; if ($out =~ /^(\w+)$/) { $IMGTYPE = "-i $1"; } else { print "Missing image file type (and autodetect is not working)\n"; usage(); } } if ("$FSTYPE" eq "") { # Test that autodetect works my $out = `\"$SK_FSSTAT\" $IMGTYPE -o $IMGOFF -t $IMG`; if ($out =~ /^([\w\-]+)$/) { $FSTYPE = "-f $1"; } else { print "Missing file system type (and autodetect is not working)\n"; usage(); } } else { my $out = `\"$SK_FSSTAT\" $IMGTYPE -o $IMGOFF $FSTYPE -t $IMG`; unless ($out =~ /^([\w\d\-]+)$/) { print "Incorrect file system type ($FSTYPE)\n"; exit(1); } } if (("$DIR" eq "") && ($LIST == 0)) { print "Missing directory location\n"; usage(); } elsif (("$DIR" ne "") && ($LIST == 1)) { print "Directory (-d) and List (-l) flags cannot be used together\n"; usage(); } elsif (($SAVE == 1) && ($LIST == 1)) { print "Save Files (-s) and List (-l) flags cannot be used together\n"; usage(); } } # Print a summary of results to the screen sub print_summary { if ($HTML == 1) { print_index(); return; } my $str = ""; $str .= "Images\n" . $img_str . ${NL}; $str .= "Files (" . ($alloc_cnt) . ")\n\n"; $str .= "Files Skipped (" . ($dirskip_cnt + $ignore_cnt + $realloc_cnt) . ")\n" . "- Non-Files ($dirskip_cnt)\n" . "- Reallocated Name Files ($realloc_cnt)\n" . "- 'ignore' category ($ignore_cnt)\n\n"; if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "") || ("$ALERT_DB" ne "")) { $str .= "Hash Databases\n"; if ("$ALERT_DB" ne "") { $str .= "- Hash Database Alerts" . " ($alert_cnt)\n"; } if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "")) { $str .= "- Hash Database Exclusions ($excl_cnt)\n"; } $str .= "\n"; } if ($DO_EXT == 1) { $str .= "Extensions\n"; $str .= "- Extension Mismatches" . " ($mis_cnt)\n"; if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "")) { $str .= "- Hash Database Exclusions with Extension Mismatch ($exclmis_cnt)\n"; } $str .= "\n"; } if ($DO_INDEX == 1) { my $tot = 0; my $str2 = ""; foreach my $cat (sort { lc($a) cmp lc($b) } keys %output_used) { $str2 .= "- $cat ($output_used{$cat})\n"; $tot += $output_used{$cat}; } $str .= "Categories ($tot)\n" . $str2 . "\n"; } if ($LIST == 1) { print "\n--------------------------------------------------\n" . $str; } else { open(SUM, ">${DIR}/${SUMMARY_NAME}") or die "Can't open ${SUMMARY_NAME}"; print SUM $str; close(SUM); } return; } # index.html file with links to specific sections sub print_index { return if (($HTML == 0) || ($LIST == 1)); open(INDEX, ">${DIR}/index.html") or die "Can't open index.html"; print INDEX "<HTML><HEAD><TITLE>sorter output</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>" . "<CENTER><H2>sorter output</H2></CENTER>\n" . "<P><B>Images</B><BR>" . "<UL>$img_str</UL>\n" . "<P><B>Files</B> (" . ($alloc_cnt) . ")\n" . "<P><B>Files Skipped</B> (" . ($dirskip_cnt + $ignore_cnt) . ")\n<UL>\n" . " <LI>Non-Files ($dirskip_cnt)\n" . " <LI>Reallocated Name Files ($realloc_cnt)\n" . " <LI>'ignore' category ($ignore_cnt)\n" . "</UL>\n"; if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "") || ("$ALERT_DB" ne "")) { print INDEX "<P><B>Hash Databases</B>\n<UL>\n"; } if ("$ALERT_DB" ne "") { if ($alert_cnt > 0) { print INDEX "<LI><A HREF=\"./${ALERT_NAME}${EXT}\">" . "Hash Database Alerts</A> ($alert_cnt)\n"; } else { print INDEX "<LI>Hash Database Alerts" . " ($alert_cnt)\n"; } } if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "")) { if ($excl_cnt > 0) { print INDEX "<LI><A HREF=\"./${EXCLUDE_NAME}${EXT}\">" . "Hash Database Exclusions</A> ($excl_cnt)\n"; } else { print INDEX "<LI>Hash Database Exclusions ($excl_cnt)\n"; } } if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "") || ("$ALERT_DB" ne "")) { print INDEX "</UL>\n"; } if ($DO_EXT == 1) { print INDEX "<P><B>Extensions</B>\n<UL>\n"; if ($mis_cnt > 0) { print INDEX "<LI><A HREF=\"./${MIS_NAME}${EXT}\">" . "Extension Mismatches</A>" . " ($mis_cnt)\n"; } else { print INDEX "<LI>Extension Mismatches" . " ($mis_cnt)\n"; } if (("$EXCLUDE_DB" ne "") || ("$NSRL" ne "")) { if ($exclmis_cnt > 0) { print INDEX "<LI><A HREF=\"./${EXCLUDEMIS_NAME}${EXT}\">" . "Hash Database Exclusions with Extension Mismatch</A> ($exclmis_cnt)\n"; } else { print INDEX "<LI>Hash Database Exclusions with Extension Mismatch ($exclmis_cnt)\n"; } } print INDEX "</UL>\n"; } if ($DO_INDEX == 1) { my $str = "<UL>\n"; my $tot = 0; foreach my $cat (sort { lc($a) cmp lc($b) } keys %output_used) { # Print no link if there were no files or we are not saving # the unknown files if ( ($output_used{$cat} == 0) || (($cat eq $UNK_NAME) && ($DO_UNKNOWN == 0))) { $str .= " <LI>$cat ($output_used{$cat})\n"; } else { $str .= " <LI><A HREF=\"./${cat}${EXT}\">" . "$cat</A> ($output_used{$cat})\n"; } # Note that an Autopsy regexp that removes the link # may need to be changed if this line is changed $str .= " (<A HREF=\"./images/index.html\">thumbnails</A>)\n" if (($cat eq 'images') && ($img_cnt > 0)); $tot += $output_used{$cat}; } print INDEX "<P><B>Categories</B> ($tot)\n" . $str . "</UL>\n"; } close(INDEX); return; } sub print_thumb_footer { return if (($HTML == 0) || ($LIST == 1)); my $close_page; # Get the location of the page that we are closing if (($img_cnt % $IMG_PAGE) == 0) { # We are closing a page because we hit the limit $close_page = ($img_cnt - 1) / $IMG_PAGE + 1; } else { # we are closing the page because we are done $close_page = ($img_cnt) / $IMG_PAGE + 1; } # This could be called to close off the final file, so check if # we need to finish off the last row print IMG_THUMB "</TR>\n" unless (($img_cnt % 4) == 0); print IMG_THUMB "</TABLE>\n"; # Print a previous unless we are closing page 1 unless ($close_page == 1) { my $tmp = $close_page - 1; print IMG_THUMB "<A HREF=./thumbs-${tmp}.html>previous $IMG_PAGE</A> \n"; } print IMG_THUMB "<A HREF=./index.html>Main Index</A> \n"; # only do next if we are making a new page next if (($img_cnt % $IMG_PAGE) == 0) { my $tmp = $close_page + 1; print IMG_THUMB "<A HREF=./thumbs-${tmp}.html>next $IMG_PAGE</A>\n"; } print IMG_THUMB "</BODY></HTML>"; close IMG_THUMB; } # Arguments: Saved name and path sub print_thumb { return if (($HTML == 0) || ($LIST == 1)); my $save_name = shift; my $path = shift; # A new page is required # $IMG_PAGE per page if (($img_cnt % $IMG_PAGE) == 0) { my $page = $img_cnt / $IMG_PAGE + 1; # Close off the current one - if there is one if ($img_cnt != 0) { print_thumb_footer(); } open(IMG_THUMB, ">${DIR}/images/thumbs-" . $page . ".html") or die "Can't open ${DIR}/images/thumbs-" . $page . ".html"; print IMG_THUMB "<HTML><HEAD>\n" . "<TITLE>Image Thumbnails - Page $page</TITLE>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></HEAD>\n" . "<BODY>\n" . "<CENTER><H2>Image Thumbnails - Page $page</H2>\n<P>" . "<TABLE WIDTH=630 CELLSPACING=5 CELLPADDING=0 BORDER=0>\n" . "<TR><TD></TD><TD ALIGN=CENTER>A</TD><TD ALIGN=CENTER>B</TD>" . "<TD ALIGN=CENTER>C</TD><TD ALIGN=CENTER>D</TD></TR>\n"; # Add to the main index print IMG_INDEX "<LI><A HREF=\"./thumbs-${page}.html\">Page $page</A></LI>\n"; } # A new row if (($img_cnt % 4) == 0) { my $row = (($img_cnt % 100) / 4) + 1; print IMG_THUMB "<TR>\n <TD>$row</TD>\n"; } my $img_shrt = $path; $img_shrt = substr($path, rindex($path, '/') + 1) if ($path =~ /\//); print IMG_THUMB " <TD WIDTH=150>" . "<A HREF=\"./$save_name\" TARGET=_blank>" . "<IMG SRC=\"./$save_name\" " . "WIDTH=150 HEIGHT=150 ALT=\"$img_shrt\"></A><BR>" . "$img_shrt<BR>" . "<A HREF=\"../images.html#${save_name}\" TARGET=\"_blank\">details</A>" . "</TD>\n"; $img_cnt++; # Ending a row print IMG_THUMB "</TR>\n" if (($img_cnt % 4) == 0); return; }