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
