10 std::stringstream stream;
13 stream <<
"---" << std::endl;
14 stream <<
"PID: " << std::dec <<
report.
pid <<
"\n";
15 stream <<
"---" << std::endl;
16 stream <<
"SUMMARY: \n" << std::endl;
17 stream <<
"Total scanned: " << std::dec <<
report.
scanned <<
"\n";
22 stream <<
"Hdrs Modified: " << std::dec <<
report.
hdr_mod <<
"\n";
30 stream <<
"Other: " << std::dec << other <<
"\n";
34 stream <<
"[!] Errors: " << std::dec <<
report.
errors <<
"\n";
48 std::stringstream stream;
50 size_t level = start_level + 1;
54 stream << std::dec << err_report.
pid <<
",\n";
55 OUT_PADDED(stream, level,
"\"err_message\" : ");
56 stream <<
"\"" << err_report.
message <<
"\"\n";
59 std::string report_all = stream.str();
60 if (report_all.length() == 0) {
75 std::stringstream stream;
77 if (!process_report.
toJSON(stream, start_level, filter, jdetails)) {
80 std::string report_all = stream.str();
81 if (report_all.length() == 0) {
94 std::stringstream stream;
96 if (!process_report.
toJSON(stream, start_level)) {
99 std::string report_all = stream.str();
100 if (report_all.length() == 0) {
111 std::stringstream stream;
115 OUT_PADDED(stream, level,
"\"error_report\" :\n");
120 const bool has_dumps = (
report.dump_report &&
report.dump_report->countDumped() > 0) ? true :
false;
123 OUT_PADDED(stream, level,
"\"scan_report\" :\n");
132 OUT_PADDED(stream, level,
"\"dump_report\" :\n");
const std::string message
The report aggregating the results of the performed dumps.
virtual bool toJSON(std::stringstream &stream, size_t level) const
The report aggregating the results of the performed scan.
virtual const bool toJSON(std::stringstream &stream, size_t level, const t_results_filter &filter, const pesieve::t_json_level &jdetails) const
pesieve::t_report generateSummary() const
The final report about the actions performed on the process: scanning and dumping.
std::string scan_report_to_string(const ProcessScanReport &report)
std::string dump_report_to_json(const ProcessDumpReport &process_report, const pesieve::t_json_level &jdetails, size_t start_level=0)
std::string err_report_to_json(const ErrorReport &err_report, t_results_filter filter, size_t start_level=0)
std::string report_to_json(const ReportEx &report, const t_report_type rtype, t_results_filter filter, const pesieve::t_json_level &jdetails, size_t start_level=0)
std::string scan_report_to_json(const ProcessScanReport &process_report, t_results_filter filter, const pesieve::t_json_level &jdetails, size_t start_level=0)
@ REPORT_ALL
output all available reports
@ REPORT_DUMPED
output the dumps report
@ REPORT_NONE
do not output a report
@ REPORT_SCANNED
output the scan report
Final summary about the scanned process.
DWORD implanted
all implants: shellcodes + PEs
DWORD errors
the number of elements that could not be scanned because of errors. If errors == ERROR_SCAN_FAILURE,...
DWORD implanted_shc
implanted shellcodes
DWORD scanned
number of all scanned modules
DWORD patched
detected modifications in the code
DWORD suspicious
general summary of suspicious
DWORD iat_hooked
detected IAT hooks
DWORD hdr_mod
PE header is modified (but not replaced)
DWORD unreachable_file
cannot read the file corresponding to the module in memory
DWORD implanted_pe
the full PE was probably loaded manually
DWORD skipped
some of the modules must be skipped (i.e. dotNET managed code have different characteristics and this...
DWORD replaced
PE file replaced in memory (probably hollowed)
DWORD other
other indicators
DWORD pid
pid of the process that was scanned