-
Notifications
You must be signed in to change notification settings - Fork 17
/
options.h
51 lines (40 loc) · 988 Bytes
/
options.h
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
#ifndef NUCLEUS_OPTIONS_H
#define NUCLEUS_OPTIONS_H
#include <stdint.h>
#include <string>
#include "bb.h"
#include "loader.h"
#include "disasm.h"
struct options {
int verbosity;
int warnings;
int only_code_sections;
int allow_privileged;
int summarize_functions;
struct {
std::string real;
std::string dir;
std::string base;
} nucleuspath;
struct {
std::string ida;
std::string binja;
std::string dot;
} exports;
struct {
std::string filename;
Binary::BinaryType type;
Binary::BinaryArch arch;
unsigned bits;
uint64_t base_vma;
} binary;
struct {
std::string name;
double (*score_function) (DisasmSection*, BB*);
unsigned (*mutate_function) (DisasmSection*, BB*, BB**);
int (*select_function) (DisasmSection*, BB*, unsigned);
} strategy_function;
};
extern struct options options;
int parse_options (int argc, char *argv[]);
#endif /* NUCLEUS_OPTIONS_H */