TLS Section
From the malware’s perspective, the array of the tls callback function started before the first instruction of the code or entry point of the exe, which does not allow a researcher to start analyzing and putting a breakpoint.
fonte:
http://resources.infosecinstitute.com/2-malware-researchers-handbook-demystifying-pe-file/
Using TLS Callbacks
You might think that when you load a program into a debugger, it will pause at the first instruction the program executes, but this is not always the case. Most debuggers start at the program’s entry point as defined by the PE header. A TLS callback can be used to execute code before the entry point and therefore execute secretly in a debugger. If you rely only on the use of a debugger, you could miss certain malware functionality, as the TLS callback can run as soon as it is loaded into the debugger.
Fonte:
Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
Michael Sikorski, Andrew Honig
a) Errado: se está em memória já estão em execução e portanto não há como fazer a análise antes do programa malicioso iniciar.
b) Correto.
c) Errado: É possível sim inserir chamadas JUMP ou CALL, inclusive com técnicas de ofuscação.
d) Errado: Valores inválidos no cabeçalho do PE não vão gerar problemas na execução do programa malicioso, podem enganar uma ferramenta de disassembler (não confundir com a ferramenta de debugging) inserindo dados impróprios no começo da instrução. Isto faz com que o disassembler perca a sincronização e disassemble o resto do código incorretamente (colocando 1 bit a direita ou a esquerda, o conjunto de bits seguintes implicarão na perda da instrução).
e) Errado: Arquivos DLL podem ser chamados no decorrer do código malicioso e dificultam a análise do arquivo em questão.