抑制Angr模拟执行期间某些日志
💡
原文中文,约2300字,阅读约需6分钟。
📝
内容提要
本文讨论了如何在Angr脚本中抑制INFO级别的日志输出。通过将特定日志记录器的级别设置为ERROR,可以减少不必要的日志信息。文章提供了多个案例,展示了如何定位和修改相关代码以实现日志抑制。
🎯
关键要点
- 通过将特定日志记录器的级别设置为ERROR,可以抑制Angr脚本中的INFO级别日志输出。
- 在Python的site-packages目录下,可以找到与Angr相关的多个依赖模块。
- 使用powershell命令可以获取特定时间内修改的目录,以便查找相关代码。
- 案例1中,通过查找cleolder.py中的_map_object函数,可以抑制INFO级别的日志输出。
- 案例2中,通过查找cleackendsoreigns ext_init__.py中的make_extern函数,可以抑制INFO级别的日志输出。
- 案例3中,通过查找cleackendsoreign ext.py中的__init__函数,可以抑制INFO级别的日志输出。
- 在搜索特征字符串时,要注意格式串的可能形式,以避免漏报。
❓
延伸问答
如何在Angr脚本中抑制INFO级别的日志输出?
可以通过将特定日志记录器的级别设置为ERROR来抑制INFO级别的日志输出。
在哪些文件中可以找到与Angr相关的代码?
可以在Python的site-packages目录下找到与Angr相关的多个依赖模块。
如何使用powershell命令查找修改过的目录?
可以使用powershell命令获取特定时间内修改的目录,例如:`Get-ChildItem -Directory | Where-Object { $_.LastWriteTime -ge $t -and $_.LastWriteTime -lt $t.AddMinutes(1) }`。
案例1中如何抑制特定的INFO日志?
在案例1中,可以通过设置`logging.getLogger('cle.loader').setLevel(logging.ERROR)`来抑制该日志。
案例2中涉及到哪个函数来抑制日志?
案例2中涉及到`cle/backends/externs/__init__.py`中的`make_extern`函数来抑制日志。
在处理日志时需要注意什么?
在搜索特征字符串时,要注意格式串的可能形式,以避免漏报。
➡️