
Rastreador em tempo de execução para análise de malware em Node.js que intercepta módulos principais, registra chamadas, falsifica verificações de anti-análise e captura gravações de arquivos e requisições HTTP.
Node.js tracer simples que registra chamadas a módulos principais, pode falsificar certas chamadas para derrotar a antianálise, salvar arquivos escritos pela aplicação e mais. Útil para analisar malware Node.js fortemente ofuscado.
node -r .\tracer.js main.js
Exemplo de rastreamento com DISPLAY_STACK ativo:

Ajuste as constantes no script para configurar as seguintes opções:
const DISPLAY_STACK = true // Display stack trace for each call
const SAVE_FILE_WRITES = true // Save files written by the application to the current working directory
const LOG_HTTP_REQUESTS = true // Log HTTP requests to requests.txt
const SKIP_SLEEPS = false // Skip calls to sleep and timers
const TRACE_ERRORS = false // Log errors, caught and uncaught
const IGNORED_APIS = [] // List of APIs that won't be hooked (e.g. ['path.normalize'])
Dependendo do malware, pode ser necessário ajustar as interceptações anti-anti-VM no início do script.
Atualmente implementa as seguintes funcionalidades anti-anti-VM:
tasklist (se o malware tentar enumerar ferramentas de análise em execução)