choose experiments instead of builds for radare/objdump/wasm-objdump actions
This commit is contained in:
125
scripts/menu.pl
125
scripts/menu.pl
@ -300,7 +300,61 @@ my %handlers = (
|
||||
);
|
||||
},
|
||||
|
||||
'15. Open Database in ResultBrowser (Mars)' => sub {
|
||||
'15. Run Objdump on Experiment' => sub {
|
||||
my $selected_experiment = Util::select_experiment(0);
|
||||
|
||||
system(
|
||||
"objdump $local_archive_dir/$selected_experiment/system.elf -D -M intel -S | bat --color never"
|
||||
);
|
||||
},
|
||||
|
||||
'16. Run Wasm-Objdump on Experiment' => sub {
|
||||
my $selected_experiment = Util::select_experiment(0);
|
||||
|
||||
system(
|
||||
"wasm-objdump -d $local_archive_dir/$selected_experiment/wasm_module.wasm | bat --color never"
|
||||
);
|
||||
},
|
||||
|
||||
'17. Run Radare2 on Experiment' => sub {
|
||||
my $selected_experiment = Util::select_experiment(0);
|
||||
|
||||
say "Radare help:";
|
||||
say "s <address> - Seek to address";
|
||||
say "pd <n> - Disassemble n instructions";
|
||||
say "pdf - Disassemble current function";
|
||||
say "pdf @ <function> - Disassemble function";
|
||||
say "pdr - Disassemble recursively";
|
||||
say "V - Switch view";
|
||||
say "p - Switch print mode";
|
||||
say "P - Switch layout";
|
||||
system(
|
||||
'radare2', '-AA',
|
||||
'-c', '"-s dbg.os_main"',
|
||||
'-e', 'scr.color=3',
|
||||
'-e', 'scr.scrollbar=0',
|
||||
'-e', 'scr.responsive=true',
|
||||
'-e', 'scr.interactive=true',
|
||||
'-e', 'scr.utf8=true',
|
||||
'-e', 'scr.utf8.curvy=true',
|
||||
'-e', 'asm.syntax=intel',
|
||||
'-e', 'asm.lines=false',
|
||||
'-e', 'asm.xrefs=true',
|
||||
'-e', 'asm.flags=true',
|
||||
'-e', 'asm.comments=true',
|
||||
'-e', 'asm.functions=true',
|
||||
'-e', 'asm.var=true',
|
||||
'-e', 'asm.cmt.right=true',
|
||||
'-e', 'asm.dwarf=true',
|
||||
'-e', 'asm.pseudo=false',
|
||||
'-e', 'asm.describe=false',
|
||||
'-e', 'bin.relocs.apply=true',
|
||||
"$local_archive_dir/$selected_experiment/system.elf",
|
||||
|
||||
);
|
||||
},
|
||||
|
||||
'18. Open Database in ResultBrowser (Mars)' => sub {
|
||||
|
||||
my @db_names = Mars::db_list();
|
||||
my @selected_dbs =
|
||||
@ -316,7 +370,7 @@ my %handlers = (
|
||||
"--port=$resultbrowser_port" );
|
||||
},
|
||||
|
||||
'16. Open Database in LazySQL (Mars)' => sub {
|
||||
'19. Open Database in LazySQL (Mars)' => sub {
|
||||
my $experiment =
|
||||
Util::select_experiment(0) =~ s/T(\d\d)-(\d\d)-(\d\d)/T$1:$2:$3/r;
|
||||
my $ssh = Mars::ssh_connect();
|
||||
@ -364,73 +418,6 @@ my %handlers = (
|
||||
);
|
||||
},
|
||||
|
||||
'21. Run Objdump on Build' => sub {
|
||||
my @builds = Util::find_subdirs($local_builds_dir);
|
||||
my @selected_builds =
|
||||
TUI::select_from_list( "Select Build to Objdump", 0, @builds );
|
||||
die "No build selected" unless @selected_builds;
|
||||
my $selected_build = $selected_builds[0];
|
||||
|
||||
my $build_dir = "$local_builds_dir/$selected_build";
|
||||
system(
|
||||
"objdump $build_dir/system.elf -D -M intel -S | bat --color never");
|
||||
},
|
||||
|
||||
'22. Run Wasm-Objdump on Build' => sub {
|
||||
my @builds = Util::find_subdirs($local_builds_dir);
|
||||
my @selected_builds =
|
||||
TUI::select_from_list( "Select Build to Wasm-Objdump", 0, @builds );
|
||||
die "No build selected" unless @selected_builds;
|
||||
my $selected_build = $selected_builds[0];
|
||||
|
||||
my $build_dir = "$local_builds_dir/$selected_build";
|
||||
system(
|
||||
"wasm-objdump -d $build_dir/wasm_module.wasm | bat --color never");
|
||||
},
|
||||
|
||||
'23. Run Radare2 on Build' => sub {
|
||||
my @builds = Util::find_subdirs($local_builds_dir);
|
||||
my @selected_builds =
|
||||
TUI::select_from_list( "Select Build to Objdump", 0, @builds );
|
||||
die "No build selected" unless @selected_builds;
|
||||
my $selected_build = $selected_builds[0];
|
||||
|
||||
my $build_dir = "$local_builds_dir/$selected_build";
|
||||
say "Radare help:";
|
||||
say "s <address> - Seek to address";
|
||||
say "pd <n> - Disassemble n instructions";
|
||||
say "pdf - Disassemble current function";
|
||||
say "pdf @ <function> - Disassemble function";
|
||||
say "pdr - Disassemble recursively";
|
||||
say "V - Switch view";
|
||||
say "p - Switch print mode";
|
||||
say "P - Switch layout";
|
||||
system(
|
||||
'radare2', '-AA',
|
||||
'-c', '"-s dbg.os_main"',
|
||||
'-e', 'scr.color=3',
|
||||
'-e', 'scr.scrollbar=0',
|
||||
'-e', 'scr.responsive=true',
|
||||
'-e', 'scr.interactive=true',
|
||||
'-e', 'scr.utf8=true',
|
||||
'-e', 'scr.utf8.curvy=true',
|
||||
'-e', 'asm.syntax=intel',
|
||||
'-e', 'asm.lines=false',
|
||||
'-e', 'asm.xrefs=true',
|
||||
'-e', 'asm.flags=true',
|
||||
'-e', 'asm.comments=true',
|
||||
'-e', 'asm.functions=true',
|
||||
'-e', 'asm.var=true',
|
||||
'-e', 'asm.cmt.right=true',
|
||||
'-e', 'asm.dwarf=true',
|
||||
'-e', 'asm.pseudo=false',
|
||||
'-e', 'asm.describe=false',
|
||||
'-e', 'bin.relocs.apply=true',
|
||||
"$build_dir/system.elf",
|
||||
|
||||
);
|
||||
},
|
||||
|
||||
'30. Plot Results' => sub {
|
||||
|
||||
# Generate R ggplot2 charts
|
||||
|
||||
Reference in New Issue
Block a user