Analyzing Wide-Character Strings and Imports in Malware Binaries

· 10:10 · Watch on YouTube ↗

Summary

The lesson demonstrates using Floss and dump bin to inspect wide-character strings and import tables, and explains how compiler/runtime behavior and sparse imports can complicate malware triage.

Key points

  • Floss can extract both ASCII and UTF-16LE strings from a binary; meaningful strings may appear in either format.
  • Strings such as file paths, URLs, IP addresses, and mutexes can help analysts build an initial picture of a sample’s behavior.
  • Import tables show libraries and APIs linked into a program, including network-related functions such as URLDownloadToFile.
  • Compiler and runtime code can add imports that do not reflect the program author’s intent, so an imported API alone is not proof of a capability such as anti-debugging.
  • A sparse or absent import table may indicate that imports are resolved or constructed at runtime, which the lesson describes as common in malware.

Article Details

Topics
  • [00:14] Compiling a wide-character version and extracting its strings with Floss
  • [02:29] Using string findings and missing artifacts to assess possible obfuscation
  • [04:19] Inspecting executable imports with dump bin
  • [05:28] Interpreting imported libraries and APIs, including URLDownloadToFile
  • [07:59] Avoiding misleading conclusions from compiler/runtime imports
  • [09:13] Sparse import tables and runtime linking as possible obfuscation indicators

Tools

Related Articles