PE文件格式在AddressOfEntryPoint中出错?

时间:2018-10-15 05:50:25

标签: portable-executable

我仔细阅读了第一章中的“恶意软件数据科学攻击检测和归因”一书,并使用pefile python模块检查了AddressOfEntryPoint,  我找到了示例:执行pe.dump_info()时,ircbot.exe的AddressOfEntryPoint为0xCC00FFEE。这个值很大,看起来不对。

ircbot.exe's OPTIONAL Header md5:17fa7ec63b129f171511a9f96f90d0d6

如何修复此AddressOfEntryPoint?

2 个答案:

答案 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())));