[angr] CFG for self-modifying code

spark at trendmicro.com spark at trendmicro.com
Mon Jan 11 16:57:34 PST 2016

Hi people,

I was trying to get CFG for a self-modifying shellcode. I used the following code.

project = angr.Project('shellcode.exe', support_selfmodifying_code=True, load_options={'auto_load_libs':False})
cfg = project.analyses.CFG(keep_state=True, enable_symbolic_back_traversal=True)

It appears angr creates a CFG for the original code instead of the modified code. Is there any way to get a CFG by symbolically executing the code? Any example code to do this showing address and disassembly for each path will be much appreciated.


<table class="TM_EMAIL_NOTICE"><tr><td><pre>
The information contained in this email and any attachments is confidential 
and may be subject to copyright or other intellectual property protection. 
If you are not the intended recipient, you are not authorized to use or 
disclose this information, and we request that you notify us by reply mail or
telephone and delete the original message from your mail system.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.ucsb.edu/pipermail/angr/attachments/20160112/1e31e28f/attachment.html>

More information about the angr mailing list