Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Andrea Gussoni
artifacts-asiaccs20
Commits
b41de23e
Commit
b41de23e
authored
Dec 16, 2020
by
Andrea Gussoni
Browse files
Modify matching scripts to use config.sh
parent
54ca0d01
Changes
2
Hide whitespace changes
Inline
Side-by-side
scripting/boundaries-comparison-scripts/boundaries-percentage.py
View file @
b41de23e
...
...
@@ -19,13 +19,13 @@ def get_change(current, previous):
return
100.0
# Function that takes as parameter a platform and computes averages and variance of the results, and saves them in two dedicated files (averages.dat and variances.dat)
def
compute_matches
(
binaries_list
,
arch
,
output_name
):
def
compute_matches
(
binaries_list
,
arch
,
matching_folder
,
output_name
):
average_list
=
[]
average_dimension_list
=
[]
for
binary
in
binaries_list
:
inputfile
=
'result-'
+
arch
+
"/"
+
binary
inputfile
=
matching_folder
+
"/"
+
binary
print
(
"Analyzing: "
+
inputfile
)
with
open
(
inputfile
,
'r'
)
as
input
:
data_dict
=
json
.
load
(
input
)
...
...
@@ -59,17 +59,19 @@ def main():
parser
=
argparse
.
ArgumentParser
(
description
=
'My nice tool.'
)
parser
.
add_argument
(
'binaries'
,
metavar
=
'BINARIESFILE'
,
help
=
'File containing the names of the binaries'
)
parser
.
add_argument
(
'arch'
,
metavar
=
'ARCH'
,
help
=
'Architecture'
)
parser
.
add_argument
(
'matching_folder'
,
metavar
=
'MATCHINGFOLDER'
,
help
=
'Folder containing matching information'
)
parser
.
add_argument
(
'output_name'
,
metavar
=
'OUTPUT_NAME'
,
help
=
'Output Name'
)
args
=
parser
.
parse_args
()
arch
=
args
.
arch
binaries
=
args
.
binaries
matching_folder
=
args
.
matching_folder
output_name
=
args
.
output_name
with
open
(
binaries
,
'r'
)
as
binaries_file
:
binaries_list
=
[
line
.
rstrip
(
'
\n
'
)
for
line
in
binaries_file
]
# Call the funciton that computes the results
compute_matches
(
binaries_list
,
arch
,
output_name
)
compute_matches
(
binaries_list
,
arch
,
matching_folder
,
output_name
)
if
__name__
==
"__main__"
:
main
()
scripting/boundaries-comparison-scripts/compare-all.sh
View file @
b41de23e
...
...
@@ -5,20 +5,19 @@ if [ $# -eq 0 ]; then
exit
1
fi
basepath
=
$(
pwd
)
result_dir
=
$basepath
/result-
$1
arch
=
$1
if
[
!
-d
$result_dir
]
;
then
mkdir
$result_dir
;
fi
# Import the config
.
./config.sh
revng_dir
=
$basepath
/workdir-
$1
/revng-json
ida_dir
=
$basepath
/workdir-
$1
/ida-json-normalized
if
[
!
-d
$matching_dir
]
;
then
mkdir
$matching_dir
;
fi
cd
$
1
cd
$
arch
for
filename
in
*
do
echo
-e
"
\n
Analyzing binary:
$filename
"
$
basepath
/scripting/boundaries-comparison-scripts
/compare-functions.py
$ida_dir
/
$filename
.stripped.json.ida
$revng_dir
/
$filename
.ll.isolated.json.revng
$filename
$
result
_dir
/
$filename
$
result
_dir
/
$filename
.matching
$
matching_script_dir
/compare-functions.py
$ida_
json_
dir
/
$filename
.stripped.json.ida
$revng_
json_
dir
/
$filename
.ll.isolated.json.revng
$filename
$
matching
_dir
/
$filename
$
matching
_dir
/
$filename
.matching
done
;
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment