我仔细阅读了第一章中的“恶意软件数据科学攻击检测和归因”一书,并使用pefile python模块检查了AddressOfEntryPoint, 我找到了示例:执行pe.dump_info()时,ircbot.exe的AddressOfEntryPoint为0xCC00FFEE。这个值很大,看起来不对。
ircbot.exe's OPTIONAL Header md5:17fa7ec63b129f171511a9f96f90d0d6
如何修复此AddressOfEntryPoint?
答案 0 :(得分:0)
此问题是“正常”的。从书的URL malwaredatascience.com/code-and-data下载示例时,下载的ZIP文件的名称为 malware_data_science_entrypoints_edited.zip 。如该书第221页所述,作者故意这样做是为了“使其无法执行。”
答案 1 :(得分:0)
基于@ user5742815的注释,我使用入口点的真实地址更新了代码。下面更新的脚本产生的输出与本书中的输出相同:
entityList.stream()
.collect(Collectors.groupingBy(i -> i.getDate().getMonth(),
Collectors.groupingBy(i -> i.getCenterId(),
Collectors.collectingAndThen(Collectors.toList(),
l -> {Integer sum = l.stream().collect(Collectors.summingInt(i -> i.getAmount()));
Double avg = l.stream().collect(Collectors.averagingDouble(i -> i.getPercent()));
return new AbstractMap.SimpleEntry<>(sum, avg);
}))))
.forEach((k, v) -> v.forEach((k1, v1) -> System.out.println(k.toString() + " - " + k1.toString() + " - " + v1.getKey() + " - " + v1.getValue())));