PE Формат файла неправильно в AddressOfEntryPoint? - PullRequest
0 голосов
/ 15 октября 2018

Я просматриваю книгу: «Обнаружение и атрибуция вредоносных данных в первой части» и использую модуль pefile python для проверки AddressOfEntryPoint. Я нашел пример: AddressOfEntryPoint ircbot.exe равен 0xCC00FFEE, когда я выполняю pe.dump_info (),Это значение довольно велико и выглядит неправильно.

ДОПОЛНИТЕЛЬНЫЙ Заголовок ircbot.exe md5: 17fa7ec63b129f171511a9f96f90d0d6

как исправить эту AddressOfEntryPoint?

Ответы [ 2 ]

0 голосов
/ 23 августа 2019

На основании комментария @ user5742815 я обновил код, указав реальный адрес точки входа.Обновленный скрипт ниже выдает тот же вывод, что и в книге:

#!/usr/bin/python

import pefile
from capstone import *

# load the target PE file
pe = pefile.PE("ircbot.exe")

# get the address of the program entry point from the program header
# entrypoint = pe.OPTIONAL_HEADER.AddressOfEntryPoint
# see: /12303484/pe-format-faila-nepravilno-v-addressofentrypoint
entrypoint = 0x0017b00

# compute memory address where the entry code will be loaded into memory
entrypoint_address = entrypoint+pe.OPTIONAL_HEADER.ImageBase

# get the binary code from the PE file object
binary_code = pe.get_memory_mapped_image()[entrypoint:entrypoint+100]

# initialize disassembler to disassemble 32 bit x86 binary code
disassembler = Cs(CS_ARCH_X86, CS_MODE_32)

# disassemble the code
for instruction in disassembler.disasm(binary_code, entrypoint_address):
    print "%s\t%s" %(instruction.mnemonic, instruction.op_str)
0 голосов
/ 16 октября 2018

Эта проблема "нормальная".Когда вы загружаете образцы с URL malwaredatascience.com / code-and-data книги, имя загруженного ZIP-файла будет malware_data_science_entrypoints_edited.zip .Как упоминалось на странице 221 книги, авторы сделали это специально для того, чтобы «отключить его выполнение».

...