首页 > 其他分享 >草稿1

草稿1

时间:2023-08-27 14:11:31浏览次数:24  
标签:草稿 solver list state print asts constraints

angr 约束的ast孩子

solver.constraints[0]是angr当前state的第一个约束,是ast形式来展示的,其中,以下接口与约束的孩子有关,即得到约束的叶子或者子树

以下返回结果大部分只有BVV和BVS类型,不包含int类型(如扩展位数操作的32和8),args会返回int类型的数

# Description Method
返回两个子树 此ast节点的孩子子树 state.solver.constraints[0].args
返回所有子树 此ast节点的所有孩子子树,对于位数扩展操作,仅有被扩展的ast,没有扩展的位数作为子树,我认为可能是仅仅记录BVV和BVS,不记录int list(state.solver.constraints[0].children_asts())
list(state.solver.constraints[0].recursive_children_asts)
返回所有叶子 其BVV和BVS的叶子节点 list(state.solver.constraints[0].leaf_asts())
list(state.solver.constraints[0].recursive_leaf_asts)

这是以下运行结果和相应代码

state.solver.constraints[0]:
<Bool SignExt(24, __wql_func_arg_3___42_64[7:0]) - 0x25 > 0xa>
-----------------------------------------------
state.solver.constraints[0].args:
(<BV32 SignExt(24, __wql_func_arg_3___42_64[7:0]) - 0x25>, <BV32 0xa>)
-----------------------------------------------
list(state.solver.constraints[0].children_asts()):
[<BV32 SignExt(24, __wql_func_arg_3___42_64[7:0]) - 0x25>, <BV32 SignExt(24, __wql_func_arg_3___42_64[7:0])>, <BV8 __wql_func_arg_3___42_64[7:0]>, <BV64 __wql_func_arg_3___42_64>, <BV32 0x25>, <BV32 0xa>]
-----------------------------------------------
list(state.solver.constraints[0].leaf_asts()):
[<BV32 0xa>, <BV32 0x25>, <BV64 __wql_func_arg_3___42_64>]
-----------------------------------------------
list(state.solver.constraints[0].recursive_children_asts):
[<BV32 SignExt(24, __wql_func_arg_3___42_64[7:0]) - 0x25>, <BV32 SignExt(24, __wql_func_arg_3___42_64[7:0])>, <BV8 __wql_func_arg_3___42_64[7:0]>, <BV64 __wql_func_arg_3___42_64>, <BV32 0x25>, <BV32 0xa>]
-----------------------------------------------
list(state.solver.constraints[0].recursive_leaf_asts):
[<BV32 0xa>, <BV32 0x25>, <BV64 __wql_func_arg_3___42_64>]

        print(state.solver.constraints[0])
        print("-----------------------------------------------")
        print("state.solver.constraints[0].args:")
        print(state.solver.constraints[0].args)
        print("-----------------------------------------------")
        print("list(state.solver.constraints[0].children_asts()):")
        print(list(state.solver.constraints[0].children_asts()))
        print("-----------------------------------------------")
        print("list(state.solver.constraints[0].leaf_asts()):")
        print(list(state.solver.constraints[0].leaf_asts()))
        print("-----------------------------------------------")
        print("list(state.solver.constraints[0].recursive_children_asts):")
        print(list(state.solver.constraints[0].recursive_children_asts))
        print("-----------------------------------------------")
        print("list(state.solver.constraints[0].recursive_leaf_asts):")
        print(list(state.solver.constraints[0].recursive_leaf_asts))

_arg_registers, Value: {32, 64, 96, 72, 80, 24, 88}
_function_map, Value: FunctionDict({4210688: <Function _init (0x404000)>, 4210720: <Function sub_404020 (0x404020)>,

标签:草稿,solver,list,state,print,asts,constraints
From: https://www.cnblogs.com/WordDealer/p/17660234.html

相关文章

  • 通过一个实例的例子,学习 SAP Fiori 应用中的 Draft Handling(草稿机制)
    SAPFiori应用里的DraftHandling(草稿处理)是一种机制,用于在SAP业务数据的编辑过程中,实时保存未提交的更改。这样的机制允许用户在多个会话或者繁琐的表单填写步骤中,逐渐构建和修改数据,并在需要时将其提交。DraftHandling在SAPFiori应用中起到重要的作用,可以在不中断现有......
  • post时间盲注注入脚本之查询表字段数--草稿
    importrequestsimportsysimporttimeimportpdbimportthreadingfromconcurrent.futuresimportThreadPoolExecutorclassInjection():def__init__(self):self.url=""#self.scheNum=0self.scheNum=7#sel......
  • Markdown格式学习测试草稿
    Markdown学习标题:二级标题三级标题字体hello,world!hello,world!hello,world!***hello,world!***hello,world!hello,world!引用选择狂神说java,走向人身巅峰分割线图片超链接超链接测试列表ABCACB表格名字性别生日张三男1997.1.1......
  • 草稿02
    常用关系型数据库仅针对mysql、sqlserver、oracle、人大金仓、达梦数据库是一组文件,位于磁盘,用于存储数据数据字段类型类型名称MySQLSQLServerOracleDMKingbase整数类型tinyint、smallint、mediumint、int或integer、bingintint、tinyint、smallint、bigint......
  • 集训游记草稿
    Day2P7154[USACO20DEC]SleepingCowsP将奶牛和牛棚放到一起从大到小排序然后dp.考虑提前确定一只奶牛是否被空余出.记\(F_{i,j,0}\)表示前\(i\)个东西,P8863「KDOI-03」构造数组考虑按序列顺序dp,记\(F_{i,j}\)表示前\(i\)位全部变成\(b_i\),向后借\(j\)次操作的......
  • 常用关系型数据库(草稿)
     仅针对mysql、sqlserver、oracle、人大金仓、达梦数据库数据库是一组文件,位于磁盘,用于存储数据表名/字段规范/*表名/字段长度:Oracle:最多30个字符SQLServer:最多128个字符MySQL:最多64个字符​表名规范:1.以字母开头,只能使用A-Z、a-z、0-9、[#$不建议]MySQL中......
  • 理解错误的代码划草稿,丢掉前上传备份
    <template><div><divclass="search_stat"><app-search:searchByCompany="false"@search="search":searchFieldArray.sync="searchFieldArray"/></div><divclass="ta......
  • 库命名标准草稿
    |a用于通用占位符|s用于通用标准库|e用于枚举类型||w用于公开符号|k用于通用扩展层|t用于变量类型||x用于内部符号|n用于通用命名空间|c......
  • 自媒体文章-发布、修改、保存草稿
    文章素材关系表:关联文章内容和素材的关系,关联封面中的图片与素材的关系。若为草稿,则保存wm_news文章,不保存其中的图片信息。若不是草稿,则保存wm_news文章进入数据库,此外保存该文章与数据库material素材图片的关系:1、保存文章内容图片与素材的关系2、......
  • JAVA 草稿
    1.项目启动报错:Failedtostartbean'documentationPluginsBootstrapper'度娘解释:swagger的匹配模式进行调整导致,导致默认的匹配默认在springboot中不会使用,导致报错。处理方式:(不建议降低springboot版本,调整太大了)spring:mvc:pathmatch:matching-strategy......