angr 9.2.118__py3-none-win_amd64.whl → 9.2.120__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of angr might be problematic. Click here for more details.

Files changed (839) hide show
  1. angr/__init__.py +217 -2
  2. angr/__main__.py +14 -4
  3. angr/analyses/__init__.py +54 -0
  4. angr/analyses/analysis.py +47 -5
  5. angr/analyses/backward_slice.py +4 -4
  6. angr/analyses/bindiff.py +2 -2
  7. angr/analyses/callee_cleanup_finder.py +1 -1
  8. angr/analyses/calling_convention.py +21 -15
  9. angr/analyses/cdg.py +1 -1
  10. angr/analyses/cfg/__init__.py +12 -1
  11. angr/analyses/cfg/cfb.py +2 -2
  12. angr/analyses/cfg/cfg.py +1 -1
  13. angr/analyses/cfg/cfg_base.py +28 -11
  14. angr/analyses/cfg/cfg_emulated.py +18 -18
  15. angr/analyses/cfg/cfg_fast.py +136 -24
  16. angr/analyses/cfg/cfg_fast_soot.py +5 -5
  17. angr/analyses/cfg/cfg_job_base.py +3 -3
  18. angr/analyses/cfg/indirect_jump_resolvers/__init__.py +13 -0
  19. angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py +1 -1
  20. angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py +2 -2
  21. angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py +4 -4
  22. angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +21 -18
  23. angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py +5 -5
  24. angr/analyses/cfg/indirect_jump_resolvers/resolver.py +2 -2
  25. angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py +1 -1
  26. angr/analyses/cfg_slice_to_sink/__init__.py +8 -0
  27. angr/analyses/class_identifier.py +2 -2
  28. angr/analyses/code_tagging.py +2 -2
  29. angr/analyses/complete_calling_conventions.py +3 -3
  30. angr/analyses/congruency_check.py +1 -2
  31. angr/analyses/data_dep/__init__.py +13 -0
  32. angr/analyses/data_dep/data_dependency_analysis.py +5 -5
  33. angr/analyses/datagraph_meta.py +1 -1
  34. angr/analyses/ddg.py +3 -3
  35. angr/analyses/decompiler/__init__.py +25 -0
  36. angr/analyses/decompiler/ail_simplifier.py +9 -9
  37. angr/analyses/decompiler/block_simplifier.py +3 -3
  38. angr/analyses/decompiler/callsite_maker.py +5 -3
  39. angr/analyses/decompiler/clinic.py +46 -36
  40. angr/analyses/decompiler/condition_processor.py +48 -21
  41. angr/analyses/decompiler/counters/__init__.py +11 -0
  42. angr/analyses/decompiler/decompiler.py +27 -10
  43. angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
  44. angr/analyses/decompiler/jumptable_entry_condition_rewriter.py +1 -1
  45. angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
  46. angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
  47. angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
  48. angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
  49. angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
  50. angr/analyses/decompiler/optimization_passes/duplication_reverter/ail_merge_graph.py +7 -4
  51. angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +13 -9
  52. angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
  53. angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
  54. angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
  55. angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
  56. angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
  57. angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py +19 -19
  58. angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +6 -6
  59. angr/analyses/decompiler/optimization_passes/ite_region_converter.py +2 -2
  60. angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +7 -3
  61. angr/analyses/decompiler/optimization_passes/optimization_pass.py +34 -28
  62. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +2 -2
  63. angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +1 -1
  64. angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +3 -3
  65. angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +5 -5
  66. angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +1 -1
  67. angr/analyses/decompiler/peephole_optimizations/__init__.py +61 -19
  68. angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +1 -1
  69. angr/analyses/decompiler/presets/__init__.py +20 -0
  70. angr/analyses/decompiler/presets/basic.py +30 -0
  71. angr/analyses/decompiler/presets/fast.py +54 -0
  72. angr/analyses/decompiler/presets/full.py +64 -0
  73. angr/analyses/decompiler/presets/preset.py +37 -0
  74. angr/analyses/decompiler/region_identifier.py +21 -7
  75. angr/analyses/decompiler/region_simplifiers/__init__.py +3 -0
  76. angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +3 -3
  77. angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +3 -3
  78. angr/analyses/decompiler/region_simplifiers/expr_folding.py +2 -2
  79. angr/analyses/decompiler/region_simplifiers/goto.py +3 -3
  80. angr/analyses/decompiler/region_simplifiers/if_.py +2 -2
  81. angr/analyses/decompiler/region_simplifiers/ifelse.py +4 -4
  82. angr/analyses/decompiler/region_simplifiers/loop.py +4 -4
  83. angr/analyses/decompiler/region_simplifiers/node_address_finder.py +1 -1
  84. angr/analyses/decompiler/region_simplifiers/region_simplifier.py +6 -6
  85. angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +12 -5
  86. angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +3 -3
  87. angr/analyses/decompiler/sequence_walker.py +11 -12
  88. angr/analyses/decompiler/structured_codegen/__init__.py +14 -0
  89. angr/analyses/decompiler/structured_codegen/base.py +1 -1
  90. angr/analyses/decompiler/structured_codegen/c.py +22 -15
  91. angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
  92. angr/analyses/decompiler/structuring/__init__.py +11 -1
  93. angr/analyses/decompiler/structuring/dream.py +16 -15
  94. angr/analyses/decompiler/structuring/phoenix.py +9 -9
  95. angr/analyses/decompiler/structuring/recursive_structurer.py +7 -7
  96. angr/analyses/decompiler/structuring/sailr.py +2 -2
  97. angr/analyses/decompiler/structuring/structurer_base.py +9 -4
  98. angr/analyses/decompiler/structuring/structurer_nodes.py +18 -9
  99. angr/analyses/decompiler/utils.py +4 -2
  100. angr/analyses/disassembly.py +6 -6
  101. angr/analyses/disassembly_utils.py +1 -1
  102. angr/analyses/dominance_frontier.py +1 -1
  103. angr/analyses/find_objects_static.py +5 -5
  104. angr/analyses/flirt.py +3 -3
  105. angr/analyses/forward_analysis/__init__.py +9 -0
  106. angr/analyses/forward_analysis/forward_analysis.py +4 -4
  107. angr/analyses/forward_analysis/job_info.py +1 -1
  108. angr/analyses/forward_analysis/visitors/__init__.py +9 -0
  109. angr/analyses/forward_analysis/visitors/graph.py +2 -2
  110. angr/analyses/identifier/__init__.py +3 -0
  111. angr/analyses/identifier/custom_callable.py +2 -3
  112. angr/analyses/identifier/errors.py +1 -1
  113. angr/analyses/identifier/functions/__init__.py +4 -4
  114. angr/analyses/identifier/functions/atoi.py +1 -1
  115. angr/analyses/identifier/functions/based_atoi.py +1 -1
  116. angr/analyses/identifier/functions/fdprintf.py +1 -1
  117. angr/analyses/identifier/functions/free.py +2 -2
  118. angr/analyses/identifier/functions/int2str.py +1 -1
  119. angr/analyses/identifier/functions/malloc.py +2 -2
  120. angr/analyses/identifier/functions/memcmp.py +1 -1
  121. angr/analyses/identifier/functions/memcpy.py +3 -3
  122. angr/analyses/identifier/functions/memset.py +1 -1
  123. angr/analyses/identifier/functions/printf.py +1 -1
  124. angr/analyses/identifier/functions/recv_until.py +2 -2
  125. angr/analyses/identifier/functions/skip_calloc.py +2 -2
  126. angr/analyses/identifier/functions/skip_realloc.py +2 -2
  127. angr/analyses/identifier/functions/skip_recv_n.py +1 -1
  128. angr/analyses/identifier/functions/snprintf.py +1 -1
  129. angr/analyses/identifier/functions/sprintf.py +1 -1
  130. angr/analyses/identifier/functions/strcmp.py +1 -1
  131. angr/analyses/identifier/functions/strcpy.py +1 -1
  132. angr/analyses/identifier/functions/strlen.py +1 -1
  133. angr/analyses/identifier/functions/strncmp.py +1 -1
  134. angr/analyses/identifier/functions/strncpy.py +1 -1
  135. angr/analyses/identifier/functions/strtol.py +1 -1
  136. angr/analyses/identifier/identify.py +3 -3
  137. angr/analyses/identifier/runner.py +6 -6
  138. angr/analyses/init_finder.py +1 -1
  139. angr/analyses/loop_analysis.py +2 -2
  140. angr/analyses/propagator/__init__.py +3 -0
  141. angr/analyses/propagator/engine_ail.py +6 -5
  142. angr/analyses/propagator/engine_base.py +2 -2
  143. angr/analyses/propagator/engine_vex.py +2 -2
  144. angr/analyses/propagator/outdated_definition_walker.py +3 -3
  145. angr/analyses/propagator/propagator.py +3 -3
  146. angr/analyses/propagator/top_checker_mixin.py +1 -1
  147. angr/analyses/proximity_graph.py +3 -3
  148. angr/analyses/reaching_definitions/__init__.py +6 -6
  149. angr/analyses/reaching_definitions/dep_graph.py +5 -5
  150. angr/analyses/reaching_definitions/engine_ail.py +8 -8
  151. angr/analyses/reaching_definitions/engine_vex.py +18 -13
  152. angr/analyses/reaching_definitions/function_handler.py +6 -2
  153. angr/analyses/reaching_definitions/heap_allocator.py +3 -3
  154. angr/analyses/reaching_definitions/rd_state.py +4 -10
  155. angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
  156. angr/analyses/reaching_definitions/subject.py +3 -3
  157. angr/analyses/reassembler.py +5 -5
  158. angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
  159. angr/analyses/s_reaching_definitions/__init__.py +11 -1
  160. angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
  161. angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
  162. angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
  163. angr/analyses/stack_pointer_tracker.py +34 -16
  164. angr/analyses/static_hooker.py +2 -2
  165. angr/analyses/typehoon/__init__.py +3 -0
  166. angr/analyses/typehoon/lifter.py +1 -1
  167. angr/analyses/typehoon/translator.py +21 -4
  168. angr/analyses/typehoon/typeconsts.py +8 -0
  169. angr/analyses/typehoon/typehoon.py +3 -3
  170. angr/analyses/variable_recovery/__init__.py +6 -0
  171. angr/analyses/variable_recovery/engine_ail.py +5 -5
  172. angr/analyses/variable_recovery/engine_base.py +7 -7
  173. angr/analyses/variable_recovery/engine_vex.py +14 -17
  174. angr/analyses/variable_recovery/variable_recovery.py +5 -5
  175. angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
  176. angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
  177. angr/analyses/veritesting.py +8 -8
  178. angr/analyses/vfg.py +13 -13
  179. angr/analyses/vsa_ddg.py +3 -3
  180. angr/analyses/vtable.py +1 -1
  181. angr/analyses/xrefs.py +3 -3
  182. angr/angrdb/__init__.py +3 -0
  183. angr/angrdb/db.py +2 -2
  184. angr/angrdb/serializers/__init__.py +7 -0
  185. angr/angrdb/serializers/cfg_model.py +2 -2
  186. angr/angrdb/serializers/comments.py +2 -2
  187. angr/angrdb/serializers/funcs.py +2 -2
  188. angr/angrdb/serializers/kb.py +2 -2
  189. angr/angrdb/serializers/labels.py +2 -2
  190. angr/angrdb/serializers/loader.py +2 -2
  191. angr/angrdb/serializers/structured_code.py +4 -4
  192. angr/angrdb/serializers/variables.py +3 -3
  193. angr/angrdb/serializers/xrefs.py +2 -2
  194. angr/calling_conventions.py +69 -24
  195. angr/concretization_strategies/__init__.py +17 -0
  196. angr/concretization_strategies/max.py +1 -1
  197. angr/concretization_strategies/norepeats.py +3 -3
  198. angr/concretization_strategies/norepeats_range.py +1 -1
  199. angr/distributed/__init__.py +6 -1
  200. angr/distributed/server.py +0 -1
  201. angr/distributed/worker.py +6 -4
  202. angr/engines/__init__.py +25 -0
  203. angr/engines/concrete.py +2 -3
  204. angr/engines/engine.py +3 -3
  205. angr/engines/failure.py +2 -2
  206. angr/engines/light/__init__.py +12 -0
  207. angr/engines/light/data.py +1 -1
  208. angr/engines/light/engine.py +12 -17
  209. angr/engines/pcode/__init__.py +7 -1
  210. angr/engines/pcode/behavior.py +1 -1
  211. angr/engines/pcode/cc.py +1 -1
  212. angr/engines/pcode/emulate.py +4 -4
  213. angr/engines/pcode/engine.py +5 -5
  214. angr/engines/pcode/lifter.py +7 -7
  215. angr/engines/procedure.py +3 -3
  216. angr/engines/soot/__init__.py +3 -0
  217. angr/engines/soot/engine.py +13 -13
  218. angr/engines/soot/expressions/__init__.py +33 -0
  219. angr/engines/soot/expressions/arrayref.py +1 -1
  220. angr/engines/soot/expressions/base.py +1 -1
  221. angr/engines/soot/expressions/cast.py +1 -1
  222. angr/engines/soot/expressions/condition.py +2 -2
  223. angr/engines/soot/expressions/constants.py +1 -1
  224. angr/engines/soot/expressions/invoke.py +2 -2
  225. angr/engines/soot/expressions/new.py +1 -1
  226. angr/engines/soot/expressions/newArray.py +1 -1
  227. angr/engines/soot/expressions/newMultiArray.py +1 -1
  228. angr/engines/soot/statements/__init__.py +16 -0
  229. angr/engines/soot/statements/assign.py +1 -1
  230. angr/engines/soot/statements/base.py +3 -3
  231. angr/engines/soot/statements/goto.py +1 -1
  232. angr/engines/soot/statements/if_.py +1 -1
  233. angr/engines/soot/statements/throw.py +1 -1
  234. angr/engines/soot/values/__init__.py +14 -0
  235. angr/engines/soot/values/arrayref.py +1 -1
  236. angr/engines/soot/values/instancefieldref.py +1 -1
  237. angr/engines/soot/values/staticfieldref.py +1 -1
  238. angr/engines/soot/values/thisref.py +2 -2
  239. angr/engines/successors.py +8 -8
  240. angr/engines/syscall.py +1 -1
  241. angr/engines/unicorn.py +13 -13
  242. angr/engines/vex/__init__.py +18 -3
  243. angr/engines/vex/claripy/__init__.py +3 -0
  244. angr/engines/vex/claripy/ccall.py +1 -2
  245. angr/engines/vex/claripy/datalayer.py +3 -3
  246. angr/engines/vex/heavy/__init__.py +11 -1
  247. angr/engines/vex/heavy/heavy.py +8 -8
  248. angr/engines/vex/heavy/inspect.py +2 -2
  249. angr/engines/vex/heavy/resilience.py +2 -2
  250. angr/engines/vex/heavy/super_fastpath.py +3 -3
  251. angr/engines/vex/lifter.py +5 -5
  252. angr/engines/vex/light/__init__.py +7 -0
  253. angr/engines/vex/light/light.py +2 -2
  254. angr/engines/vex/light/slicing.py +1 -1
  255. angr/errors.py +4 -4
  256. angr/exploration_techniques/__init__.py +0 -1
  257. angr/exploration_techniques/bucketizer.py +9 -10
  258. angr/exploration_techniques/common.py +2 -2
  259. angr/exploration_techniques/director.py +4 -4
  260. angr/exploration_techniques/driller_core.py +2 -3
  261. angr/exploration_techniques/explorer.py +3 -3
  262. angr/exploration_techniques/loop_seer.py +3 -3
  263. angr/exploration_techniques/oppologist.py +3 -3
  264. angr/exploration_techniques/slicecutor.py +1 -1
  265. angr/exploration_techniques/spiller.py +1 -1
  266. angr/exploration_techniques/suggestions.py +6 -6
  267. angr/exploration_techniques/symbion.py +0 -1
  268. angr/exploration_techniques/threading.py +2 -2
  269. angr/exploration_techniques/tracer.py +3 -3
  270. angr/exploration_techniques/veritesting.py +1 -1
  271. angr/flirt/__init__.py +0 -1
  272. angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
  273. angr/knowledge_plugins/__init__.py +23 -1
  274. angr/knowledge_plugins/callsite_prototypes.py +2 -2
  275. angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
  276. angr/knowledge_plugins/cfg/cfg_model.py +8 -7
  277. angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
  278. angr/knowledge_plugins/cfg/memory_data.py +3 -2
  279. angr/knowledge_plugins/debug_variables.py +2 -2
  280. angr/knowledge_plugins/functions/__init__.py +6 -0
  281. angr/knowledge_plugins/functions/function.py +21 -16
  282. angr/knowledge_plugins/functions/function_manager.py +2 -2
  283. angr/knowledge_plugins/functions/function_parser.py +3 -3
  284. angr/knowledge_plugins/functions/soot_function.py +2 -2
  285. angr/knowledge_plugins/key_definitions/atoms.py +2 -2
  286. angr/knowledge_plugins/key_definitions/definition.py +3 -3
  287. angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
  288. angr/knowledge_plugins/key_definitions/uses.py +2 -2
  289. angr/knowledge_plugins/propagations/__init__.py +7 -0
  290. angr/knowledge_plugins/propagations/prop_value.py +1 -1
  291. angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
  292. angr/knowledge_plugins/types.py +1 -1
  293. angr/knowledge_plugins/variables/__init__.py +6 -0
  294. angr/knowledge_plugins/variables/variable_access.py +3 -3
  295. angr/knowledge_plugins/variables/variable_manager.py +7 -7
  296. angr/knowledge_plugins/xrefs/__init__.py +9 -1
  297. angr/knowledge_plugins/xrefs/xref.py +5 -5
  298. angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
  299. angr/lib/angr_native.dll +0 -0
  300. angr/misc/__init__.py +12 -2
  301. angr/misc/loggers.py +2 -2
  302. angr/misc/telemetry.py +54 -0
  303. angr/procedures/__init__.py +9 -0
  304. angr/procedures/cgc/receive.py +2 -2
  305. angr/procedures/cgc/transmit.py +1 -1
  306. angr/procedures/definitions/__init__.py +8 -8
  307. angr/procedures/definitions/cgc.py +1 -1
  308. angr/procedures/definitions/glibc.py +2 -15
  309. angr/procedures/definitions/gnulib.py +2 -6
  310. angr/procedures/definitions/libstdcpp.py +2 -2
  311. angr/procedures/definitions/linux_kernel.py +2 -3
  312. angr/procedures/definitions/linux_loader.py +1 -1
  313. angr/procedures/definitions/msvcr.py +2 -2
  314. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  315. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  316. angr/procedures/definitions/wdk_clfs.py +3 -18
  317. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  318. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  319. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  320. angr/procedures/definitions/wdk_gdi32.py +3 -18
  321. angr/procedures/definitions/wdk_hal.py +3 -18
  322. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  323. angr/procedures/definitions/wdk_ndis.py +3 -18
  324. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  325. angr/procedures/definitions/wdk_offreg.py +3 -18
  326. angr/procedures/definitions/wdk_pshed.py +3 -18
  327. angr/procedures/definitions/wdk_secur32.py +3 -18
  328. angr/procedures/definitions/wdk_vhfum.py +3 -18
  329. angr/procedures/definitions/win32_aclui.py +3 -18
  330. angr/procedures/definitions/win32_activeds.py +3 -18
  331. angr/procedures/definitions/win32_advapi32.py +3 -18
  332. angr/procedures/definitions/win32_advpack.py +3 -18
  333. angr/procedures/definitions/win32_amsi.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  356. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  357. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  358. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  359. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  360. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  361. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  362. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  363. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  364. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  365. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  366. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  367. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  368. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  369. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  370. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  371. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  372. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  373. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  374. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  375. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  376. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  386. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  387. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  388. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  389. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  390. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  391. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  392. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  393. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  394. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  395. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  396. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  397. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  398. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  399. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  400. angr/procedures/definitions/win32_apphelp.py +3 -18
  401. angr/procedures/definitions/win32_authz.py +3 -18
  402. angr/procedures/definitions/win32_avicap32.py +3 -18
  403. angr/procedures/definitions/win32_avifil32.py +3 -18
  404. angr/procedures/definitions/win32_avrt.py +3 -18
  405. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  406. angr/procedures/definitions/win32_bcrypt.py +3 -18
  407. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  408. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  409. angr/procedures/definitions/win32_bthprops.py +3 -3
  410. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  411. angr/procedures/definitions/win32_cabinet.py +3 -18
  412. angr/procedures/definitions/win32_certadm.py +3 -18
  413. angr/procedures/definitions/win32_certpoleng.py +3 -18
  414. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  415. angr/procedures/definitions/win32_chakra.py +3 -18
  416. angr/procedures/definitions/win32_cldapi.py +3 -18
  417. angr/procedures/definitions/win32_clfsw32.py +3 -18
  418. angr/procedures/definitions/win32_clusapi.py +3 -18
  419. angr/procedures/definitions/win32_comctl32.py +3 -18
  420. angr/procedures/definitions/win32_comdlg32.py +3 -18
  421. angr/procedures/definitions/win32_compstui.py +3 -18
  422. angr/procedures/definitions/win32_computecore.py +3 -18
  423. angr/procedures/definitions/win32_computenetwork.py +3 -18
  424. angr/procedures/definitions/win32_computestorage.py +3 -18
  425. angr/procedures/definitions/win32_comsvcs.py +3 -18
  426. angr/procedures/definitions/win32_coremessaging.py +3 -3
  427. angr/procedures/definitions/win32_credui.py +3 -18
  428. angr/procedures/definitions/win32_crypt32.py +3 -18
  429. angr/procedures/definitions/win32_cryptnet.py +3 -18
  430. angr/procedures/definitions/win32_cryptui.py +3 -18
  431. angr/procedures/definitions/win32_cryptxml.py +3 -18
  432. angr/procedures/definitions/win32_cscapi.py +3 -18
  433. angr/procedures/definitions/win32_d2d1.py +3 -18
  434. angr/procedures/definitions/win32_d3d10.py +3 -18
  435. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  436. angr/procedures/definitions/win32_d3d11.py +3 -18
  437. angr/procedures/definitions/win32_d3d12.py +3 -18
  438. angr/procedures/definitions/win32_d3d9.py +3 -18
  439. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  440. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  441. angr/procedures/definitions/win32_davclnt.py +3 -18
  442. angr/procedures/definitions/win32_dbgeng.py +3 -18
  443. angr/procedures/definitions/win32_dbghelp.py +3 -18
  444. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  445. angr/procedures/definitions/win32_dciman32.py +3 -18
  446. angr/procedures/definitions/win32_dcomp.py +3 -18
  447. angr/procedures/definitions/win32_ddraw.py +3 -18
  448. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  449. angr/procedures/definitions/win32_dflayout.py +3 -18
  450. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  451. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  452. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  453. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  454. angr/procedures/definitions/win32_dinput8.py +3 -18
  455. angr/procedures/definitions/win32_directml.py +3 -18
  456. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  457. angr/procedures/definitions/win32_dnsapi.py +3 -18
  458. angr/procedures/definitions/win32_drt.py +3 -18
  459. angr/procedures/definitions/win32_drtprov.py +3 -18
  460. angr/procedures/definitions/win32_drttransport.py +3 -18
  461. angr/procedures/definitions/win32_dsound.py +3 -18
  462. angr/procedures/definitions/win32_dsparse.py +3 -18
  463. angr/procedures/definitions/win32_dsprop.py +3 -18
  464. angr/procedures/definitions/win32_dssec.py +3 -18
  465. angr/procedures/definitions/win32_dsuiext.py +3 -18
  466. angr/procedures/definitions/win32_dwmapi.py +3 -18
  467. angr/procedures/definitions/win32_dwrite.py +3 -18
  468. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  469. angr/procedures/definitions/win32_dxcore.py +3 -18
  470. angr/procedures/definitions/win32_dxgi.py +3 -18
  471. angr/procedures/definitions/win32_dxva2.py +3 -18
  472. angr/procedures/definitions/win32_eappcfg.py +3 -18
  473. angr/procedures/definitions/win32_eappprxy.py +3 -18
  474. angr/procedures/definitions/win32_efswrt.py +3 -18
  475. angr/procedures/definitions/win32_elscore.py +3 -18
  476. angr/procedures/definitions/win32_esent.py +3 -18
  477. angr/procedures/definitions/win32_evr.py +3 -18
  478. angr/procedures/definitions/win32_faultrep.py +3 -18
  479. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  480. angr/procedures/definitions/win32_firewallapi.py +3 -18
  481. angr/procedures/definitions/win32_fltlib.py +3 -18
  482. angr/procedures/definitions/win32_fontsub.py +3 -18
  483. angr/procedures/definitions/win32_forceinline.py +3 -18
  484. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  485. angr/procedures/definitions/win32_fxsutility.py +3 -18
  486. angr/procedures/definitions/win32_gdi32.py +3 -18
  487. angr/procedures/definitions/win32_gdiplus.py +3 -18
  488. angr/procedures/definitions/win32_glu32.py +3 -18
  489. angr/procedures/definitions/win32_gpedit.py +3 -18
  490. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  491. angr/procedures/definitions/win32_hid.py +3 -18
  492. angr/procedures/definitions/win32_hlink.py +3 -18
  493. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  494. angr/procedures/definitions/win32_httpapi.py +3 -18
  495. angr/procedures/definitions/win32_icm32.py +3 -18
  496. angr/procedures/definitions/win32_icmui.py +3 -18
  497. angr/procedures/definitions/win32_icu.py +3 -18
  498. angr/procedures/definitions/win32_ieframe.py +3 -18
  499. angr/procedures/definitions/win32_imagehlp.py +3 -18
  500. angr/procedures/definitions/win32_imgutil.py +3 -18
  501. angr/procedures/definitions/win32_imm32.py +3 -18
  502. angr/procedures/definitions/win32_infocardapi.py +3 -18
  503. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  504. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  505. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  506. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  507. angr/procedures/definitions/win32_kernel32.py +3 -18
  508. angr/procedures/definitions/win32_kernelbase.py +3 -18
  509. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  510. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  511. angr/procedures/definitions/win32_ksuser.py +3 -18
  512. angr/procedures/definitions/win32_ktmw32.py +3 -18
  513. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  514. angr/procedures/definitions/win32_loadperf.py +3 -18
  515. angr/procedures/definitions/win32_magnification.py +3 -18
  516. angr/procedures/definitions/win32_mapi32.py +3 -18
  517. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  518. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  519. angr/procedures/definitions/win32_mf.py +3 -18
  520. angr/procedures/definitions/win32_mfcore.py +3 -18
  521. angr/procedures/definitions/win32_mfplat.py +3 -18
  522. angr/procedures/definitions/win32_mfplay.py +3 -18
  523. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  524. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  525. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  526. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  527. angr/procedures/definitions/win32_mi.py +3 -18
  528. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  529. angr/procedures/definitions/win32_mpr.py +3 -18
  530. angr/procedures/definitions/win32_mprapi.py +3 -18
  531. angr/procedures/definitions/win32_mqrt.py +3 -18
  532. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  533. angr/procedures/definitions/win32_msacm32.py +3 -18
  534. angr/procedures/definitions/win32_msajapi.py +3 -18
  535. angr/procedures/definitions/win32_mscms.py +3 -18
  536. angr/procedures/definitions/win32_mscoree.py +3 -18
  537. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  538. angr/procedures/definitions/win32_msdelta.py +3 -18
  539. angr/procedures/definitions/win32_msdmo.py +3 -18
  540. angr/procedures/definitions/win32_msdrm.py +3 -18
  541. angr/procedures/definitions/win32_msi.py +3 -18
  542. angr/procedures/definitions/win32_msimg32.py +3 -18
  543. angr/procedures/definitions/win32_mspatcha.py +3 -18
  544. angr/procedures/definitions/win32_mspatchc.py +3 -18
  545. angr/procedures/definitions/win32_msports.py +3 -18
  546. angr/procedures/definitions/win32_msrating.py +3 -18
  547. angr/procedures/definitions/win32_mssign32.py +3 -18
  548. angr/procedures/definitions/win32_mstask.py +3 -18
  549. angr/procedures/definitions/win32_msvfw32.py +3 -18
  550. angr/procedures/definitions/win32_mswsock.py +3 -18
  551. angr/procedures/definitions/win32_mtxdm.py +3 -18
  552. angr/procedures/definitions/win32_ncrypt.py +3 -18
  553. angr/procedures/definitions/win32_ndfapi.py +3 -18
  554. angr/procedures/definitions/win32_netapi32.py +3 -18
  555. angr/procedures/definitions/win32_netsh.py +3 -18
  556. angr/procedures/definitions/win32_netshell.py +3 -18
  557. angr/procedures/definitions/win32_newdev.py +3 -18
  558. angr/procedures/definitions/win32_ninput.py +3 -18
  559. angr/procedures/definitions/win32_normaliz.py +3 -18
  560. angr/procedures/definitions/win32_ntdll.py +3 -18
  561. angr/procedures/definitions/win32_ntdllk.py +3 -18
  562. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  563. angr/procedures/definitions/win32_ntlanman.py +3 -18
  564. angr/procedures/definitions/win32_odbc32.py +3 -18
  565. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  566. angr/procedures/definitions/win32_ole32.py +3 -18
  567. angr/procedures/definitions/win32_oleacc.py +3 -18
  568. angr/procedures/definitions/win32_oleaut32.py +3 -18
  569. angr/procedures/definitions/win32_oledlg.py +3 -18
  570. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  571. angr/procedures/definitions/win32_opengl32.py +3 -18
  572. angr/procedures/definitions/win32_opmxbox.py +3 -18
  573. angr/procedures/definitions/win32_p2p.py +3 -18
  574. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  575. angr/procedures/definitions/win32_pdh.py +3 -18
  576. angr/procedures/definitions/win32_peerdist.py +3 -18
  577. angr/procedures/definitions/win32_powrprof.py +3 -18
  578. angr/procedures/definitions/win32_prntvpt.py +3 -18
  579. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  580. angr/procedures/definitions/win32_propsys.py +3 -18
  581. angr/procedures/definitions/win32_psapi.py +3 -18
  582. angr/procedures/definitions/win32_quartz.py +3 -18
  583. angr/procedures/definitions/win32_query.py +3 -18
  584. angr/procedures/definitions/win32_qwave.py +3 -18
  585. angr/procedures/definitions/win32_rasapi32.py +3 -18
  586. angr/procedures/definitions/win32_rasdlg.py +3 -18
  587. angr/procedures/definitions/win32_resutils.py +3 -18
  588. angr/procedures/definitions/win32_rometadata.py +3 -3
  589. angr/procedures/definitions/win32_rpcns4.py +3 -18
  590. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  591. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  592. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  593. angr/procedures/definitions/win32_rtm.py +3 -18
  594. angr/procedures/definitions/win32_rtutils.py +3 -18
  595. angr/procedures/definitions/win32_rtworkq.py +3 -18
  596. angr/procedures/definitions/win32_sas.py +3 -18
  597. angr/procedures/definitions/win32_scarddlg.py +3 -18
  598. angr/procedures/definitions/win32_schannel.py +3 -18
  599. angr/procedures/definitions/win32_sechost.py +3 -18
  600. angr/procedures/definitions/win32_secur32.py +3 -18
  601. angr/procedures/definitions/win32_sensapi.py +3 -18
  602. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  603. angr/procedures/definitions/win32_setupapi.py +3 -18
  604. angr/procedures/definitions/win32_sfc.py +3 -18
  605. angr/procedures/definitions/win32_shdocvw.py +3 -18
  606. angr/procedures/definitions/win32_shell32.py +3 -18
  607. angr/procedures/definitions/win32_shlwapi.py +3 -18
  608. angr/procedures/definitions/win32_slc.py +3 -18
  609. angr/procedures/definitions/win32_slcext.py +3 -18
  610. angr/procedures/definitions/win32_slwga.py +3 -18
  611. angr/procedures/definitions/win32_snmpapi.py +3 -18
  612. angr/procedures/definitions/win32_spoolss.py +3 -18
  613. angr/procedures/definitions/win32_srclient.py +3 -18
  614. angr/procedures/definitions/win32_srpapi.py +3 -18
  615. angr/procedures/definitions/win32_sspicli.py +3 -18
  616. angr/procedures/definitions/win32_sti.py +3 -18
  617. angr/procedures/definitions/win32_t2embed.py +3 -18
  618. angr/procedures/definitions/win32_tapi32.py +3 -18
  619. angr/procedures/definitions/win32_tbs.py +3 -18
  620. angr/procedures/definitions/win32_tdh.py +3 -18
  621. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  622. angr/procedures/definitions/win32_traffic.py +3 -18
  623. angr/procedures/definitions/win32_txfw32.py +3 -18
  624. angr/procedures/definitions/win32_ualapi.py +3 -18
  625. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  626. angr/procedures/definitions/win32_urlmon.py +3 -18
  627. angr/procedures/definitions/win32_user32.py +4 -19
  628. angr/procedures/definitions/win32_userenv.py +3 -18
  629. angr/procedures/definitions/win32_usp10.py +3 -18
  630. angr/procedures/definitions/win32_uxtheme.py +3 -18
  631. angr/procedures/definitions/win32_verifier.py +3 -18
  632. angr/procedures/definitions/win32_version.py +3 -18
  633. angr/procedures/definitions/win32_vertdll.py +3 -18
  634. angr/procedures/definitions/win32_virtdisk.py +3 -18
  635. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  636. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  637. angr/procedures/definitions/win32_vssapi.py +3 -18
  638. angr/procedures/definitions/win32_wcmapi.py +3 -18
  639. angr/procedures/definitions/win32_wdsbp.py +3 -18
  640. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  641. angr/procedures/definitions/win32_wdsmc.py +3 -18
  642. angr/procedures/definitions/win32_wdspxe.py +3 -18
  643. angr/procedures/definitions/win32_wdstptc.py +3 -18
  644. angr/procedures/definitions/win32_webauthn.py +3 -18
  645. angr/procedures/definitions/win32_webservices.py +3 -18
  646. angr/procedures/definitions/win32_websocket.py +3 -18
  647. angr/procedures/definitions/win32_wecapi.py +3 -18
  648. angr/procedures/definitions/win32_wer.py +3 -18
  649. angr/procedures/definitions/win32_wevtapi.py +3 -18
  650. angr/procedures/definitions/win32_winbio.py +3 -18
  651. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  652. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  653. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  654. angr/procedures/definitions/win32_windows_networking.py +3 -18
  655. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  656. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  657. angr/procedures/definitions/win32_winfax.py +3 -18
  658. angr/procedures/definitions/win32_winhttp.py +3 -18
  659. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  660. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  661. angr/procedures/definitions/win32_wininet.py +3 -18
  662. angr/procedures/definitions/win32_winml.py +3 -18
  663. angr/procedures/definitions/win32_winmm.py +3 -18
  664. angr/procedures/definitions/win32_winscard.py +3 -18
  665. angr/procedures/definitions/win32_winspool.py +3 -3
  666. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  667. angr/procedures/definitions/win32_wintrust.py +3 -18
  668. angr/procedures/definitions/win32_winusb.py +3 -18
  669. angr/procedures/definitions/win32_wlanapi.py +3 -18
  670. angr/procedures/definitions/win32_wlanui.py +3 -18
  671. angr/procedures/definitions/win32_wldap32.py +3 -18
  672. angr/procedures/definitions/win32_wldp.py +3 -18
  673. angr/procedures/definitions/win32_wmvcore.py +3 -18
  674. angr/procedures/definitions/win32_wnvapi.py +3 -18
  675. angr/procedures/definitions/win32_wofutil.py +3 -18
  676. angr/procedures/definitions/win32_ws2_32.py +3 -18
  677. angr/procedures/definitions/win32_wscapi.py +3 -18
  678. angr/procedures/definitions/win32_wsclient.py +3 -18
  679. angr/procedures/definitions/win32_wsdapi.py +3 -18
  680. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  681. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  682. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  683. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  684. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  685. angr/procedures/definitions/win32_xinputuap.py +3 -3
  686. angr/procedures/definitions/win32_xmllite.py +3 -18
  687. angr/procedures/definitions/win32_xolehlp.py +3 -18
  688. angr/procedures/definitions/win32_xpsprint.py +3 -18
  689. angr/procedures/glibc/scanf.py +2 -2
  690. angr/procedures/glibc/sscanf.py +1 -1
  691. angr/procedures/java/__init__.py +6 -3
  692. angr/procedures/java/unconstrained.py +4 -4
  693. angr/procedures/java_io/read.py +1 -1
  694. angr/procedures/java_io/write.py +1 -1
  695. angr/procedures/java_jni/__init__.py +25 -17
  696. angr/procedures/java_jni/array_operations.py +2 -2
  697. angr/procedures/java_jni/field_access.py +3 -3
  698. angr/procedures/java_jni/method_calls.py +2 -2
  699. angr/procedures/java_jni/object_operations.py +1 -1
  700. angr/procedures/java_jni/string_operations.py +2 -2
  701. angr/procedures/java_lang/character.py +1 -1
  702. angr/procedures/java_lang/double.py +2 -2
  703. angr/procedures/java_lang/exit.py +1 -1
  704. angr/procedures/java_lang/getsimplename.py +1 -1
  705. angr/procedures/java_lang/integer.py +2 -2
  706. angr/procedures/java_lang/load_library.py +1 -1
  707. angr/procedures/java_lang/math.py +1 -1
  708. angr/procedures/java_lang/string.py +4 -4
  709. angr/procedures/java_lang/stringbuilder.py +2 -2
  710. angr/procedures/java_lang/system.py +1 -1
  711. angr/procedures/java_util/collection.py +2 -2
  712. angr/procedures/java_util/iterator.py +2 -2
  713. angr/procedures/java_util/list.py +3 -3
  714. angr/procedures/java_util/map.py +3 -3
  715. angr/procedures/java_util/random.py +1 -1
  716. angr/procedures/java_util/scanner_nextline.py +3 -3
  717. angr/procedures/libc/fseek.py +1 -1
  718. angr/procedures/libc/memcpy.py +1 -1
  719. angr/procedures/libc/strlen.py +12 -4
  720. angr/procedures/libc/strncmp.py +9 -4
  721. angr/procedures/linux_kernel/iovec.py +3 -3
  722. angr/procedures/linux_kernel/mmap.py +1 -1
  723. angr/procedures/linux_kernel/stat.py +1 -1
  724. angr/procedures/linux_kernel/sysinfo.py +1 -1
  725. angr/procedures/linux_kernel/vsyscall.py +1 -1
  726. angr/procedures/posix/bzero.py +1 -1
  727. angr/procedures/posix/mmap.py +1 -1
  728. angr/procedures/posix/send.py +1 -1
  729. angr/procedures/posix/syslog.py +2 -3
  730. angr/procedures/procedure_dict.py +2 -2
  731. angr/procedures/stubs/Redirect.py +1 -1
  732. angr/procedures/stubs/UserHook.py +1 -1
  733. angr/procedures/stubs/format_parser.py +6 -6
  734. angr/procedures/tracer/random.py +1 -1
  735. angr/procedures/tracer/receive.py +1 -1
  736. angr/procedures/tracer/transmit.py +1 -1
  737. angr/procedures/uclibc/__uClibc_main.py +1 -1
  738. angr/protos/__init__.py +8 -0
  739. angr/sim_options.py +0 -4
  740. angr/sim_procedure.py +5 -5
  741. angr/sim_state.py +21 -34
  742. angr/sim_type.py +51 -18
  743. angr/simos/__init__.py +12 -0
  744. angr/simos/cgc.py +5 -5
  745. angr/simos/javavm.py +18 -23
  746. angr/simos/linux.py +6 -6
  747. angr/simos/simos.py +12 -16
  748. angr/simos/userland.py +3 -3
  749. angr/simos/windows.py +6 -11
  750. angr/state_hierarchy.py +1 -1
  751. angr/state_plugins/__init__.py +84 -28
  752. angr/state_plugins/callstack.py +1 -1
  753. angr/state_plugins/concrete.py +3 -4
  754. angr/state_plugins/filesystem.py +3 -3
  755. angr/state_plugins/gdb.py +1 -1
  756. angr/state_plugins/heap/__init__.py +14 -5
  757. angr/state_plugins/heap/heap_base.py +5 -4
  758. angr/state_plugins/heap/heap_brk.py +1 -1
  759. angr/state_plugins/heap/heap_freelist.py +1 -1
  760. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  761. angr/state_plugins/heap/utils.py +1 -1
  762. angr/state_plugins/history.py +2 -2
  763. angr/state_plugins/javavm_classloader.py +3 -3
  764. angr/state_plugins/jni_references.py +1 -1
  765. angr/state_plugins/light_registers.py +3 -3
  766. angr/state_plugins/log.py +1 -1
  767. angr/state_plugins/plugin.py +3 -2
  768. angr/state_plugins/posix.py +3 -3
  769. angr/state_plugins/preconstrainer.py +6 -6
  770. angr/state_plugins/scratch.py +4 -4
  771. angr/state_plugins/sim_action_object.py +1 -1
  772. angr/state_plugins/solver.py +15 -19
  773. angr/state_plugins/symbolizer.py +2 -3
  774. angr/state_plugins/trace_additions.py +8 -8
  775. angr/state_plugins/uc_manager.py +1 -1
  776. angr/state_plugins/unicorn_engine.py +4 -4
  777. angr/state_plugins/view.py +1 -1
  778. angr/storage/__init__.py +9 -3
  779. angr/storage/file.py +16 -16
  780. angr/storage/memory_mixins/__init__.py +88 -6
  781. angr/storage/memory_mixins/actions_mixin.py +3 -3
  782. angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
  783. angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
  784. angr/storage/memory_mixins/clouseau_mixin.py +1 -1
  785. angr/storage/memory_mixins/convenient_mappings_mixin.py +8 -10
  786. angr/storage/memory_mixins/default_filler_mixin.py +3 -3
  787. angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
  788. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  789. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  790. angr/storage/memory_mixins/multi_value_merger_mixin.py +5 -5
  791. angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
  792. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
  793. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
  794. angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
  795. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  796. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +2 -2
  797. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  798. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  799. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
  800. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
  801. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  802. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  803. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  804. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
  805. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  806. angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
  807. angr/storage/memory_mixins/simplification_mixin.py +1 -1
  808. angr/storage/memory_mixins/size_resolution_mixin.py +2 -2
  809. angr/storage/memory_mixins/slotted_memory.py +1 -1
  810. angr/storage/memory_mixins/smart_find_mixin.py +3 -3
  811. angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
  812. angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
  813. angr/storage/memory_object.py +8 -10
  814. angr/utils/__init__.py +12 -0
  815. angr/utils/enums_conv.py +1 -1
  816. angr/utils/library.py +2 -2
  817. angr/utils/mp.py +1 -1
  818. angr/utils/timing.py +30 -18
  819. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/METADATA +8 -7
  820. angr-9.2.120.dist-info/RECORD +1340 -0
  821. angr/analyses/s_liveness/__init__.py +0 -2
  822. angr/analyses/s_propagator/__init__.py +0 -2
  823. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  824. angr/knowledge_base/__init__.py +0 -2
  825. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  826. angr/knowledge_plugins/sync/__init__.py +0 -2
  827. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  828. angr/misc/range.py +0 -24
  829. angr/misc/weakpatch.py +0 -59
  830. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  831. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  832. angr/storage/pcap.py +0 -65
  833. angr/utils/typing.py +0 -18
  834. angr-9.2.118.dist-info/RECORD +0 -1344
  835. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  836. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
  837. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
  838. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
  839. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
angr/sim_type.py CHANGED
@@ -1,24 +1,21 @@
1
1
  # pylint:disable=abstract-method,line-too-long,missing-class-docstring,wrong-import-position
2
2
  from __future__ import annotations
3
- from __future__ import annotations
4
3
 
5
4
  import contextlib
6
- from collections import OrderedDict, defaultdict, ChainMap
7
5
  import copy
8
6
  import re
9
- from typing import Literal, Optional, Any, Union, TYPE_CHECKING, cast, overload
10
- from collections.abc import Iterable
11
7
  import logging
12
-
13
- try:
14
- import CppHeaderParser
15
- except ImportError:
16
- CppHeaderParser = None
8
+ from collections import OrderedDict, defaultdict, ChainMap
9
+ from collections.abc import Iterable
10
+ from typing import Literal, Any, TYPE_CHECKING, cast, overload
17
11
 
18
12
  from archinfo import Endness, Arch
19
13
  import claripy
14
+ import CppHeaderParser
15
+ import pycparser
20
16
 
21
17
  from angr.errors import AngrMissingTypeError, AngrTypeError
18
+ from angr.sim_state import SimState
22
19
  from .misc.ux import deprecated
23
20
 
24
21
  if TYPE_CHECKING:
@@ -26,12 +23,7 @@ if TYPE_CHECKING:
26
23
  from angr.procedures.definitions import SimTypeCollection
27
24
  from angr.storage.memory_mixins import _Coerce
28
25
 
29
- StoreType = Union[_Coerce, claripy.ast.BV]
30
- else:
31
- try:
32
- import pycparser
33
- except ImportError:
34
- pycparser = None
26
+ StoreType = _Coerce
35
27
 
36
28
 
37
29
  l = logging.getLogger(name=__name__)
@@ -69,7 +61,7 @@ class SimType:
69
61
  return self_type.__eq__(other, avoid=avoid) # pylint:disable=unnecessary-dunder-call
70
62
 
71
63
  def __eq__(self, other, avoid=None):
72
- if type(self) != type(other):
64
+ if type(self) is not type(other):
73
65
  return False
74
66
 
75
67
  for attr in self._fields:
@@ -495,6 +487,48 @@ class SimTypeLongLong(SimTypeInt):
495
487
  _base_name = "long long"
496
488
 
497
489
 
490
+ class SimTypeFixedSizeInt(SimTypeInt):
491
+ """
492
+ The base class for all fixed-size (i.e., the size stays the same on all platforms) integer types. Do not
493
+ instantiate this class directly.
494
+ """
495
+
496
+ _base_name: str = "int"
497
+ _fixed_size: int = 32
498
+
499
+ def c_repr(self, name=None, full=0, memo=None, indent=0):
500
+ out = self._base_name
501
+ if not self.signed:
502
+ out = "u" + out
503
+ if name is None:
504
+ return out
505
+ return f"{out} {name}"
506
+
507
+ def __repr__(self) -> str:
508
+ name = self._base_name
509
+ if not self.signed:
510
+ name = "u" + name
511
+
512
+ try:
513
+ return name + " (%d bits)" % self.size
514
+ except ValueError:
515
+ return name
516
+
517
+ @property
518
+ def size(self) -> int:
519
+ return self._fixed_size
520
+
521
+
522
+ class SimTypeInt128(SimTypeFixedSizeInt):
523
+ _base_name = "int128_t"
524
+ _fixed_size = 128
525
+
526
+
527
+ class SimTypeInt256(SimTypeFixedSizeInt):
528
+ _base_name = "int256_t"
529
+ _fixed_size = 256
530
+
531
+
498
532
  class SimTypeChar(SimTypeReg):
499
533
  """
500
534
  SimTypeChar is a type that specifies a character;
@@ -3457,7 +3491,7 @@ def parse_cpp_file(cpp_decl, with_param_names: bool = False):
3457
3491
  func_decls: dict[str, SimTypeCppFunction] = {}
3458
3492
  for the_func in h.functions:
3459
3493
  # FIXME: We always assume that there is a "this" pointer but it is not the case for static methods.
3460
- proto = cast(Optional[SimTypeCppFunction], _cpp_decl_to_type(the_func, {}, opaque_classes=True))
3494
+ proto = cast(SimTypeCppFunction | None, _cpp_decl_to_type(the_func, {}, opaque_classes=True))
3461
3495
  if proto is not None and the_func["class"]:
3462
3496
  func_name = cast(str, the_func["class"] + "::" + the_func["name"])
3463
3497
  proto.args = (
@@ -3557,4 +3591,3 @@ struct timeval {
3557
3591
  )
3558
3592
 
3559
3593
  from .state_plugins.view import SimMemView
3560
- from .state_plugins import SimState
angr/simos/__init__.py CHANGED
@@ -31,3 +31,15 @@ register_simos("windows", SimWindows)
31
31
  register_simos("cgc", SimCGC)
32
32
  register_simos("javavm", SimJavaVM)
33
33
  register_simos("snimmuc_nxp", SimSnimmucNxp)
34
+
35
+
36
+ __all__ = (
37
+ "SimOS",
38
+ "SimUserland",
39
+ "SimLinux",
40
+ "SimCGC",
41
+ "SimWindows",
42
+ "SimJavaVM",
43
+ "SimSnimmucNxp",
44
+ "os_mapping",
45
+ )
angr/simos/cgc.py CHANGED
@@ -4,9 +4,9 @@ import logging
4
4
  import claripy
5
5
  from cle import BackedCGC
6
6
 
7
- from ..procedures import SIM_LIBRARIES as L
8
- from ..state_plugins import SimActionData
9
- from .. import sim_options as o
7
+ from angr.procedures import SIM_LIBRARIES as L
8
+ from angr.state_plugins import SimActionData
9
+ from angr import sim_options as o
10
10
  from .userland import SimUserland
11
11
 
12
12
  _l = logging.getLogger(name=__name__)
@@ -27,9 +27,9 @@ class SimCGC(SimUserland):
27
27
  :param allocate_stack_page_count: Number of pages to pre-allocate for stack
28
28
  """
29
29
  # default stack as specified in the cgc abi
30
- if kwargs.get("stack_end", None) is None:
30
+ if kwargs.get("stack_end") is None:
31
31
  kwargs["stack_end"] = 0xBAAAB000
32
- if kwargs.get("stack_size", None) is None:
32
+ if kwargs.get("stack_size") is None:
33
33
  kwargs["stack_size"] = 1024 * 1024 * 8
34
34
 
35
35
  s = super().state_blank(**kwargs) # pylint:disable=invalid-name
angr/simos/javavm.py CHANGED
@@ -1,25 +1,27 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
3
4
 
4
- from angr import SIM_PROCEDURES, options
5
5
  from archinfo.arch_soot import ArchSoot, SootAddressDescriptor, SootAddressTerminator, SootArgument, SootNullConstant
6
6
  from claripy import BVS, BVV, StringS, StringV, FSORT_FLOAT, FSORT_DOUBLE, FPV, FPS
7
7
  from claripy.ast.fp import FP, fpToIEEEBV
8
8
  from claripy.ast.bv import BV
9
9
 
10
- from ..calling_conventions import default_cc, SimCCSoot
11
- from ..engines.soot import SootMixin
12
- from ..engines.soot.expressions import SimSootExpr_NewArray # , SimSootExpr_NewMultiArray
13
- from ..engines.soot.values import (
10
+ from angr import SIM_PROCEDURES, options
11
+
12
+ from angr.calling_conventions import default_cc, SimCCSoot
13
+ from angr.engines.soot import SootMixin
14
+ from angr.engines.soot.expressions import SimSootExpr_NewArray
15
+ from angr.engines.soot.values import (
14
16
  SimSootValue_ArrayRef,
15
17
  SimSootValue_StringRef,
16
18
  SimSootValue_ThisRef,
17
19
  SimSootValue_StaticFieldRef,
18
20
  )
19
- from ..errors import AngrSimOSError
20
- from ..procedures.java_jni import jni_functions
21
- from ..sim_state import SimState
22
- from ..sim_type import SimTypeFunction, SimTypeNum
21
+ from angr.errors import AngrSimOSError
22
+ from angr.procedures.java_jni import jni_functions
23
+ from angr.sim_state import SimState
24
+ from angr.sim_type import SimTypeFunction, SimTypeNum
23
25
  from .simos import SimOS
24
26
 
25
27
  l = logging.getLogger("angr.simos.JavaVM")
@@ -100,16 +102,12 @@ class SimJavaVM(SimOS):
100
102
  #
101
103
 
102
104
  def state_blank(self, addr=None, **kwargs): # pylint: disable=arguments-differ
103
- if not kwargs.get("mode", None):
105
+ if not kwargs.get("mode"):
104
106
  kwargs["mode"] = self.project._default_analysis_mode
105
- if not kwargs.get("arch", None):
107
+ if not kwargs.get("arch"):
106
108
  kwargs["arch"] = self.arch
107
- if not kwargs.get("os_name", None):
109
+ if not kwargs.get("os_name"):
108
110
  kwargs["os_name"] = self.name
109
- # enable support for string analysis
110
- add_options = kwargs.get("add_options", set())
111
- add_options.add(options.COMPOSITE_SOLVER)
112
- kwargs["add_options"] = add_options
113
111
 
114
112
  if self.is_javavm_with_jni_support:
115
113
  # If the JNI support is enabled (i.e. JNI libs are loaded), the SimState
@@ -163,7 +161,7 @@ class SimJavaVM(SimOS):
163
161
 
164
162
  # initialize class containing the current method
165
163
  state.javavm_classloader.get_class(
166
- state.addr.method.class_name, init_class=True, step_func=kwargs.get("step_function", None)
164
+ state.addr.method.class_name, init_class=True, step_func=kwargs.get("step_function")
167
165
  )
168
166
 
169
167
  # initialize the Java environment
@@ -194,13 +192,13 @@ class SimJavaVM(SimOS):
194
192
  return state
195
193
 
196
194
  @staticmethod
197
- def generate_symbolic_cmd_line_arg(state, max_length=1000):
195
+ def generate_symbolic_cmd_line_arg(state):
198
196
  """
199
197
  Generates a new symbolic cmd line argument string.
200
198
  :return: The string reference.
201
199
  """
202
200
  str_ref = SimSootValue_StringRef(state.memory.get_new_uuid())
203
- str_sym = StringS("cmd_line_arg", max_length)
201
+ str_sym = StringS("cmd_line_arg")
204
202
  state.solver.add(str_sym != StringV(""))
205
203
  state.memory.store(str_ref, str_sym)
206
204
  return str_ref
@@ -312,7 +310,7 @@ class SimJavaVM(SimOS):
312
310
  if type_ == "double":
313
311
  return FPS(f"default_value_{type_}", FSORT_DOUBLE)
314
312
  if type_ == "java.lang.String":
315
- return SimSootValue_StringRef.new_string(state, StringS(f"default_value_{type_}", 1000))
313
+ return SimSootValue_StringRef.new_string(state, StringS(f"default_value_{type_}"))
316
314
  if type_.endswith("[][]"):
317
315
  raise NotImplementedError
318
316
  if type_.endswith("[]"):
@@ -435,9 +433,6 @@ class SimJavaVM(SimOS):
435
433
  jni_type_size = ArchSoot.sizeof.get(java_type, self.native_simos.arch.bits)
436
434
  return SimTypeNum(size=jni_type_size)
437
435
 
438
- def get_method_native_type(self, method):
439
- return SimTypeFunction
440
-
441
436
  @property
442
437
  def native_arch(self):
443
438
  """
angr/simos/linux.py CHANGED
@@ -11,11 +11,11 @@ from cle.address_translator import AT
11
11
  from cle.backends.elf.relocation.arm64 import R_AARCH64_TLSDESC
12
12
  from archinfo import ArchX86, ArchAMD64, ArchARM, ArchAArch64, ArchMIPS32, ArchMIPS64, ArchPPC32, ArchPPC64
13
13
 
14
- from ..tablespecs import StringTableSpec
15
- from ..procedures import SIM_PROCEDURES as P, SIM_LIBRARIES as L
16
- from ..state_plugins import SimFilesystem, SimHostFilesystem
17
- from ..storage.file import SimFile, SimFileBase
18
- from ..errors import AngrSyscallError
14
+ from angr.tablespecs import StringTableSpec
15
+ from angr.procedures import SIM_PROCEDURES as P, SIM_LIBRARIES as L
16
+ from angr.state_plugins import SimFilesystem, SimHostFilesystem
17
+ from angr.storage.file import SimFile, SimFileBase
18
+ from angr.errors import AngrSyscallError
19
19
  from .userland import SimUserland
20
20
 
21
21
  _l = logging.getLogger(name=__name__)
@@ -238,7 +238,7 @@ class SimLinux(SimUserland):
238
238
  fs[name] = fs[name].encode("utf-8")
239
239
  if type(fs[name]) is bytes:
240
240
  fs[name] = claripy.BVV(fs[name])
241
- if isinstance(fs[name], claripy.Bits):
241
+ if isinstance(fs[name], claripy.ast.Bits):
242
242
  fs[name] = SimFile(name, content=fs[name])
243
243
  if not isinstance(fs[name], SimFileBase):
244
244
  raise TypeError(f"Provided fs initializer with unusable type {type(fs[name])!r}")
angr/simos/simos.py CHANGED
@@ -6,17 +6,13 @@ from archinfo import ArchMIPS32, ArchS390X
6
6
  import claripy
7
7
 
8
8
  import angr
9
- from ..errors import (
10
- AngrCallableError,
11
- AngrCallableMultistateError,
12
- AngrSimOSError,
13
- )
14
- from ..sim_state import SimState
15
- from ..state_plugins import SimSystemPosix
16
- from ..calling_conventions import default_cc
17
- from ..procedures import SIM_PROCEDURES as P
18
- from .. import sim_options as o
19
- from ..storage.file import SimFileStream, SimFileBase
9
+ from angr.errors import AngrCallableError, AngrCallableMultistateError, AngrSimOSError
10
+ from angr.sim_state import SimState
11
+ from angr.state_plugins import SimSystemPosix
12
+ from angr.calling_conventions import default_cc
13
+ from angr.procedures import SIM_PROCEDURES as P
14
+ from angr import sim_options as o
15
+ from angr.storage.file import SimFileStream, SimFileBase
20
16
 
21
17
 
22
18
  _l = logging.getLogger(name=__name__)
@@ -112,20 +108,20 @@ class SimOS:
112
108
  Any additional arguments will be passed to the SimState constructor
113
109
  """
114
110
  # TODO: move ALL of this into the SimState constructor
115
- if kwargs.get("mode", None) is None:
111
+ if kwargs.get("mode") is None:
116
112
  kwargs["mode"] = self.project._default_analysis_mode
117
113
  if permissions_backer is not None:
118
114
  kwargs["permissions_map"] = permissions_backer[1]
119
115
  kwargs["default_permissions"] = 7 if permissions_backer[0] else 3
120
- if kwargs.get("cle_memory_backer", None) is None:
116
+ if kwargs.get("cle_memory_backer") is None:
121
117
  kwargs["cle_memory_backer"] = self.project.loader
122
- if kwargs.get("os_name", None) is None:
118
+ if kwargs.get("os_name") is None:
123
119
  kwargs["os_name"] = self.name
124
120
  actual_stack_end = stack_end
125
121
  if stack_end is None:
126
122
  stack_end = self.arch.initial_sp
127
123
 
128
- if kwargs.get("permissions_map", None) is None:
124
+ if kwargs.get("permissions_map") is None:
129
125
  # just a dict of address ranges to permission bits
130
126
  permission_map = {}
131
127
  for obj in self.project.loader.all_objects:
@@ -149,7 +145,7 @@ class SimOS:
149
145
  if type(stdin) is type:
150
146
  stdin = stdin(name="stdin", has_end=False)
151
147
  else:
152
- if isinstance(stdin, claripy.Bits):
148
+ if isinstance(stdin, claripy.ast.Bits):
153
149
  num_bytes = len(stdin) // self.project.arch.byte_width
154
150
  else:
155
151
  num_bytes = len(stdin)
angr/simos/userland.py CHANGED
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
2
  import logging
3
3
 
4
- from ..calling_conventions import SYSCALL_CC, SimCCSyscall
5
- from ..errors import AngrUnsupportedSyscallError, SimSolverError
6
- from ..procedures import SIM_PROCEDURES as P
4
+ from angr.calling_conventions import SYSCALL_CC, SimCCSyscall
5
+ from angr.errors import AngrUnsupportedSyscallError, SimSolverError
6
+ from angr.procedures import SIM_PROCEDURES as P
7
7
  from .simos import SimOS
8
8
 
9
9
  _l = logging.getLogger(name=__name__)
angr/simos/windows.py CHANGED
@@ -10,16 +10,11 @@ import claripy
10
10
  from archinfo import ArchX86, ArchAMD64
11
11
  import cle.backends
12
12
 
13
- from ..errors import (
14
- AngrSimOSError,
15
- SimSegfaultException,
16
- SimUnsupportedError,
17
- SimZeroDivisionException,
18
- )
19
- from .. import sim_options as o
20
- from ..tablespecs import StringTableSpec
21
- from ..procedures import SIM_LIBRARIES as L
22
- from ..procedures.definitions import load_win32api_definitions
13
+ from angr.errors import AngrSimOSError, SimSegfaultException, SimUnsupportedError, SimZeroDivisionException
14
+ from angr import sim_options as o
15
+ from angr.tablespecs import StringTableSpec
16
+ from angr.procedures import SIM_LIBRARIES as L
17
+ from angr.procedures.definitions import load_win32api_definitions
23
18
  from .simos import SimOS
24
19
 
25
20
  _l = logging.getLogger(name=__name__)
@@ -422,7 +417,7 @@ class SimWindows(SimOS):
422
417
 
423
418
  # let's go let's go!
424
419
  # we want to use a true guard here. if it's not true, then it's already been added in windup.
425
- successors.add_successor(exc_state, self._exception_handler, claripy.true, "Ijk_Exception")
420
+ successors.add_successor(exc_state, self._exception_handler, claripy.true(), "Ijk_Exception")
426
421
  successors.processed = True
427
422
 
428
423
  # these two methods load and store register state from a struct CONTEXT
angr/state_hierarchy.py CHANGED
@@ -213,7 +213,7 @@ class StateHierarchy:
213
213
  n()._satisfiable = False
214
214
  try:
215
215
  if n().state is not None:
216
- n().state.add_constraints(claripy.false)
216
+ n().state.add_constraints(claripy.false())
217
217
  except ReferenceError:
218
218
  pass
219
219
  self._graph.remove_nodes_from(all_children)
@@ -1,30 +1,86 @@
1
- # pylint:disable=wildcard-import
2
1
  from __future__ import annotations
3
- from .plugin import *
4
- from .libc import *
5
- from .inspect import *
6
- from .posix import *
7
- from .solver import *
8
- from .light_registers import *
9
- from .log import *
10
- from .history import *
11
- from .scratch import *
12
- from .cgc import *
13
- from .gdb import *
14
- from .uc_manager import *
2
+
3
+ from .plugin import SimStatePlugin
4
+ from .libc import SimStateLibc
5
+ from .inspect import SimInspector, NO_OVERRIDE, BP_BEFORE, BP_AFTER, BP_BOTH, BP_IPDB, BP_IPYTHON
6
+ from .posix import PosixDevFS, PosixProcFS, SimSystemPosix
7
+ from .solver import SimSolver
8
+ from .light_registers import SimLightRegisters
9
+ from .log import SimStateLog
10
+ from .history import SimStateHistory
11
+ from .scratch import SimStateScratch
12
+ from .cgc import SimStateCGC
13
+ from .gdb import GDB
14
+ from .uc_manager import SimUCManager
15
15
  from .unicorn_engine import Unicorn
16
- from .sim_action import *
17
- from .sim_action_object import *
18
- from .sim_event import *
19
- from .callstack import *
20
- from .globals import *
21
- from .preconstrainer import *
22
- from .loop_data import *
23
- from .view import *
24
- from .filesystem import *
25
- from .heap import *
26
- from .concrete import *
27
- from .jni_references import *
28
- from .javavm_classloader import *
29
- from .symbolizer import *
30
- from .debug_variables import *
16
+ from .sim_action import SimAction, SimActionExit, SimActionConstraint, SimActionOperation, SimActionData
17
+ from .sim_action_object import SimActionObject
18
+ from .sim_event import SimEvent, resource_event
19
+ from .callstack import CallStack
20
+ from .globals import SimStateGlobals
21
+ from .preconstrainer import SimStatePreconstrainer
22
+ from .loop_data import SimStateLoopData
23
+ from .view import SimRegNameView, SimMemView, StructMode
24
+ from .filesystem import Stat, SimFilesystem, SimMount, SimHostFilesystem
25
+ from .heap import SimHeapBase, SimHeapBrk, SimHeapLibc, SimHeapPTMalloc, PTChunk, PTChunkIterator
26
+ from .concrete import Concrete
27
+ from .jni_references import SimStateJNIReferences
28
+ from .javavm_classloader import SimJavaVmClassloader
29
+ from .symbolizer import SimSymbolizer
30
+ from .debug_variables import SimDebugVariable, SimDebugVariablePlugin
31
+
32
+
33
+ __all__ = (
34
+ "SimStatePlugin",
35
+ "SimStateLibc",
36
+ "SimInspector",
37
+ "NO_OVERRIDE",
38
+ "BP_BEFORE",
39
+ "BP_AFTER",
40
+ "BP_BOTH",
41
+ "BP_IPDB",
42
+ "BP_IPYTHON",
43
+ "PosixDevFS",
44
+ "PosixProcFS",
45
+ "SimSystemPosix",
46
+ "SimSolver",
47
+ "SimLightRegisters",
48
+ "SimStateLog",
49
+ "SimStateHistory",
50
+ "SimStateScratch",
51
+ "SimStateCGC",
52
+ "GDB",
53
+ "SimUCManager",
54
+ "Unicorn",
55
+ "SimAction",
56
+ "SimActionExit",
57
+ "SimActionConstraint",
58
+ "SimActionOperation",
59
+ "SimActionData",
60
+ "SimActionObject",
61
+ "SimEvent",
62
+ "resource_event",
63
+ "CallStack",
64
+ "SimStateGlobals",
65
+ "SimStatePreconstrainer",
66
+ "SimStateLoopData",
67
+ "SimRegNameView",
68
+ "SimMemView",
69
+ "StructMode",
70
+ "Stat",
71
+ "SimFilesystem",
72
+ "SimMount",
73
+ "SimHostFilesystem",
74
+ "SimHeapBase",
75
+ "SimHeapBrk",
76
+ "SimHeapLibc",
77
+ "SimHeapPTMalloc",
78
+ "PTChunk",
79
+ "PTChunkIterator",
80
+ "Concrete",
81
+ "SimStateJNIReferences",
82
+ "SimJavaVmClassloader",
83
+ "SimSymbolizer",
84
+ "SimDebugVariable",
85
+ "SimDebugVariablePlugin",
86
+ )
@@ -5,7 +5,7 @@ import logging
5
5
  from collections.abc import Iterator
6
6
 
7
7
  from .plugin import SimStatePlugin
8
- from ..errors import AngrError, SimEmptyCallStackError
8
+ from angr.errors import AngrError, SimEmptyCallStackError
9
9
 
10
10
  l = logging.getLogger(name=__name__)
11
11
 
@@ -7,11 +7,10 @@ import re
7
7
  import struct
8
8
 
9
9
  from .plugin import SimStatePlugin
10
- from ..errors import SimConcreteRegisterError
10
+ from angr.errors import SimConcreteRegisterError
11
11
  from archinfo import ArchX86, ArchAMD64
12
12
 
13
13
  l = logging.getLogger("state_plugin.concrete")
14
- # l.setLevel(logging.DEBUG)
15
14
 
16
15
 
17
16
  class Concrete(SimStatePlugin):
@@ -290,7 +289,7 @@ class Concrete(SimStatePlugin):
290
289
  new_reloc.relocate([])
291
290
 
292
291
 
293
- from ..sim_state import SimState
294
- from .. import sim_options as options
292
+ from angr.sim_state import SimState
293
+ from angr import sim_options as options
295
294
 
296
295
  SimState.register_default("concrete", Concrete)
@@ -4,9 +4,9 @@ import logging
4
4
  from collections import namedtuple
5
5
 
6
6
  from .plugin import SimStatePlugin
7
- from ..storage.file import SimFile
8
- from ..errors import SimMergeError
9
- from ..misc.ux import once
7
+ from angr.storage.file import SimFile
8
+ from angr.errors import SimMergeError
9
+ from angr.misc.ux import once
10
10
 
11
11
  l = logging.getLogger(name=__name__)
12
12
 
angr/state_plugins/gdb.py CHANGED
@@ -6,7 +6,7 @@ import claripy
6
6
  import binascii
7
7
 
8
8
  from .plugin import SimStatePlugin
9
- from ..errors import SimStateError
9
+ from angr.errors import SimStateError
10
10
 
11
11
  l = logging.getLogger(name=__name__)
12
12
 
@@ -1,6 +1,15 @@
1
- # pylint:disable=wildcard-import
2
1
  from __future__ import annotations
3
- from .heap_base import *
4
- from .heap_brk import *
5
- from .heap_libc import *
6
- from .heap_ptmalloc import *
2
+
3
+ from .heap_base import SimHeapBase
4
+ from .heap_brk import SimHeapBrk
5
+ from .heap_libc import SimHeapLibc
6
+ from .heap_ptmalloc import SimHeapPTMalloc, PTChunk, PTChunkIterator
7
+
8
+ __all__ = (
9
+ "SimHeapBase",
10
+ "SimHeapBrk",
11
+ "SimHeapLibc",
12
+ "SimHeapPTMalloc",
13
+ "PTChunk",
14
+ "PTChunkIterator",
15
+ )
@@ -1,11 +1,12 @@
1
1
  from __future__ import annotations
2
- from ..plugin import SimStatePlugin
3
-
4
- from ...errors import SimMemoryError
5
- from .. import sim_options as opts
6
2
 
7
3
  import logging
8
4
 
5
+ import angr.sim_options as opts
6
+ from angr.state_plugins.plugin import SimStatePlugin
7
+ from angr.errors import SimMemoryError
8
+
9
+
9
10
  l = logging.getLogger("angr.state_plugins.heap.heap_base")
10
11
 
11
12
  # TODO: derive heap location from SimOS and binary info for something more realistic (and safe?)
@@ -4,7 +4,7 @@ import logging
4
4
  import claripy
5
5
 
6
6
  from angr.errors import SimSolverError
7
- from ..plugin import SimStatePlugin
7
+ from angr.state_plugins.plugin import SimStatePlugin
8
8
  from . import SimHeapBase
9
9
 
10
10
  l = logging.getLogger(__name__)
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import logging
3
3
  from . import SimHeapLibc
4
4
  from .utils import concretize
5
- from ...errors import SimHeapError
5
+ from angr.errors import SimHeapError
6
6
 
7
7
 
8
8
  l = logging.getLogger("angr.state_plugins.heap.heap_freelist")