Check Point Research detailed an APT32 (Ocean Lotus) backdoor sample that used control-flow obfuscation to frustrate reverse engineering while delivering a multi-stage infection chain. The attack began with a malicious document disguised as a Qihoo 360 file, used VBA macros to inject shellcode into rundll32.exe, then decrypted and reflectively loaded a DLL before launching an auxiliary HTTPProv.dll module for command-and-control communications.
The analysis showed the malware inserted junk basic blocks into functions, often by placing opposite conditional jumps that led to the same target, making flow graphs appear far more complex than they were. To counter that technique, the researcher released a Python-based Graph Deobfuscator plugin for Cutter and radare2 using r2pipe, which patches those conditional branches into unconditional jumps in memory and reanalyzes the function graph without altering the original binary on disk by relying on radare2 cache mode.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
1 event from the most recent confirmed update back to the earliest known activity.
Check Point Research published an analysis of an Ocean Lotus (APT32) backdoor sample, detailing its multi-stage infection chain and control-flow obfuscation technique. The report also presented the Python-based "APT32 Graph Deobfuscator" plugin for Cutter and radare2 to simplify analysis of the obfuscated malware.
1 reference tracked. Mallory keeps watching after this page renders.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.