blob: 2f5bd489fe3867e8126819be29374c42cf439f92 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#!/bin/bash
# Note is setup script currently does three things:
#
# 1. It creates a binaryninja.desktop file in ~/.local/share/applications and
# copies it to the desktop
# 2. It creates a .xml file to add a mime type for .bndb files.
# 3. It adds a binaryninja: url handler.
APP="binaryninja"
FILECOMMENT="Binary Ninja Analysis Database"
APPCOMMENT="Binary Ninja: A Reverse Engineering Platform"
BNPATH=$(dirname $(readlink -f "$0"))
EXEC="${BNPATH}/binaryninja"
PNG="${BNPATH}/docs/images/logo.png"
EXT="bndb"
SHARE=/usr/share #For system
SUDO="sudo" #For system
SHARE=~/.local/share #For user only
SUDO="" #For user only
DESKTOPFILE=$SHARE/applications/${APP}.desktop
MIMEFILE=$SHARE/mime/packages/application-x-$APP.xml
IMAGEPATH=$SHARE/pixmaps
createdesktopfile()
{
mkdir -p $SHARE/{mime/packages,applications,pixmaps}
echo Creating .desktop file
# Desktop File
echo "[Desktop Entry]
Name=$APP
Exec=$EXEC %u
MimeType=application/x-$APP;x-scheme-handler/$APP;
Icon=$PNG
Terminal=false
Type=Application
Categories=Utility;
Comment=$APPCOMMENT
" | $SUDO tee $DESKTOPFILE >/dev/null
$SUDO chmod +x $DESKTOPFILE
$SUDO update-desktop-database $SHARE/applications
}
createmime()
{
echo Creating MIME settings
if [ ! -f $DESKTOPFILE ]
then
createdesktopfile
fi
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<mime-info xmlns=\"http://www.freedesktop.org/standards/shared-mime-info\">
<mime-type type=\"application/x-$APP\">
<comment>$FILECOMMENT</comment>
<icon name=\"application-x-$APP\"/>
<magic-deleteall/>
<glob pattern=\"*.$EXT\"/>
<sub-class-of type=\"application/x-sqlite3\" />
</mime-type>
</mime-info>"| $SUDO tee $MIMEFILE >/dev/null
#echo Copying icon
#$SUDO cp $PNG $IMAGEPATH/$APP.png
$SUDO cp $PNG $IMAGEPATH/application-x-$APP.png
$SUDO update-mime-database $SHARE/mime
}
addtodesktop()
{
cp $DESKTOPFILE ~/Desktop
}
#TODO: Make these optional...
createdesktopfile
createmime
addtodesktop
|