add binaryninja action to menu
This commit is contained in:
@ -267,7 +267,22 @@ my %handlers = (
|
|||||||
0, @entries );
|
0, @entries );
|
||||||
},
|
},
|
||||||
|
|
||||||
'12. Open Experiment in Ghidra' => sub {
|
'12. Open Experiment in BinaryNinja' => sub {
|
||||||
|
my @selected_experiments = Util::select_experiment(1);
|
||||||
|
my @paths =
|
||||||
|
map { "$local_archive_dir/$_/system.elf" } @selected_experiments;
|
||||||
|
|
||||||
|
system( 'binaryninja', @paths );
|
||||||
|
},
|
||||||
|
|
||||||
|
'13. Open Experiment in Binsider' => sub {
|
||||||
|
my $selected_experiment = Util::select_experiment(0);
|
||||||
|
|
||||||
|
system( 'binsider',
|
||||||
|
"$local_archive_dir/$selected_experiment/system.elf" );
|
||||||
|
},
|
||||||
|
|
||||||
|
'14. Open Experiment in Ghidra' => sub {
|
||||||
|
|
||||||
my @projects =
|
my @projects =
|
||||||
map { s/\.gpr//r } Util::find_files($local_ghidra_projects);
|
map { s/\.gpr//r } Util::find_files($local_ghidra_projects);
|
||||||
@ -285,14 +300,7 @@ my %handlers = (
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
'13. Open Experiment in Binsider' => sub {
|
'15. Open Database in ResultBrowser (Mars)' => sub {
|
||||||
my $selected_experiment = Util::select_experiment(0);
|
|
||||||
|
|
||||||
system( 'binsider',
|
|
||||||
"$local_archive_dir/$selected_experiment/system.elf" );
|
|
||||||
},
|
|
||||||
|
|
||||||
'14. Open Database in ResultBrowser (Mars)' => sub {
|
|
||||||
|
|
||||||
my @db_names = Mars::db_list();
|
my @db_names = Mars::db_list();
|
||||||
my @selected_dbs =
|
my @selected_dbs =
|
||||||
@ -308,7 +316,7 @@ my %handlers = (
|
|||||||
"--port=$resultbrowser_port" );
|
"--port=$resultbrowser_port" );
|
||||||
},
|
},
|
||||||
|
|
||||||
'15. Open Database in LazySQL (Mars)' => sub {
|
'16. Open Database in LazySQL (Mars)' => sub {
|
||||||
my $experiment =
|
my $experiment =
|
||||||
Util::select_experiment(0) =~ s/T(\d\d)-(\d\d)-(\d\d)/T$1:$2:$3/r;
|
Util::select_experiment(0) =~ s/T(\d\d)-(\d\d)-(\d\d)/T$1:$2:$3/r;
|
||||||
my $ssh = Mars::ssh_connect();
|
my $ssh = Mars::ssh_connect();
|
||||||
@ -319,39 +327,6 @@ my %handlers = (
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
'16. Plot Results' => sub {
|
|
||||||
|
|
||||||
# Generate R ggplot2 charts
|
|
||||||
my @selected_experiments = Util::select_experiment(1);
|
|
||||||
|
|
||||||
my @charts = map { s/\.r//r } Util::find_files($local_charts_dir);
|
|
||||||
my @selected_charts =
|
|
||||||
TUI::select_from_list( "Select Plots to Generate", 1, @charts );
|
|
||||||
die "No plot selected" unless @selected_charts;
|
|
||||||
|
|
||||||
my @single_charts = grep { /single/ } @selected_charts;
|
|
||||||
foreach my $experiment (@selected_experiments) {
|
|
||||||
foreach my $chart (@single_charts) {
|
|
||||||
say " - Generating plot $chart for $experiment...";
|
|
||||||
system(
|
|
||||||
'Rscript',
|
|
||||||
"$local_charts_dir/$chart.r",
|
|
||||||
"$local_archive_dir/$experiment"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
my @combined_charts = grep { /combined/ } @selected_charts;
|
|
||||||
my $print_experiments = join " ", @selected_experiments;
|
|
||||||
my @path_experiments =
|
|
||||||
map { "$local_archive_dir/$_" } @selected_experiments;
|
|
||||||
foreach my $chart (@combined_charts) {
|
|
||||||
say " - Generating plot $chart for ($print_experiments)...";
|
|
||||||
system( 'Rscript', "$local_charts_dir/$chart.r",
|
|
||||||
@path_experiments );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
'20. Run Build in GDB' => sub {
|
'20. Run Build in GDB' => sub {
|
||||||
my @builds = grep { /linux/ } Util::find_subdirs($local_builds_dir);
|
my @builds = grep { /linux/ } Util::find_subdirs($local_builds_dir);
|
||||||
my @selected_builds =
|
my @selected_builds =
|
||||||
@ -456,6 +431,39 @@ my %handlers = (
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'30. Plot Results' => sub {
|
||||||
|
|
||||||
|
# Generate R ggplot2 charts
|
||||||
|
my @selected_experiments = Util::select_experiment(1);
|
||||||
|
|
||||||
|
my @charts = map { s/\.r//r } Util::find_files($local_charts_dir);
|
||||||
|
my @selected_charts =
|
||||||
|
TUI::select_from_list( "Select Plots to Generate", 1, @charts );
|
||||||
|
die "No plot selected" unless @selected_charts;
|
||||||
|
|
||||||
|
my @single_charts = grep { /single/ } @selected_charts;
|
||||||
|
foreach my $experiment (@selected_experiments) {
|
||||||
|
foreach my $chart (@single_charts) {
|
||||||
|
say " - Generating plot $chart for $experiment...";
|
||||||
|
system(
|
||||||
|
'Rscript',
|
||||||
|
"$local_charts_dir/$chart.r",
|
||||||
|
"$local_archive_dir/$experiment"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my @combined_charts = grep { /combined/ } @selected_charts;
|
||||||
|
my $print_experiments = join " ", @selected_experiments;
|
||||||
|
my @path_experiments =
|
||||||
|
map { "$local_archive_dir/$_" } @selected_experiments;
|
||||||
|
foreach my $chart (@combined_charts) {
|
||||||
|
say " - Generating plot $chart for ($print_experiments)...";
|
||||||
|
system( 'Rscript', "$local_charts_dir/$chart.r",
|
||||||
|
@path_experiments );
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
'95. Delete Builds' => sub {
|
'95. Delete Builds' => sub {
|
||||||
|
|
||||||
# Delete old build files
|
# Delete old build files
|
||||||
|
|||||||
Reference in New Issue
Block a user