angr 9.2.119__py3-none-manylinux2014_x86_64.whl → 9.2.120__py3-none-manylinux2014_x86_64.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 (817) 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 +8 -8
  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 +1 -1
  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 +8 -8
  37. angr/analyses/decompiler/block_simplifier.py +3 -3
  38. angr/analyses/decompiler/callsite_maker.py +5 -3
  39. angr/analyses/decompiler/clinic.py +25 -26
  40. angr/analyses/decompiler/condition_processor.py +7 -5
  41. angr/analyses/decompiler/counters/__init__.py +11 -0
  42. angr/analyses/decompiler/decompiler.py +24 -10
  43. angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
  44. angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
  45. angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
  46. angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
  47. angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
  48. angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
  49. angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +7 -7
  50. angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
  51. angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
  52. angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
  53. angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
  54. angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
  55. angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +6 -6
  56. angr/analyses/decompiler/optimization_passes/ite_region_converter.py +2 -2
  57. angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +7 -3
  58. angr/analyses/decompiler/optimization_passes/optimization_pass.py +34 -28
  59. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +2 -2
  60. angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +1 -1
  61. angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +3 -3
  62. angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +5 -5
  63. angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +1 -1
  64. angr/analyses/decompiler/peephole_optimizations/__init__.py +61 -19
  65. angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +1 -1
  66. angr/analyses/decompiler/presets/__init__.py +20 -0
  67. angr/analyses/decompiler/presets/basic.py +30 -0
  68. angr/analyses/decompiler/presets/fast.py +54 -0
  69. angr/analyses/decompiler/presets/full.py +64 -0
  70. angr/analyses/decompiler/presets/preset.py +37 -0
  71. angr/analyses/decompiler/region_identifier.py +21 -7
  72. angr/analyses/decompiler/region_simplifiers/__init__.py +3 -0
  73. angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +3 -3
  74. angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +3 -3
  75. angr/analyses/decompiler/region_simplifiers/expr_folding.py +2 -2
  76. angr/analyses/decompiler/region_simplifiers/goto.py +3 -3
  77. angr/analyses/decompiler/region_simplifiers/if_.py +2 -2
  78. angr/analyses/decompiler/region_simplifiers/ifelse.py +4 -4
  79. angr/analyses/decompiler/region_simplifiers/loop.py +4 -4
  80. angr/analyses/decompiler/region_simplifiers/node_address_finder.py +1 -1
  81. angr/analyses/decompiler/region_simplifiers/region_simplifier.py +6 -6
  82. angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +12 -5
  83. angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +3 -3
  84. angr/analyses/decompiler/sequence_walker.py +11 -12
  85. angr/analyses/decompiler/structured_codegen/__init__.py +14 -0
  86. angr/analyses/decompiler/structured_codegen/base.py +1 -1
  87. angr/analyses/decompiler/structured_codegen/c.py +13 -13
  88. angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
  89. angr/analyses/decompiler/structuring/__init__.py +11 -1
  90. angr/analyses/decompiler/structuring/dream.py +8 -8
  91. angr/analyses/decompiler/structuring/phoenix.py +6 -6
  92. angr/analyses/decompiler/structuring/recursive_structurer.py +7 -7
  93. angr/analyses/decompiler/structuring/sailr.py +2 -2
  94. angr/analyses/decompiler/structuring/structurer_base.py +9 -4
  95. angr/analyses/decompiler/structuring/structurer_nodes.py +18 -9
  96. angr/analyses/decompiler/utils.py +4 -2
  97. angr/analyses/disassembly.py +6 -6
  98. angr/analyses/disassembly_utils.py +1 -1
  99. angr/analyses/dominance_frontier.py +1 -1
  100. angr/analyses/find_objects_static.py +5 -5
  101. angr/analyses/flirt.py +3 -3
  102. angr/analyses/forward_analysis/__init__.py +9 -0
  103. angr/analyses/forward_analysis/forward_analysis.py +4 -4
  104. angr/analyses/forward_analysis/job_info.py +1 -1
  105. angr/analyses/forward_analysis/visitors/__init__.py +9 -0
  106. angr/analyses/forward_analysis/visitors/graph.py +2 -2
  107. angr/analyses/identifier/__init__.py +3 -0
  108. angr/analyses/identifier/custom_callable.py +2 -3
  109. angr/analyses/identifier/errors.py +1 -1
  110. angr/analyses/identifier/functions/__init__.py +4 -4
  111. angr/analyses/identifier/functions/atoi.py +1 -1
  112. angr/analyses/identifier/functions/based_atoi.py +1 -1
  113. angr/analyses/identifier/functions/fdprintf.py +1 -1
  114. angr/analyses/identifier/functions/free.py +2 -2
  115. angr/analyses/identifier/functions/int2str.py +1 -1
  116. angr/analyses/identifier/functions/malloc.py +2 -2
  117. angr/analyses/identifier/functions/memcmp.py +1 -1
  118. angr/analyses/identifier/functions/memcpy.py +3 -3
  119. angr/analyses/identifier/functions/memset.py +1 -1
  120. angr/analyses/identifier/functions/printf.py +1 -1
  121. angr/analyses/identifier/functions/recv_until.py +2 -2
  122. angr/analyses/identifier/functions/skip_calloc.py +2 -2
  123. angr/analyses/identifier/functions/skip_realloc.py +2 -2
  124. angr/analyses/identifier/functions/skip_recv_n.py +1 -1
  125. angr/analyses/identifier/functions/snprintf.py +1 -1
  126. angr/analyses/identifier/functions/sprintf.py +1 -1
  127. angr/analyses/identifier/functions/strcmp.py +1 -1
  128. angr/analyses/identifier/functions/strcpy.py +1 -1
  129. angr/analyses/identifier/functions/strlen.py +1 -1
  130. angr/analyses/identifier/functions/strncmp.py +1 -1
  131. angr/analyses/identifier/functions/strncpy.py +1 -1
  132. angr/analyses/identifier/functions/strtol.py +1 -1
  133. angr/analyses/identifier/identify.py +3 -3
  134. angr/analyses/identifier/runner.py +6 -6
  135. angr/analyses/init_finder.py +1 -1
  136. angr/analyses/loop_analysis.py +2 -2
  137. angr/analyses/propagator/__init__.py +3 -0
  138. angr/analyses/propagator/engine_ail.py +4 -4
  139. angr/analyses/propagator/engine_base.py +2 -2
  140. angr/analyses/propagator/engine_vex.py +2 -2
  141. angr/analyses/propagator/outdated_definition_walker.py +3 -3
  142. angr/analyses/propagator/propagator.py +3 -3
  143. angr/analyses/propagator/top_checker_mixin.py +1 -1
  144. angr/analyses/proximity_graph.py +3 -3
  145. angr/analyses/reaching_definitions/__init__.py +6 -6
  146. angr/analyses/reaching_definitions/dep_graph.py +5 -5
  147. angr/analyses/reaching_definitions/engine_ail.py +8 -8
  148. angr/analyses/reaching_definitions/engine_vex.py +18 -13
  149. angr/analyses/reaching_definitions/heap_allocator.py +3 -3
  150. angr/analyses/reaching_definitions/rd_state.py +4 -10
  151. angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
  152. angr/analyses/reaching_definitions/subject.py +3 -3
  153. angr/analyses/reassembler.py +5 -5
  154. angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
  155. angr/analyses/s_reaching_definitions/__init__.py +11 -1
  156. angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
  157. angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
  158. angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
  159. angr/analyses/stack_pointer_tracker.py +5 -5
  160. angr/analyses/static_hooker.py +2 -2
  161. angr/analyses/typehoon/__init__.py +3 -0
  162. angr/analyses/typehoon/lifter.py +1 -1
  163. angr/analyses/typehoon/translator.py +2 -2
  164. angr/analyses/typehoon/typehoon.py +3 -3
  165. angr/analyses/variable_recovery/__init__.py +6 -0
  166. angr/analyses/variable_recovery/engine_ail.py +5 -5
  167. angr/analyses/variable_recovery/engine_base.py +7 -7
  168. angr/analyses/variable_recovery/engine_vex.py +7 -7
  169. angr/analyses/variable_recovery/variable_recovery.py +5 -5
  170. angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
  171. angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
  172. angr/analyses/veritesting.py +8 -8
  173. angr/analyses/vfg.py +13 -13
  174. angr/analyses/vsa_ddg.py +3 -3
  175. angr/analyses/vtable.py +1 -1
  176. angr/analyses/xrefs.py +3 -3
  177. angr/angrdb/__init__.py +3 -0
  178. angr/angrdb/db.py +2 -2
  179. angr/angrdb/serializers/__init__.py +7 -0
  180. angr/angrdb/serializers/cfg_model.py +2 -2
  181. angr/angrdb/serializers/comments.py +2 -2
  182. angr/angrdb/serializers/funcs.py +2 -2
  183. angr/angrdb/serializers/kb.py +2 -2
  184. angr/angrdb/serializers/labels.py +2 -2
  185. angr/angrdb/serializers/loader.py +2 -2
  186. angr/angrdb/serializers/structured_code.py +4 -4
  187. angr/angrdb/serializers/variables.py +3 -3
  188. angr/angrdb/serializers/xrefs.py +2 -2
  189. angr/concretization_strategies/__init__.py +17 -0
  190. angr/concretization_strategies/max.py +1 -1
  191. angr/concretization_strategies/norepeats_range.py +1 -1
  192. angr/distributed/__init__.py +6 -1
  193. angr/distributed/server.py +0 -1
  194. angr/distributed/worker.py +6 -4
  195. angr/engines/__init__.py +25 -0
  196. angr/engines/concrete.py +1 -2
  197. angr/engines/engine.py +3 -3
  198. angr/engines/failure.py +2 -2
  199. angr/engines/light/__init__.py +12 -0
  200. angr/engines/light/data.py +1 -1
  201. angr/engines/light/engine.py +6 -6
  202. angr/engines/pcode/__init__.py +7 -1
  203. angr/engines/pcode/behavior.py +1 -1
  204. angr/engines/pcode/cc.py +1 -1
  205. angr/engines/pcode/emulate.py +4 -4
  206. angr/engines/pcode/engine.py +3 -3
  207. angr/engines/pcode/lifter.py +7 -7
  208. angr/engines/procedure.py +3 -3
  209. angr/engines/soot/__init__.py +3 -0
  210. angr/engines/soot/engine.py +8 -8
  211. angr/engines/soot/expressions/__init__.py +33 -0
  212. angr/engines/soot/expressions/arrayref.py +1 -1
  213. angr/engines/soot/expressions/base.py +1 -1
  214. angr/engines/soot/expressions/cast.py +1 -1
  215. angr/engines/soot/expressions/condition.py +1 -1
  216. angr/engines/soot/expressions/constants.py +1 -1
  217. angr/engines/soot/expressions/invoke.py +2 -2
  218. angr/engines/soot/expressions/new.py +1 -1
  219. angr/engines/soot/expressions/newArray.py +1 -1
  220. angr/engines/soot/expressions/newMultiArray.py +1 -1
  221. angr/engines/soot/statements/__init__.py +16 -0
  222. angr/engines/soot/statements/assign.py +1 -1
  223. angr/engines/soot/statements/base.py +3 -3
  224. angr/engines/soot/values/__init__.py +14 -0
  225. angr/engines/soot/values/arrayref.py +1 -1
  226. angr/engines/soot/values/instancefieldref.py +1 -1
  227. angr/engines/soot/values/staticfieldref.py +1 -1
  228. angr/engines/soot/values/thisref.py +2 -2
  229. angr/engines/successors.py +7 -7
  230. angr/engines/syscall.py +1 -1
  231. angr/engines/unicorn.py +11 -11
  232. angr/engines/vex/__init__.py +18 -3
  233. angr/engines/vex/claripy/__init__.py +3 -0
  234. angr/engines/vex/claripy/ccall.py +1 -2
  235. angr/engines/vex/claripy/datalayer.py +3 -3
  236. angr/engines/vex/heavy/__init__.py +11 -1
  237. angr/engines/vex/heavy/heavy.py +6 -6
  238. angr/engines/vex/heavy/inspect.py +2 -2
  239. angr/engines/vex/heavy/resilience.py +2 -2
  240. angr/engines/vex/heavy/super_fastpath.py +3 -3
  241. angr/engines/vex/lifter.py +5 -5
  242. angr/engines/vex/light/__init__.py +7 -0
  243. angr/engines/vex/light/light.py +2 -2
  244. angr/engines/vex/light/slicing.py +1 -1
  245. angr/errors.py +0 -4
  246. angr/exploration_techniques/__init__.py +0 -1
  247. angr/exploration_techniques/bucketizer.py +9 -10
  248. angr/exploration_techniques/common.py +2 -2
  249. angr/exploration_techniques/director.py +4 -4
  250. angr/exploration_techniques/explorer.py +3 -3
  251. angr/exploration_techniques/loop_seer.py +3 -3
  252. angr/exploration_techniques/oppologist.py +3 -3
  253. angr/exploration_techniques/slicecutor.py +1 -1
  254. angr/exploration_techniques/spiller.py +1 -1
  255. angr/exploration_techniques/suggestions.py +4 -4
  256. angr/exploration_techniques/symbion.py +0 -1
  257. angr/exploration_techniques/threading.py +2 -2
  258. angr/exploration_techniques/tracer.py +3 -3
  259. angr/exploration_techniques/veritesting.py +1 -1
  260. angr/flirt/__init__.py +0 -1
  261. angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
  262. angr/knowledge_plugins/__init__.py +23 -1
  263. angr/knowledge_plugins/callsite_prototypes.py +2 -2
  264. angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
  265. angr/knowledge_plugins/cfg/cfg_model.py +6 -6
  266. angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
  267. angr/knowledge_plugins/cfg/memory_data.py +2 -2
  268. angr/knowledge_plugins/debug_variables.py +2 -2
  269. angr/knowledge_plugins/functions/__init__.py +6 -0
  270. angr/knowledge_plugins/functions/function.py +21 -16
  271. angr/knowledge_plugins/functions/function_manager.py +2 -2
  272. angr/knowledge_plugins/functions/function_parser.py +3 -3
  273. angr/knowledge_plugins/functions/soot_function.py +2 -2
  274. angr/knowledge_plugins/key_definitions/atoms.py +2 -2
  275. angr/knowledge_plugins/key_definitions/definition.py +3 -3
  276. angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
  277. angr/knowledge_plugins/key_definitions/uses.py +2 -2
  278. angr/knowledge_plugins/propagations/__init__.py +7 -0
  279. angr/knowledge_plugins/propagations/prop_value.py +1 -1
  280. angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
  281. angr/knowledge_plugins/types.py +1 -1
  282. angr/knowledge_plugins/variables/__init__.py +6 -0
  283. angr/knowledge_plugins/variables/variable_access.py +3 -3
  284. angr/knowledge_plugins/variables/variable_manager.py +7 -7
  285. angr/knowledge_plugins/xrefs/__init__.py +9 -1
  286. angr/knowledge_plugins/xrefs/xref.py +5 -5
  287. angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
  288. angr/misc/__init__.py +12 -2
  289. angr/misc/loggers.py +2 -2
  290. angr/procedures/__init__.py +9 -0
  291. angr/procedures/cgc/receive.py +2 -2
  292. angr/procedures/cgc/transmit.py +1 -1
  293. angr/procedures/definitions/__init__.py +8 -8
  294. angr/procedures/definitions/cgc.py +1 -1
  295. angr/procedures/definitions/glibc.py +2 -15
  296. angr/procedures/definitions/gnulib.py +2 -6
  297. angr/procedures/definitions/libstdcpp.py +2 -2
  298. angr/procedures/definitions/linux_kernel.py +2 -3
  299. angr/procedures/definitions/linux_loader.py +1 -1
  300. angr/procedures/definitions/msvcr.py +2 -2
  301. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  302. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  303. angr/procedures/definitions/wdk_clfs.py +3 -18
  304. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  305. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  306. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  307. angr/procedures/definitions/wdk_gdi32.py +3 -18
  308. angr/procedures/definitions/wdk_hal.py +3 -18
  309. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  310. angr/procedures/definitions/wdk_ndis.py +3 -18
  311. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  312. angr/procedures/definitions/wdk_offreg.py +3 -18
  313. angr/procedures/definitions/wdk_pshed.py +3 -18
  314. angr/procedures/definitions/wdk_secur32.py +3 -18
  315. angr/procedures/definitions/wdk_vhfum.py +3 -18
  316. angr/procedures/definitions/win32_aclui.py +3 -18
  317. angr/procedures/definitions/win32_activeds.py +3 -18
  318. angr/procedures/definitions/win32_advapi32.py +3 -18
  319. angr/procedures/definitions/win32_advpack.py +3 -18
  320. angr/procedures/definitions/win32_amsi.py +3 -18
  321. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  322. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  323. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  324. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  325. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  326. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  327. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  328. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  329. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  330. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  331. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  332. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  333. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  356. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  357. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  358. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  359. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  360. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  361. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  362. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  363. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  364. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  365. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  366. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  367. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  368. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  369. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  370. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  371. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  372. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  373. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  374. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  375. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  376. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  386. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  387. angr/procedures/definitions/win32_apphelp.py +3 -18
  388. angr/procedures/definitions/win32_authz.py +3 -18
  389. angr/procedures/definitions/win32_avicap32.py +3 -18
  390. angr/procedures/definitions/win32_avifil32.py +3 -18
  391. angr/procedures/definitions/win32_avrt.py +3 -18
  392. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  393. angr/procedures/definitions/win32_bcrypt.py +3 -18
  394. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  395. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  396. angr/procedures/definitions/win32_bthprops.py +3 -3
  397. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  398. angr/procedures/definitions/win32_cabinet.py +3 -18
  399. angr/procedures/definitions/win32_certadm.py +3 -18
  400. angr/procedures/definitions/win32_certpoleng.py +3 -18
  401. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  402. angr/procedures/definitions/win32_chakra.py +3 -18
  403. angr/procedures/definitions/win32_cldapi.py +3 -18
  404. angr/procedures/definitions/win32_clfsw32.py +3 -18
  405. angr/procedures/definitions/win32_clusapi.py +3 -18
  406. angr/procedures/definitions/win32_comctl32.py +3 -18
  407. angr/procedures/definitions/win32_comdlg32.py +3 -18
  408. angr/procedures/definitions/win32_compstui.py +3 -18
  409. angr/procedures/definitions/win32_computecore.py +3 -18
  410. angr/procedures/definitions/win32_computenetwork.py +3 -18
  411. angr/procedures/definitions/win32_computestorage.py +3 -18
  412. angr/procedures/definitions/win32_comsvcs.py +3 -18
  413. angr/procedures/definitions/win32_coremessaging.py +3 -3
  414. angr/procedures/definitions/win32_credui.py +3 -18
  415. angr/procedures/definitions/win32_crypt32.py +3 -18
  416. angr/procedures/definitions/win32_cryptnet.py +3 -18
  417. angr/procedures/definitions/win32_cryptui.py +3 -18
  418. angr/procedures/definitions/win32_cryptxml.py +3 -18
  419. angr/procedures/definitions/win32_cscapi.py +3 -18
  420. angr/procedures/definitions/win32_d2d1.py +3 -18
  421. angr/procedures/definitions/win32_d3d10.py +3 -18
  422. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  423. angr/procedures/definitions/win32_d3d11.py +3 -18
  424. angr/procedures/definitions/win32_d3d12.py +3 -18
  425. angr/procedures/definitions/win32_d3d9.py +3 -18
  426. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  427. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  428. angr/procedures/definitions/win32_davclnt.py +3 -18
  429. angr/procedures/definitions/win32_dbgeng.py +3 -18
  430. angr/procedures/definitions/win32_dbghelp.py +3 -18
  431. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  432. angr/procedures/definitions/win32_dciman32.py +3 -18
  433. angr/procedures/definitions/win32_dcomp.py +3 -18
  434. angr/procedures/definitions/win32_ddraw.py +3 -18
  435. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  436. angr/procedures/definitions/win32_dflayout.py +3 -18
  437. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  438. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  439. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  440. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  441. angr/procedures/definitions/win32_dinput8.py +3 -18
  442. angr/procedures/definitions/win32_directml.py +3 -18
  443. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  444. angr/procedures/definitions/win32_dnsapi.py +3 -18
  445. angr/procedures/definitions/win32_drt.py +3 -18
  446. angr/procedures/definitions/win32_drtprov.py +3 -18
  447. angr/procedures/definitions/win32_drttransport.py +3 -18
  448. angr/procedures/definitions/win32_dsound.py +3 -18
  449. angr/procedures/definitions/win32_dsparse.py +3 -18
  450. angr/procedures/definitions/win32_dsprop.py +3 -18
  451. angr/procedures/definitions/win32_dssec.py +3 -18
  452. angr/procedures/definitions/win32_dsuiext.py +3 -18
  453. angr/procedures/definitions/win32_dwmapi.py +3 -18
  454. angr/procedures/definitions/win32_dwrite.py +3 -18
  455. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  456. angr/procedures/definitions/win32_dxcore.py +3 -18
  457. angr/procedures/definitions/win32_dxgi.py +3 -18
  458. angr/procedures/definitions/win32_dxva2.py +3 -18
  459. angr/procedures/definitions/win32_eappcfg.py +3 -18
  460. angr/procedures/definitions/win32_eappprxy.py +3 -18
  461. angr/procedures/definitions/win32_efswrt.py +3 -18
  462. angr/procedures/definitions/win32_elscore.py +3 -18
  463. angr/procedures/definitions/win32_esent.py +3 -18
  464. angr/procedures/definitions/win32_evr.py +3 -18
  465. angr/procedures/definitions/win32_faultrep.py +3 -18
  466. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  467. angr/procedures/definitions/win32_firewallapi.py +3 -18
  468. angr/procedures/definitions/win32_fltlib.py +3 -18
  469. angr/procedures/definitions/win32_fontsub.py +3 -18
  470. angr/procedures/definitions/win32_forceinline.py +3 -18
  471. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  472. angr/procedures/definitions/win32_fxsutility.py +3 -18
  473. angr/procedures/definitions/win32_gdi32.py +3 -18
  474. angr/procedures/definitions/win32_gdiplus.py +3 -18
  475. angr/procedures/definitions/win32_glu32.py +3 -18
  476. angr/procedures/definitions/win32_gpedit.py +3 -18
  477. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  478. angr/procedures/definitions/win32_hid.py +3 -18
  479. angr/procedures/definitions/win32_hlink.py +3 -18
  480. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  481. angr/procedures/definitions/win32_httpapi.py +3 -18
  482. angr/procedures/definitions/win32_icm32.py +3 -18
  483. angr/procedures/definitions/win32_icmui.py +3 -18
  484. angr/procedures/definitions/win32_icu.py +3 -18
  485. angr/procedures/definitions/win32_ieframe.py +3 -18
  486. angr/procedures/definitions/win32_imagehlp.py +3 -18
  487. angr/procedures/definitions/win32_imgutil.py +3 -18
  488. angr/procedures/definitions/win32_imm32.py +3 -18
  489. angr/procedures/definitions/win32_infocardapi.py +3 -18
  490. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  491. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  492. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  493. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  494. angr/procedures/definitions/win32_kernel32.py +3 -18
  495. angr/procedures/definitions/win32_kernelbase.py +3 -18
  496. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  497. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  498. angr/procedures/definitions/win32_ksuser.py +3 -18
  499. angr/procedures/definitions/win32_ktmw32.py +3 -18
  500. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  501. angr/procedures/definitions/win32_loadperf.py +3 -18
  502. angr/procedures/definitions/win32_magnification.py +3 -18
  503. angr/procedures/definitions/win32_mapi32.py +3 -18
  504. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  505. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  506. angr/procedures/definitions/win32_mf.py +3 -18
  507. angr/procedures/definitions/win32_mfcore.py +3 -18
  508. angr/procedures/definitions/win32_mfplat.py +3 -18
  509. angr/procedures/definitions/win32_mfplay.py +3 -18
  510. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  511. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  512. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  513. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  514. angr/procedures/definitions/win32_mi.py +3 -18
  515. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  516. angr/procedures/definitions/win32_mpr.py +3 -18
  517. angr/procedures/definitions/win32_mprapi.py +3 -18
  518. angr/procedures/definitions/win32_mqrt.py +3 -18
  519. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  520. angr/procedures/definitions/win32_msacm32.py +3 -18
  521. angr/procedures/definitions/win32_msajapi.py +3 -18
  522. angr/procedures/definitions/win32_mscms.py +3 -18
  523. angr/procedures/definitions/win32_mscoree.py +3 -18
  524. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  525. angr/procedures/definitions/win32_msdelta.py +3 -18
  526. angr/procedures/definitions/win32_msdmo.py +3 -18
  527. angr/procedures/definitions/win32_msdrm.py +3 -18
  528. angr/procedures/definitions/win32_msi.py +3 -18
  529. angr/procedures/definitions/win32_msimg32.py +3 -18
  530. angr/procedures/definitions/win32_mspatcha.py +3 -18
  531. angr/procedures/definitions/win32_mspatchc.py +3 -18
  532. angr/procedures/definitions/win32_msports.py +3 -18
  533. angr/procedures/definitions/win32_msrating.py +3 -18
  534. angr/procedures/definitions/win32_mssign32.py +3 -18
  535. angr/procedures/definitions/win32_mstask.py +3 -18
  536. angr/procedures/definitions/win32_msvfw32.py +3 -18
  537. angr/procedures/definitions/win32_mswsock.py +3 -18
  538. angr/procedures/definitions/win32_mtxdm.py +3 -18
  539. angr/procedures/definitions/win32_ncrypt.py +3 -18
  540. angr/procedures/definitions/win32_ndfapi.py +3 -18
  541. angr/procedures/definitions/win32_netapi32.py +3 -18
  542. angr/procedures/definitions/win32_netsh.py +3 -18
  543. angr/procedures/definitions/win32_netshell.py +3 -18
  544. angr/procedures/definitions/win32_newdev.py +3 -18
  545. angr/procedures/definitions/win32_ninput.py +3 -18
  546. angr/procedures/definitions/win32_normaliz.py +3 -18
  547. angr/procedures/definitions/win32_ntdll.py +3 -18
  548. angr/procedures/definitions/win32_ntdllk.py +3 -18
  549. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  550. angr/procedures/definitions/win32_ntlanman.py +3 -18
  551. angr/procedures/definitions/win32_odbc32.py +3 -18
  552. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  553. angr/procedures/definitions/win32_ole32.py +3 -18
  554. angr/procedures/definitions/win32_oleacc.py +3 -18
  555. angr/procedures/definitions/win32_oleaut32.py +3 -18
  556. angr/procedures/definitions/win32_oledlg.py +3 -18
  557. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  558. angr/procedures/definitions/win32_opengl32.py +3 -18
  559. angr/procedures/definitions/win32_opmxbox.py +3 -18
  560. angr/procedures/definitions/win32_p2p.py +3 -18
  561. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  562. angr/procedures/definitions/win32_pdh.py +3 -18
  563. angr/procedures/definitions/win32_peerdist.py +3 -18
  564. angr/procedures/definitions/win32_powrprof.py +3 -18
  565. angr/procedures/definitions/win32_prntvpt.py +3 -18
  566. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  567. angr/procedures/definitions/win32_propsys.py +3 -18
  568. angr/procedures/definitions/win32_psapi.py +3 -18
  569. angr/procedures/definitions/win32_quartz.py +3 -18
  570. angr/procedures/definitions/win32_query.py +3 -18
  571. angr/procedures/definitions/win32_qwave.py +3 -18
  572. angr/procedures/definitions/win32_rasapi32.py +3 -18
  573. angr/procedures/definitions/win32_rasdlg.py +3 -18
  574. angr/procedures/definitions/win32_resutils.py +3 -18
  575. angr/procedures/definitions/win32_rometadata.py +3 -3
  576. angr/procedures/definitions/win32_rpcns4.py +3 -18
  577. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  578. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  579. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  580. angr/procedures/definitions/win32_rtm.py +3 -18
  581. angr/procedures/definitions/win32_rtutils.py +3 -18
  582. angr/procedures/definitions/win32_rtworkq.py +3 -18
  583. angr/procedures/definitions/win32_sas.py +3 -18
  584. angr/procedures/definitions/win32_scarddlg.py +3 -18
  585. angr/procedures/definitions/win32_schannel.py +3 -18
  586. angr/procedures/definitions/win32_sechost.py +3 -18
  587. angr/procedures/definitions/win32_secur32.py +3 -18
  588. angr/procedures/definitions/win32_sensapi.py +3 -18
  589. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  590. angr/procedures/definitions/win32_setupapi.py +3 -18
  591. angr/procedures/definitions/win32_sfc.py +3 -18
  592. angr/procedures/definitions/win32_shdocvw.py +3 -18
  593. angr/procedures/definitions/win32_shell32.py +3 -18
  594. angr/procedures/definitions/win32_shlwapi.py +3 -18
  595. angr/procedures/definitions/win32_slc.py +3 -18
  596. angr/procedures/definitions/win32_slcext.py +3 -18
  597. angr/procedures/definitions/win32_slwga.py +3 -18
  598. angr/procedures/definitions/win32_snmpapi.py +3 -18
  599. angr/procedures/definitions/win32_spoolss.py +3 -18
  600. angr/procedures/definitions/win32_srclient.py +3 -18
  601. angr/procedures/definitions/win32_srpapi.py +3 -18
  602. angr/procedures/definitions/win32_sspicli.py +3 -18
  603. angr/procedures/definitions/win32_sti.py +3 -18
  604. angr/procedures/definitions/win32_t2embed.py +3 -18
  605. angr/procedures/definitions/win32_tapi32.py +3 -18
  606. angr/procedures/definitions/win32_tbs.py +3 -18
  607. angr/procedures/definitions/win32_tdh.py +3 -18
  608. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  609. angr/procedures/definitions/win32_traffic.py +3 -18
  610. angr/procedures/definitions/win32_txfw32.py +3 -18
  611. angr/procedures/definitions/win32_ualapi.py +3 -18
  612. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  613. angr/procedures/definitions/win32_urlmon.py +3 -18
  614. angr/procedures/definitions/win32_user32.py +4 -19
  615. angr/procedures/definitions/win32_userenv.py +3 -18
  616. angr/procedures/definitions/win32_usp10.py +3 -18
  617. angr/procedures/definitions/win32_uxtheme.py +3 -18
  618. angr/procedures/definitions/win32_verifier.py +3 -18
  619. angr/procedures/definitions/win32_version.py +3 -18
  620. angr/procedures/definitions/win32_vertdll.py +3 -18
  621. angr/procedures/definitions/win32_virtdisk.py +3 -18
  622. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  623. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  624. angr/procedures/definitions/win32_vssapi.py +3 -18
  625. angr/procedures/definitions/win32_wcmapi.py +3 -18
  626. angr/procedures/definitions/win32_wdsbp.py +3 -18
  627. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  628. angr/procedures/definitions/win32_wdsmc.py +3 -18
  629. angr/procedures/definitions/win32_wdspxe.py +3 -18
  630. angr/procedures/definitions/win32_wdstptc.py +3 -18
  631. angr/procedures/definitions/win32_webauthn.py +3 -18
  632. angr/procedures/definitions/win32_webservices.py +3 -18
  633. angr/procedures/definitions/win32_websocket.py +3 -18
  634. angr/procedures/definitions/win32_wecapi.py +3 -18
  635. angr/procedures/definitions/win32_wer.py +3 -18
  636. angr/procedures/definitions/win32_wevtapi.py +3 -18
  637. angr/procedures/definitions/win32_winbio.py +3 -18
  638. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  639. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  640. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  641. angr/procedures/definitions/win32_windows_networking.py +3 -18
  642. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  643. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  644. angr/procedures/definitions/win32_winfax.py +3 -18
  645. angr/procedures/definitions/win32_winhttp.py +3 -18
  646. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  647. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  648. angr/procedures/definitions/win32_wininet.py +3 -18
  649. angr/procedures/definitions/win32_winml.py +3 -18
  650. angr/procedures/definitions/win32_winmm.py +3 -18
  651. angr/procedures/definitions/win32_winscard.py +3 -18
  652. angr/procedures/definitions/win32_winspool.py +3 -3
  653. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  654. angr/procedures/definitions/win32_wintrust.py +3 -18
  655. angr/procedures/definitions/win32_winusb.py +3 -18
  656. angr/procedures/definitions/win32_wlanapi.py +3 -18
  657. angr/procedures/definitions/win32_wlanui.py +3 -18
  658. angr/procedures/definitions/win32_wldap32.py +3 -18
  659. angr/procedures/definitions/win32_wldp.py +3 -18
  660. angr/procedures/definitions/win32_wmvcore.py +3 -18
  661. angr/procedures/definitions/win32_wnvapi.py +3 -18
  662. angr/procedures/definitions/win32_wofutil.py +3 -18
  663. angr/procedures/definitions/win32_ws2_32.py +3 -18
  664. angr/procedures/definitions/win32_wscapi.py +3 -18
  665. angr/procedures/definitions/win32_wsclient.py +3 -18
  666. angr/procedures/definitions/win32_wsdapi.py +3 -18
  667. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  668. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  669. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  670. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  671. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  672. angr/procedures/definitions/win32_xinputuap.py +3 -3
  673. angr/procedures/definitions/win32_xmllite.py +3 -18
  674. angr/procedures/definitions/win32_xolehlp.py +3 -18
  675. angr/procedures/definitions/win32_xpsprint.py +3 -18
  676. angr/procedures/glibc/scanf.py +2 -2
  677. angr/procedures/glibc/sscanf.py +1 -1
  678. angr/procedures/java/__init__.py +6 -3
  679. angr/procedures/java/unconstrained.py +3 -3
  680. angr/procedures/java_io/read.py +1 -1
  681. angr/procedures/java_io/write.py +1 -1
  682. angr/procedures/java_jni/__init__.py +4 -4
  683. angr/procedures/java_jni/array_operations.py +2 -2
  684. angr/procedures/java_jni/field_access.py +3 -3
  685. angr/procedures/java_jni/method_calls.py +2 -2
  686. angr/procedures/java_jni/object_operations.py +1 -1
  687. angr/procedures/java_jni/string_operations.py +1 -1
  688. angr/procedures/java_lang/character.py +1 -1
  689. angr/procedures/java_lang/double.py +1 -1
  690. angr/procedures/java_lang/exit.py +1 -1
  691. angr/procedures/java_lang/getsimplename.py +1 -1
  692. angr/procedures/java_lang/integer.py +2 -2
  693. angr/procedures/java_lang/load_library.py +1 -1
  694. angr/procedures/java_lang/math.py +1 -1
  695. angr/procedures/java_lang/string.py +3 -3
  696. angr/procedures/java_lang/stringbuilder.py +2 -2
  697. angr/procedures/java_lang/system.py +1 -1
  698. angr/procedures/java_util/collection.py +2 -2
  699. angr/procedures/java_util/iterator.py +2 -2
  700. angr/procedures/java_util/list.py +3 -3
  701. angr/procedures/java_util/map.py +3 -3
  702. angr/procedures/java_util/random.py +1 -1
  703. angr/procedures/java_util/scanner_nextline.py +2 -2
  704. angr/procedures/libc/fseek.py +1 -1
  705. angr/procedures/libc/memcpy.py +1 -1
  706. angr/procedures/libc/strlen.py +12 -4
  707. angr/procedures/libc/strncmp.py +9 -4
  708. angr/procedures/linux_kernel/iovec.py +3 -3
  709. angr/procedures/linux_kernel/mmap.py +1 -1
  710. angr/procedures/linux_kernel/stat.py +1 -1
  711. angr/procedures/linux_kernel/sysinfo.py +1 -1
  712. angr/procedures/posix/bzero.py +1 -1
  713. angr/procedures/posix/mmap.py +1 -1
  714. angr/procedures/posix/send.py +1 -1
  715. angr/procedures/posix/syslog.py +2 -3
  716. angr/procedures/procedure_dict.py +2 -2
  717. angr/procedures/stubs/format_parser.py +5 -5
  718. angr/procedures/tracer/random.py +1 -1
  719. angr/procedures/tracer/receive.py +1 -1
  720. angr/procedures/tracer/transmit.py +1 -1
  721. angr/procedures/uclibc/__uClibc_main.py +1 -1
  722. angr/protos/__init__.py +8 -0
  723. angr/sim_options.py +0 -4
  724. angr/sim_type.py +9 -18
  725. angr/simos/__init__.py +12 -0
  726. angr/simos/cgc.py +5 -5
  727. angr/simos/javavm.py +12 -12
  728. angr/simos/linux.py +5 -5
  729. angr/simos/simos.py +11 -15
  730. angr/simos/userland.py +3 -3
  731. angr/simos/windows.py +5 -10
  732. angr/state_plugins/__init__.py +84 -28
  733. angr/state_plugins/callstack.py +1 -1
  734. angr/state_plugins/concrete.py +3 -4
  735. angr/state_plugins/filesystem.py +3 -3
  736. angr/state_plugins/gdb.py +1 -1
  737. angr/state_plugins/heap/__init__.py +14 -5
  738. angr/state_plugins/heap/heap_base.py +5 -4
  739. angr/state_plugins/heap/heap_brk.py +1 -1
  740. angr/state_plugins/heap/heap_freelist.py +1 -1
  741. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  742. angr/state_plugins/heap/utils.py +1 -1
  743. angr/state_plugins/history.py +2 -2
  744. angr/state_plugins/javavm_classloader.py +3 -3
  745. angr/state_plugins/jni_references.py +1 -1
  746. angr/state_plugins/light_registers.py +3 -3
  747. angr/state_plugins/log.py +1 -1
  748. angr/state_plugins/plugin.py +3 -2
  749. angr/state_plugins/posix.py +3 -3
  750. angr/state_plugins/preconstrainer.py +4 -4
  751. angr/state_plugins/scratch.py +3 -3
  752. angr/state_plugins/sim_action_object.py +1 -1
  753. angr/state_plugins/solver.py +14 -18
  754. angr/state_plugins/symbolizer.py +2 -3
  755. angr/state_plugins/uc_manager.py +1 -1
  756. angr/state_plugins/unicorn_engine.py +4 -4
  757. angr/state_plugins/view.py +1 -1
  758. angr/storage/__init__.py +9 -3
  759. angr/storage/file.py +4 -4
  760. angr/storage/memory_mixins/__init__.py +88 -6
  761. angr/storage/memory_mixins/actions_mixin.py +2 -2
  762. angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
  763. angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
  764. angr/storage/memory_mixins/clouseau_mixin.py +1 -1
  765. angr/storage/memory_mixins/convenient_mappings_mixin.py +2 -2
  766. angr/storage/memory_mixins/default_filler_mixin.py +3 -3
  767. angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
  768. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  769. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  770. angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
  771. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
  772. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
  773. angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
  774. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  775. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +1 -1
  776. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  777. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  778. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
  779. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
  780. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  781. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  782. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  783. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
  784. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  785. angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
  786. angr/storage/memory_mixins/simplification_mixin.py +1 -1
  787. angr/storage/memory_mixins/size_resolution_mixin.py +1 -1
  788. angr/storage/memory_mixins/slotted_memory.py +1 -1
  789. angr/storage/memory_mixins/smart_find_mixin.py +1 -1
  790. angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
  791. angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
  792. angr/storage/memory_object.py +1 -1
  793. angr/utils/__init__.py +12 -0
  794. angr/utils/enums_conv.py +1 -1
  795. angr/utils/library.py +2 -2
  796. angr/utils/mp.py +1 -1
  797. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/METADATA +6 -7
  798. angr-9.2.120.dist-info/RECORD +1340 -0
  799. angr/analyses/s_liveness/__init__.py +0 -2
  800. angr/analyses/s_propagator/__init__.py +0 -2
  801. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  802. angr/knowledge_base/__init__.py +0 -2
  803. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  804. angr/knowledge_plugins/sync/__init__.py +0 -2
  805. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  806. angr/misc/range.py +0 -24
  807. angr/misc/weakpatch.py +0 -59
  808. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  809. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  810. angr/storage/pcap.py +0 -65
  811. angr/utils/typing.py +0 -18
  812. angr-9.2.119.dist-info/RECORD +0 -1345
  813. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  814. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
  815. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
  816. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
  817. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..glibc.__libc_start_main import __libc_start_main as fucker
2
+ from angr.procedures.glibc.__libc_start_main import __libc_start_main as fucker
3
3
 
4
4
 
5
5
  class __uClibc_main(fucker):
angr/protos/__init__.py CHANGED
@@ -12,3 +12,11 @@ from . import function_pb2
12
12
  from . import cfg_pb2
13
13
  from . import xrefs_pb2
14
14
  from . import variables_pb2
15
+
16
+ __all__ = (
17
+ "primitives_pb2",
18
+ "function_pb2",
19
+ "cfg_pb2",
20
+ "xrefs_pb2",
21
+ "variables_pb2",
22
+ )
angr/sim_options.py CHANGED
@@ -232,10 +232,6 @@ KEEP_IP_SYMBOLIC = "KEEP_IP_SYMBOLIC"
232
232
  # Do not try to concretize a symbolic IP. With this option, all states with symbolic IPs will be seen as unconstrained.
233
233
  NO_IP_CONCRETIZATION = "NO_IP_CONCRETIZATION"
234
234
 
235
- # Do not union values from different locations when reading from the memory for a reduced loss in precision
236
- # It is only applied to SimAbstractMemory
237
- KEEP_MEMORY_READS_DISCRETE = "KEEP_MEMORY_READS_DISCRETE"
238
-
239
235
  # Raise a SimSegfaultError on illegal memory accesses
240
236
  STRICT_PAGE_ACCESS = "STRICT_PAGE_ACCESS"
241
237
 
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:
@@ -3499,7 +3491,7 @@ def parse_cpp_file(cpp_decl, with_param_names: bool = False):
3499
3491
  func_decls: dict[str, SimTypeCppFunction] = {}
3500
3492
  for the_func in h.functions:
3501
3493
  # FIXME: We always assume that there is a "this" pointer but it is not the case for static methods.
3502
- 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))
3503
3495
  if proto is not None and the_func["class"]:
3504
3496
  func_name = cast(str, the_func["class"] + "::" + the_func["name"])
3505
3497
  proto.args = (
@@ -3599,4 +3591,3 @@ struct timeval {
3599
3591
  )
3600
3592
 
3601
3593
  from .state_plugins.view import SimMemView
3602
- 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
@@ -9,19 +9,19 @@ from claripy.ast.bv import BV
9
9
 
10
10
  from angr import SIM_PROCEDURES, options
11
11
 
12
- from ..calling_conventions import default_cc, SimCCSoot
13
- from ..engines.soot import SootMixin
14
- from ..engines.soot.expressions import SimSootExpr_NewArray
15
- from ..engines.soot.values import (
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 (
16
16
  SimSootValue_ArrayRef,
17
17
  SimSootValue_StringRef,
18
18
  SimSootValue_ThisRef,
19
19
  SimSootValue_StaticFieldRef,
20
20
  )
21
- from ..errors import AngrSimOSError
22
- from ..procedures.java_jni import jni_functions
23
- from ..sim_state import SimState
24
- 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
25
25
  from .simos import SimOS
26
26
 
27
27
  l = logging.getLogger("angr.simos.JavaVM")
@@ -102,11 +102,11 @@ class SimJavaVM(SimOS):
102
102
  #
103
103
 
104
104
  def state_blank(self, addr=None, **kwargs): # pylint: disable=arguments-differ
105
- if not kwargs.get("mode", None):
105
+ if not kwargs.get("mode"):
106
106
  kwargs["mode"] = self.project._default_analysis_mode
107
- if not kwargs.get("arch", None):
107
+ if not kwargs.get("arch"):
108
108
  kwargs["arch"] = self.arch
109
- if not kwargs.get("os_name", None):
109
+ if not kwargs.get("os_name"):
110
110
  kwargs["os_name"] = self.name
111
111
 
112
112
  if self.is_javavm_with_jni_support:
@@ -161,7 +161,7 @@ class SimJavaVM(SimOS):
161
161
 
162
162
  # initialize class containing the current method
163
163
  state.javavm_classloader.get_class(
164
- 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")
165
165
  )
166
166
 
167
167
  # initialize the Java environment
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__)
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:
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__)
@@ -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")
@@ -3,30 +3,18 @@ import logging
3
3
 
4
4
  import claripy
5
5
 
6
- from ..plugin import SimStatePlugin
6
+ from angr.state_plugins.plugin import SimStatePlugin
7
7
  from .heap_freelist import SimHeapFreelist, Chunk
8
8
  from .utils import concretize
9
- from ...errors import SimHeapError, SimMergeError, SimSolverError
9
+ from angr.errors import SimHeapError, SimMergeError, SimSolverError
10
10
 
11
11
 
12
12
  l = logging.getLogger("angr.state_plugins.heap.heap_ptmalloc")
13
- sml = logging.getLogger("angr.state_plugins.symbolic_memory")
14
13
 
15
14
  CHUNK_FLAGS_MASK = 0x07
16
15
  CHUNK_P_MASK = 0x01
17
16
 
18
17
 
19
- # These are included as sometimes the heap will touch uninitialized locations, which normally causes a warning
20
- def silence_logger():
21
- level = sml.getEffectiveLevel()
22
- sml.setLevel("ERROR")
23
- return level
24
-
25
-
26
- def unsilence_logger(level):
27
- sml.setLevel(level)
28
-
29
-
30
18
  class PTChunk(Chunk):
31
19
  """
32
20
  A chunk, inspired by the implementation of chunks in ptmalloc. Provides a representation of a chunk via a view into
@@ -60,11 +48,9 @@ class PTChunk(Chunk):
60
48
  return chunk_size - 2 * self._chunk_size_t_size
61
49
 
62
50
  def _set_leading_size(self, size):
63
- level = silence_logger()
64
51
  chunk_flags = (
65
52
  self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size) & CHUNK_FLAGS_MASK
66
53
  )
67
- unsilence_logger(level)
68
54
  self.state.memory.store(self.base + self._chunk_size_t_size, size | chunk_flags, size=self.state.arch.bytes)
69
55
 
70
56
  def _set_trailing_size(self, size):
@@ -98,9 +84,7 @@ class PTChunk(Chunk):
98
84
 
99
85
  :param is_free: if True, sets the previous chunk to be free; if False, sets it to be allocated
100
86
  """
101
- level = silence_logger()
102
87
  size_field = self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size)
103
- unsilence_logger(level)
104
88
  if is_free:
105
89
  self.state.memory.store(
106
90
  self.base + self._chunk_size_t_size, size_field & ~CHUNK_P_MASK, size=self.state.arch.bytes
@@ -550,9 +534,7 @@ class SimHeapPTMalloc(SimHeapFreelist):
550
534
  return 0
551
535
  # Copy the old data over
552
536
  old_data_ptr = chunk.data_ptr()
553
- level = silence_logger()
554
537
  old_data = self.state.memory.load(old_data_ptr, size=old_size - 2 * self._chunk_size_t_size)
555
- unsilence_logger(level)
556
538
  self.state.memory.store(new_data_ptr, old_data)
557
539
  self.free(old_data_ptr) # Free the old chunk
558
540
  return new_data_ptr
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ...errors import SimSolverError
2
+ from angr.errors import SimSolverError
3
3
 
4
4
 
5
5
  def concretize(x, solver, sym_handler):
@@ -9,8 +9,8 @@ import claripy
9
9
  from claripy.ast.bv import BV
10
10
 
11
11
  from .plugin import SimStatePlugin
12
- from .. import sim_options
13
- from ..state_plugins.sim_action import SimActionObject
12
+ from angr import sim_options
13
+ from angr.state_plugins.sim_action import SimActionObject
14
14
 
15
15
  l = logging.getLogger(name=__name__)
16
16
 
@@ -3,9 +3,9 @@ import logging
3
3
 
4
4
  from archinfo.arch_soot import SootAddressDescriptor, SootAddressTerminator, SootClassDescriptor
5
5
 
6
- from ..engines.soot.method_dispatcher import resolve_method
7
- from ..engines import UberEngine
8
- from ..sim_state import SimState
6
+ from angr.engines.soot.method_dispatcher import resolve_method
7
+ from angr.engines import UberEngine
8
+ from angr.sim_state import SimState
9
9
  from .plugin import SimStatePlugin
10
10
 
11
11
  l = logging.getLogger("angr.state_plugins.javavm_classloader")
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import logging
3
3
 
4
- from ..sim_state import SimState
4
+ from angr.sim_state import SimState
5
5
  from .plugin import SimStatePlugin
6
6
 
7
7
  l = logging.getLogger("angr.state_plugins.jni_references")
@@ -3,9 +3,9 @@ import claripy
3
3
  import logging
4
4
 
5
5
  from .plugin import SimStatePlugin
6
- from ..errors import SimFastMemoryError
7
- from ..misc.ux import once
8
- from .. import sim_options as options
6
+ from angr.errors import SimFastMemoryError
7
+ from angr.misc.ux import once
8
+ from angr import sim_options as options
9
9
 
10
10
  l = logging.getLogger(__name__)
11
11
 
angr/state_plugins/log.py CHANGED
@@ -76,7 +76,7 @@ class SimStateLog(SimStatePlugin):
76
76
  # self.input_variables.clear()
77
77
 
78
78
 
79
- from ..errors import SimEventError
79
+ from angr.errors import SimEventError
80
80
  from .sim_event import SimEvent
81
81
  from .sim_action import SimAction, SimActionConstraint
82
82