angr 9.2.119__py3-none-macosx_11_0_arm64.whl → 9.2.121__py3-none-macosx_11_0_arm64.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 (843) 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 +3 -2
  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 +15 -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/default_resolvers.py +2 -0
  23. angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +27 -20
  24. angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py +140 -369
  25. angr/analyses/cfg/indirect_jump_resolvers/mips_elf_got.py +148 -0
  26. angr/analyses/cfg/indirect_jump_resolvers/resolver.py +2 -2
  27. angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py +1 -1
  28. angr/analyses/cfg_slice_to_sink/__init__.py +8 -0
  29. angr/analyses/class_identifier.py +2 -2
  30. angr/analyses/code_tagging.py +2 -2
  31. angr/analyses/complete_calling_conventions.py +3 -3
  32. angr/analyses/congruency_check.py +1 -2
  33. angr/analyses/data_dep/__init__.py +13 -0
  34. angr/analyses/data_dep/data_dependency_analysis.py +5 -5
  35. angr/analyses/datagraph_meta.py +1 -1
  36. angr/analyses/ddg.py +3 -3
  37. angr/analyses/decompiler/__init__.py +25 -0
  38. angr/analyses/decompiler/ail_simplifier.py +8 -8
  39. angr/analyses/decompiler/block_simplifier.py +3 -3
  40. angr/analyses/decompiler/callsite_maker.py +5 -3
  41. angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py +20 -0
  42. angr/analyses/decompiler/clinic.py +25 -26
  43. angr/analyses/decompiler/condition_processor.py +7 -5
  44. angr/analyses/decompiler/counters/__init__.py +11 -0
  45. angr/analyses/decompiler/decompiler.py +24 -10
  46. angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
  47. angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
  48. angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
  49. angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
  50. angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
  51. angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
  52. angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +7 -7
  53. angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
  54. angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
  55. angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
  56. angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
  57. angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
  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 +13 -13
  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 +8 -8
  94. angr/analyses/decompiler/structuring/phoenix.py +6 -6
  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 +4 -4
  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/heap_allocator.py +3 -3
  153. angr/analyses/reaching_definitions/rd_state.py +4 -10
  154. angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
  155. angr/analyses/reaching_definitions/subject.py +3 -3
  156. angr/analyses/reassembler.py +5 -5
  157. angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
  158. angr/analyses/s_reaching_definitions/__init__.py +11 -1
  159. angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
  160. angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
  161. angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
  162. angr/analyses/stack_pointer_tracker.py +5 -5
  163. angr/analyses/static_hooker.py +2 -2
  164. angr/analyses/typehoon/__init__.py +3 -0
  165. angr/analyses/typehoon/lifter.py +1 -1
  166. angr/analyses/typehoon/translator.py +2 -2
  167. angr/analyses/typehoon/typehoon.py +3 -3
  168. angr/analyses/typehoon/typevars.py +37 -16
  169. angr/analyses/variable_recovery/__init__.py +6 -0
  170. angr/analyses/variable_recovery/engine_ail.py +5 -5
  171. angr/analyses/variable_recovery/engine_base.py +7 -7
  172. angr/analyses/variable_recovery/engine_vex.py +7 -7
  173. angr/analyses/variable_recovery/variable_recovery.py +5 -5
  174. angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
  175. angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
  176. angr/analyses/veritesting.py +8 -8
  177. angr/analyses/vfg.py +13 -13
  178. angr/analyses/vsa_ddg.py +3 -3
  179. angr/analyses/vtable.py +1 -1
  180. angr/analyses/xrefs.py +3 -3
  181. angr/angrdb/__init__.py +3 -0
  182. angr/angrdb/db.py +3 -3
  183. angr/angrdb/serializers/__init__.py +7 -0
  184. angr/angrdb/serializers/cfg_model.py +2 -2
  185. angr/angrdb/serializers/comments.py +2 -2
  186. angr/angrdb/serializers/funcs.py +2 -2
  187. angr/angrdb/serializers/kb.py +2 -2
  188. angr/angrdb/serializers/labels.py +2 -2
  189. angr/angrdb/serializers/loader.py +2 -2
  190. angr/angrdb/serializers/structured_code.py +4 -4
  191. angr/angrdb/serializers/variables.py +3 -3
  192. angr/angrdb/serializers/xrefs.py +2 -2
  193. angr/block.py +9 -1
  194. angr/calling_conventions.py +1 -1
  195. angr/concretization_strategies/__init__.py +17 -0
  196. angr/concretization_strategies/max.py +1 -1
  197. angr/concretization_strategies/norepeats_range.py +1 -1
  198. angr/distributed/__init__.py +6 -1
  199. angr/distributed/server.py +0 -1
  200. angr/distributed/worker.py +6 -4
  201. angr/engines/__init__.py +25 -0
  202. angr/engines/concrete.py +1 -2
  203. angr/engines/engine.py +8 -15
  204. angr/engines/failure.py +2 -2
  205. angr/engines/light/__init__.py +12 -0
  206. angr/engines/light/data.py +1 -1
  207. angr/engines/light/engine.py +6 -6
  208. angr/engines/pcode/__init__.py +7 -1
  209. angr/engines/pcode/behavior.py +1 -1
  210. angr/engines/pcode/cc.py +1 -1
  211. angr/engines/pcode/emulate.py +4 -4
  212. angr/engines/pcode/engine.py +3 -3
  213. angr/engines/pcode/lifter.py +15 -7
  214. angr/engines/procedure.py +3 -3
  215. angr/engines/soot/__init__.py +3 -0
  216. angr/engines/soot/engine.py +8 -8
  217. angr/engines/soot/expressions/__init__.py +33 -0
  218. angr/engines/soot/expressions/arrayref.py +1 -1
  219. angr/engines/soot/expressions/base.py +1 -1
  220. angr/engines/soot/expressions/cast.py +1 -1
  221. angr/engines/soot/expressions/condition.py +1 -1
  222. angr/engines/soot/expressions/constants.py +1 -1
  223. angr/engines/soot/expressions/invoke.py +2 -2
  224. angr/engines/soot/expressions/new.py +1 -1
  225. angr/engines/soot/expressions/newArray.py +1 -1
  226. angr/engines/soot/expressions/newMultiArray.py +1 -1
  227. angr/engines/soot/statements/__init__.py +16 -0
  228. angr/engines/soot/statements/assign.py +1 -1
  229. angr/engines/soot/statements/base.py +3 -3
  230. angr/engines/soot/values/__init__.py +14 -0
  231. angr/engines/soot/values/arrayref.py +1 -1
  232. angr/engines/soot/values/instancefieldref.py +1 -1
  233. angr/engines/soot/values/staticfieldref.py +1 -1
  234. angr/engines/soot/values/thisref.py +2 -2
  235. angr/engines/successors.py +8 -8
  236. angr/engines/syscall.py +1 -1
  237. angr/engines/unicorn.py +11 -11
  238. angr/engines/vex/__init__.py +18 -3
  239. angr/engines/vex/claripy/__init__.py +3 -0
  240. angr/engines/vex/claripy/ccall.py +2 -3
  241. angr/engines/vex/claripy/datalayer.py +9 -12
  242. angr/engines/vex/heavy/__init__.py +11 -1
  243. angr/engines/vex/heavy/actions.py +19 -24
  244. angr/engines/vex/heavy/heavy.py +13 -7
  245. angr/engines/vex/heavy/inspect.py +2 -2
  246. angr/engines/vex/heavy/resilience.py +2 -2
  247. angr/engines/vex/heavy/super_fastpath.py +3 -3
  248. angr/engines/vex/lifter.py +8 -6
  249. angr/engines/vex/light/__init__.py +7 -0
  250. angr/engines/vex/light/light.py +4 -4
  251. angr/engines/vex/light/slicing.py +1 -1
  252. angr/errors.py +0 -4
  253. angr/exploration_techniques/__init__.py +0 -1
  254. angr/exploration_techniques/bucketizer.py +9 -10
  255. angr/exploration_techniques/common.py +2 -2
  256. angr/exploration_techniques/director.py +4 -4
  257. angr/exploration_techniques/explorer.py +3 -3
  258. angr/exploration_techniques/loop_seer.py +3 -3
  259. angr/exploration_techniques/oppologist.py +3 -3
  260. angr/exploration_techniques/slicecutor.py +1 -1
  261. angr/exploration_techniques/spiller.py +1 -1
  262. angr/exploration_techniques/suggestions.py +4 -4
  263. angr/exploration_techniques/symbion.py +0 -1
  264. angr/exploration_techniques/threading.py +2 -2
  265. angr/exploration_techniques/tracer.py +3 -3
  266. angr/exploration_techniques/veritesting.py +1 -1
  267. angr/factory.py +5 -0
  268. angr/flirt/__init__.py +0 -1
  269. angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
  270. angr/knowledge_plugins/__init__.py +23 -1
  271. angr/knowledge_plugins/callsite_prototypes.py +2 -2
  272. angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
  273. angr/knowledge_plugins/cfg/cfg_model.py +6 -6
  274. angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
  275. angr/knowledge_plugins/cfg/memory_data.py +3 -2
  276. angr/knowledge_plugins/debug_variables.py +2 -2
  277. angr/knowledge_plugins/functions/__init__.py +6 -0
  278. angr/knowledge_plugins/functions/function.py +21 -16
  279. angr/knowledge_plugins/functions/function_manager.py +2 -2
  280. angr/knowledge_plugins/functions/function_parser.py +3 -3
  281. angr/knowledge_plugins/functions/soot_function.py +2 -2
  282. angr/knowledge_plugins/key_definitions/atoms.py +2 -2
  283. angr/knowledge_plugins/key_definitions/definition.py +3 -3
  284. angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
  285. angr/knowledge_plugins/key_definitions/uses.py +2 -2
  286. angr/knowledge_plugins/propagations/__init__.py +7 -0
  287. angr/knowledge_plugins/propagations/prop_value.py +1 -1
  288. angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
  289. angr/knowledge_plugins/types.py +1 -1
  290. angr/knowledge_plugins/variables/__init__.py +6 -0
  291. angr/knowledge_plugins/variables/variable_access.py +3 -3
  292. angr/knowledge_plugins/variables/variable_manager.py +7 -7
  293. angr/knowledge_plugins/xrefs/__init__.py +9 -1
  294. angr/knowledge_plugins/xrefs/xref.py +5 -5
  295. angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
  296. angr/lib/angr_native.dylib +0 -0
  297. angr/misc/__init__.py +12 -2
  298. angr/misc/loggers.py +2 -2
  299. angr/procedures/__init__.py +9 -0
  300. angr/procedures/cgc/receive.py +2 -2
  301. angr/procedures/cgc/transmit.py +1 -1
  302. angr/procedures/definitions/__init__.py +8 -8
  303. angr/procedures/definitions/cgc.py +1 -1
  304. angr/procedures/definitions/glibc.py +2 -15
  305. angr/procedures/definitions/gnulib.py +2 -6
  306. angr/procedures/definitions/libstdcpp.py +2 -2
  307. angr/procedures/definitions/linux_kernel.py +2 -3
  308. angr/procedures/definitions/linux_loader.py +1 -1
  309. angr/procedures/definitions/msvcr.py +2 -2
  310. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  311. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  312. angr/procedures/definitions/wdk_clfs.py +3 -18
  313. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  314. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  315. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  316. angr/procedures/definitions/wdk_gdi32.py +3 -18
  317. angr/procedures/definitions/wdk_hal.py +3 -18
  318. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  319. angr/procedures/definitions/wdk_ndis.py +3 -18
  320. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  321. angr/procedures/definitions/wdk_offreg.py +3 -18
  322. angr/procedures/definitions/wdk_pshed.py +3 -18
  323. angr/procedures/definitions/wdk_secur32.py +3 -18
  324. angr/procedures/definitions/wdk_vhfum.py +3 -18
  325. angr/procedures/definitions/win32_aclui.py +3 -18
  326. angr/procedures/definitions/win32_activeds.py +3 -18
  327. angr/procedures/definitions/win32_advapi32.py +3 -18
  328. angr/procedures/definitions/win32_advpack.py +3 -18
  329. angr/procedures/definitions/win32_amsi.py +3 -18
  330. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  331. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  332. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  333. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  356. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  357. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  358. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  359. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  360. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  361. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  362. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  363. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  364. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  365. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  366. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  367. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  368. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  369. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  370. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  371. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  372. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  373. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  374. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  375. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  376. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  386. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  387. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  388. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  389. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  390. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  391. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  392. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  393. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  394. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  395. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  396. angr/procedures/definitions/win32_apphelp.py +3 -18
  397. angr/procedures/definitions/win32_authz.py +3 -18
  398. angr/procedures/definitions/win32_avicap32.py +3 -18
  399. angr/procedures/definitions/win32_avifil32.py +3 -18
  400. angr/procedures/definitions/win32_avrt.py +3 -18
  401. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  402. angr/procedures/definitions/win32_bcrypt.py +3 -18
  403. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  404. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  405. angr/procedures/definitions/win32_bthprops.py +3 -3
  406. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  407. angr/procedures/definitions/win32_cabinet.py +3 -18
  408. angr/procedures/definitions/win32_certadm.py +3 -18
  409. angr/procedures/definitions/win32_certpoleng.py +3 -18
  410. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  411. angr/procedures/definitions/win32_chakra.py +3 -18
  412. angr/procedures/definitions/win32_cldapi.py +3 -18
  413. angr/procedures/definitions/win32_clfsw32.py +3 -18
  414. angr/procedures/definitions/win32_clusapi.py +3 -18
  415. angr/procedures/definitions/win32_comctl32.py +3 -18
  416. angr/procedures/definitions/win32_comdlg32.py +3 -18
  417. angr/procedures/definitions/win32_compstui.py +3 -18
  418. angr/procedures/definitions/win32_computecore.py +3 -18
  419. angr/procedures/definitions/win32_computenetwork.py +3 -18
  420. angr/procedures/definitions/win32_computestorage.py +3 -18
  421. angr/procedures/definitions/win32_comsvcs.py +3 -18
  422. angr/procedures/definitions/win32_coremessaging.py +3 -3
  423. angr/procedures/definitions/win32_credui.py +3 -18
  424. angr/procedures/definitions/win32_crypt32.py +3 -18
  425. angr/procedures/definitions/win32_cryptnet.py +3 -18
  426. angr/procedures/definitions/win32_cryptui.py +3 -18
  427. angr/procedures/definitions/win32_cryptxml.py +3 -18
  428. angr/procedures/definitions/win32_cscapi.py +3 -18
  429. angr/procedures/definitions/win32_d2d1.py +3 -18
  430. angr/procedures/definitions/win32_d3d10.py +3 -18
  431. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  432. angr/procedures/definitions/win32_d3d11.py +3 -18
  433. angr/procedures/definitions/win32_d3d12.py +3 -18
  434. angr/procedures/definitions/win32_d3d9.py +3 -18
  435. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  436. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  437. angr/procedures/definitions/win32_davclnt.py +3 -18
  438. angr/procedures/definitions/win32_dbgeng.py +3 -18
  439. angr/procedures/definitions/win32_dbghelp.py +3 -18
  440. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  441. angr/procedures/definitions/win32_dciman32.py +3 -18
  442. angr/procedures/definitions/win32_dcomp.py +3 -18
  443. angr/procedures/definitions/win32_ddraw.py +3 -18
  444. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  445. angr/procedures/definitions/win32_dflayout.py +3 -18
  446. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  447. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  448. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  449. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  450. angr/procedures/definitions/win32_dinput8.py +3 -18
  451. angr/procedures/definitions/win32_directml.py +3 -18
  452. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  453. angr/procedures/definitions/win32_dnsapi.py +3 -18
  454. angr/procedures/definitions/win32_drt.py +3 -18
  455. angr/procedures/definitions/win32_drtprov.py +3 -18
  456. angr/procedures/definitions/win32_drttransport.py +3 -18
  457. angr/procedures/definitions/win32_dsound.py +3 -18
  458. angr/procedures/definitions/win32_dsparse.py +3 -18
  459. angr/procedures/definitions/win32_dsprop.py +3 -18
  460. angr/procedures/definitions/win32_dssec.py +3 -18
  461. angr/procedures/definitions/win32_dsuiext.py +3 -18
  462. angr/procedures/definitions/win32_dwmapi.py +3 -18
  463. angr/procedures/definitions/win32_dwrite.py +3 -18
  464. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  465. angr/procedures/definitions/win32_dxcore.py +3 -18
  466. angr/procedures/definitions/win32_dxgi.py +3 -18
  467. angr/procedures/definitions/win32_dxva2.py +3 -18
  468. angr/procedures/definitions/win32_eappcfg.py +3 -18
  469. angr/procedures/definitions/win32_eappprxy.py +3 -18
  470. angr/procedures/definitions/win32_efswrt.py +3 -18
  471. angr/procedures/definitions/win32_elscore.py +3 -18
  472. angr/procedures/definitions/win32_esent.py +3 -18
  473. angr/procedures/definitions/win32_evr.py +3 -18
  474. angr/procedures/definitions/win32_faultrep.py +3 -18
  475. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  476. angr/procedures/definitions/win32_firewallapi.py +3 -18
  477. angr/procedures/definitions/win32_fltlib.py +3 -18
  478. angr/procedures/definitions/win32_fontsub.py +3 -18
  479. angr/procedures/definitions/win32_forceinline.py +3 -18
  480. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  481. angr/procedures/definitions/win32_fxsutility.py +3 -18
  482. angr/procedures/definitions/win32_gdi32.py +3 -18
  483. angr/procedures/definitions/win32_gdiplus.py +3 -18
  484. angr/procedures/definitions/win32_glu32.py +3 -18
  485. angr/procedures/definitions/win32_gpedit.py +3 -18
  486. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  487. angr/procedures/definitions/win32_hid.py +3 -18
  488. angr/procedures/definitions/win32_hlink.py +3 -18
  489. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  490. angr/procedures/definitions/win32_httpapi.py +3 -18
  491. angr/procedures/definitions/win32_icm32.py +3 -18
  492. angr/procedures/definitions/win32_icmui.py +3 -18
  493. angr/procedures/definitions/win32_icu.py +3 -18
  494. angr/procedures/definitions/win32_ieframe.py +3 -18
  495. angr/procedures/definitions/win32_imagehlp.py +3 -18
  496. angr/procedures/definitions/win32_imgutil.py +3 -18
  497. angr/procedures/definitions/win32_imm32.py +3 -18
  498. angr/procedures/definitions/win32_infocardapi.py +3 -18
  499. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  500. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  501. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  502. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  503. angr/procedures/definitions/win32_kernel32.py +3 -18
  504. angr/procedures/definitions/win32_kernelbase.py +3 -18
  505. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  506. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  507. angr/procedures/definitions/win32_ksuser.py +3 -18
  508. angr/procedures/definitions/win32_ktmw32.py +3 -18
  509. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  510. angr/procedures/definitions/win32_loadperf.py +3 -18
  511. angr/procedures/definitions/win32_magnification.py +3 -18
  512. angr/procedures/definitions/win32_mapi32.py +3 -18
  513. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  514. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  515. angr/procedures/definitions/win32_mf.py +3 -18
  516. angr/procedures/definitions/win32_mfcore.py +3 -18
  517. angr/procedures/definitions/win32_mfplat.py +3 -18
  518. angr/procedures/definitions/win32_mfplay.py +3 -18
  519. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  520. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  521. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  522. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  523. angr/procedures/definitions/win32_mi.py +3 -18
  524. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  525. angr/procedures/definitions/win32_mpr.py +3 -18
  526. angr/procedures/definitions/win32_mprapi.py +3 -18
  527. angr/procedures/definitions/win32_mqrt.py +3 -18
  528. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  529. angr/procedures/definitions/win32_msacm32.py +3 -18
  530. angr/procedures/definitions/win32_msajapi.py +3 -18
  531. angr/procedures/definitions/win32_mscms.py +3 -18
  532. angr/procedures/definitions/win32_mscoree.py +3 -18
  533. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  534. angr/procedures/definitions/win32_msdelta.py +3 -18
  535. angr/procedures/definitions/win32_msdmo.py +3 -18
  536. angr/procedures/definitions/win32_msdrm.py +3 -18
  537. angr/procedures/definitions/win32_msi.py +3 -18
  538. angr/procedures/definitions/win32_msimg32.py +3 -18
  539. angr/procedures/definitions/win32_mspatcha.py +3 -18
  540. angr/procedures/definitions/win32_mspatchc.py +3 -18
  541. angr/procedures/definitions/win32_msports.py +3 -18
  542. angr/procedures/definitions/win32_msrating.py +3 -18
  543. angr/procedures/definitions/win32_mssign32.py +3 -18
  544. angr/procedures/definitions/win32_mstask.py +3 -18
  545. angr/procedures/definitions/win32_msvfw32.py +3 -18
  546. angr/procedures/definitions/win32_mswsock.py +3 -18
  547. angr/procedures/definitions/win32_mtxdm.py +3 -18
  548. angr/procedures/definitions/win32_ncrypt.py +3 -18
  549. angr/procedures/definitions/win32_ndfapi.py +3 -18
  550. angr/procedures/definitions/win32_netapi32.py +3 -18
  551. angr/procedures/definitions/win32_netsh.py +3 -18
  552. angr/procedures/definitions/win32_netshell.py +3 -18
  553. angr/procedures/definitions/win32_newdev.py +3 -18
  554. angr/procedures/definitions/win32_ninput.py +3 -18
  555. angr/procedures/definitions/win32_normaliz.py +3 -18
  556. angr/procedures/definitions/win32_ntdll.py +3 -18
  557. angr/procedures/definitions/win32_ntdllk.py +3 -18
  558. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  559. angr/procedures/definitions/win32_ntlanman.py +3 -18
  560. angr/procedures/definitions/win32_odbc32.py +3 -18
  561. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  562. angr/procedures/definitions/win32_ole32.py +3 -18
  563. angr/procedures/definitions/win32_oleacc.py +3 -18
  564. angr/procedures/definitions/win32_oleaut32.py +3 -18
  565. angr/procedures/definitions/win32_oledlg.py +3 -18
  566. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  567. angr/procedures/definitions/win32_opengl32.py +3 -18
  568. angr/procedures/definitions/win32_opmxbox.py +3 -18
  569. angr/procedures/definitions/win32_p2p.py +3 -18
  570. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  571. angr/procedures/definitions/win32_pdh.py +3 -18
  572. angr/procedures/definitions/win32_peerdist.py +3 -18
  573. angr/procedures/definitions/win32_powrprof.py +3 -18
  574. angr/procedures/definitions/win32_prntvpt.py +3 -18
  575. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  576. angr/procedures/definitions/win32_propsys.py +3 -18
  577. angr/procedures/definitions/win32_psapi.py +3 -18
  578. angr/procedures/definitions/win32_quartz.py +3 -18
  579. angr/procedures/definitions/win32_query.py +3 -18
  580. angr/procedures/definitions/win32_qwave.py +3 -18
  581. angr/procedures/definitions/win32_rasapi32.py +3 -18
  582. angr/procedures/definitions/win32_rasdlg.py +3 -18
  583. angr/procedures/definitions/win32_resutils.py +3 -18
  584. angr/procedures/definitions/win32_rometadata.py +3 -3
  585. angr/procedures/definitions/win32_rpcns4.py +3 -18
  586. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  587. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  588. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  589. angr/procedures/definitions/win32_rtm.py +3 -18
  590. angr/procedures/definitions/win32_rtutils.py +3 -18
  591. angr/procedures/definitions/win32_rtworkq.py +3 -18
  592. angr/procedures/definitions/win32_sas.py +3 -18
  593. angr/procedures/definitions/win32_scarddlg.py +3 -18
  594. angr/procedures/definitions/win32_schannel.py +3 -18
  595. angr/procedures/definitions/win32_sechost.py +3 -18
  596. angr/procedures/definitions/win32_secur32.py +3 -18
  597. angr/procedures/definitions/win32_sensapi.py +3 -18
  598. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  599. angr/procedures/definitions/win32_setupapi.py +3 -18
  600. angr/procedures/definitions/win32_sfc.py +3 -18
  601. angr/procedures/definitions/win32_shdocvw.py +3 -18
  602. angr/procedures/definitions/win32_shell32.py +3 -18
  603. angr/procedures/definitions/win32_shlwapi.py +3 -18
  604. angr/procedures/definitions/win32_slc.py +3 -18
  605. angr/procedures/definitions/win32_slcext.py +3 -18
  606. angr/procedures/definitions/win32_slwga.py +3 -18
  607. angr/procedures/definitions/win32_snmpapi.py +3 -18
  608. angr/procedures/definitions/win32_spoolss.py +3 -18
  609. angr/procedures/definitions/win32_srclient.py +3 -18
  610. angr/procedures/definitions/win32_srpapi.py +3 -18
  611. angr/procedures/definitions/win32_sspicli.py +3 -18
  612. angr/procedures/definitions/win32_sti.py +3 -18
  613. angr/procedures/definitions/win32_t2embed.py +3 -18
  614. angr/procedures/definitions/win32_tapi32.py +3 -18
  615. angr/procedures/definitions/win32_tbs.py +3 -18
  616. angr/procedures/definitions/win32_tdh.py +3 -18
  617. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  618. angr/procedures/definitions/win32_traffic.py +3 -18
  619. angr/procedures/definitions/win32_txfw32.py +3 -18
  620. angr/procedures/definitions/win32_ualapi.py +3 -18
  621. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  622. angr/procedures/definitions/win32_urlmon.py +3 -18
  623. angr/procedures/definitions/win32_user32.py +4 -19
  624. angr/procedures/definitions/win32_userenv.py +3 -18
  625. angr/procedures/definitions/win32_usp10.py +3 -18
  626. angr/procedures/definitions/win32_uxtheme.py +3 -18
  627. angr/procedures/definitions/win32_verifier.py +3 -18
  628. angr/procedures/definitions/win32_version.py +3 -18
  629. angr/procedures/definitions/win32_vertdll.py +3 -18
  630. angr/procedures/definitions/win32_virtdisk.py +3 -18
  631. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  632. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  633. angr/procedures/definitions/win32_vssapi.py +3 -18
  634. angr/procedures/definitions/win32_wcmapi.py +3 -18
  635. angr/procedures/definitions/win32_wdsbp.py +3 -18
  636. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  637. angr/procedures/definitions/win32_wdsmc.py +3 -18
  638. angr/procedures/definitions/win32_wdspxe.py +3 -18
  639. angr/procedures/definitions/win32_wdstptc.py +3 -18
  640. angr/procedures/definitions/win32_webauthn.py +3 -18
  641. angr/procedures/definitions/win32_webservices.py +3 -18
  642. angr/procedures/definitions/win32_websocket.py +3 -18
  643. angr/procedures/definitions/win32_wecapi.py +3 -18
  644. angr/procedures/definitions/win32_wer.py +3 -18
  645. angr/procedures/definitions/win32_wevtapi.py +3 -18
  646. angr/procedures/definitions/win32_winbio.py +3 -18
  647. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  648. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  649. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  650. angr/procedures/definitions/win32_windows_networking.py +3 -18
  651. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  652. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  653. angr/procedures/definitions/win32_winfax.py +3 -18
  654. angr/procedures/definitions/win32_winhttp.py +3 -18
  655. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  656. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  657. angr/procedures/definitions/win32_wininet.py +3 -18
  658. angr/procedures/definitions/win32_winml.py +3 -18
  659. angr/procedures/definitions/win32_winmm.py +3 -18
  660. angr/procedures/definitions/win32_winscard.py +3 -18
  661. angr/procedures/definitions/win32_winspool.py +3 -3
  662. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  663. angr/procedures/definitions/win32_wintrust.py +3 -18
  664. angr/procedures/definitions/win32_winusb.py +3 -18
  665. angr/procedures/definitions/win32_wlanapi.py +3 -18
  666. angr/procedures/definitions/win32_wlanui.py +3 -18
  667. angr/procedures/definitions/win32_wldap32.py +3 -18
  668. angr/procedures/definitions/win32_wldp.py +3 -18
  669. angr/procedures/definitions/win32_wmvcore.py +3 -18
  670. angr/procedures/definitions/win32_wnvapi.py +3 -18
  671. angr/procedures/definitions/win32_wofutil.py +3 -18
  672. angr/procedures/definitions/win32_ws2_32.py +3 -18
  673. angr/procedures/definitions/win32_wscapi.py +3 -18
  674. angr/procedures/definitions/win32_wsclient.py +3 -18
  675. angr/procedures/definitions/win32_wsdapi.py +3 -18
  676. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  677. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  678. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  679. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  680. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  681. angr/procedures/definitions/win32_xinputuap.py +3 -3
  682. angr/procedures/definitions/win32_xmllite.py +3 -18
  683. angr/procedures/definitions/win32_xolehlp.py +3 -18
  684. angr/procedures/definitions/win32_xpsprint.py +3 -18
  685. angr/procedures/glibc/scanf.py +2 -2
  686. angr/procedures/glibc/sscanf.py +1 -1
  687. angr/procedures/java/__init__.py +6 -3
  688. angr/procedures/java/unconstrained.py +3 -3
  689. angr/procedures/java_io/read.py +1 -1
  690. angr/procedures/java_io/write.py +1 -1
  691. angr/procedures/java_jni/__init__.py +4 -4
  692. angr/procedures/java_jni/array_operations.py +2 -2
  693. angr/procedures/java_jni/field_access.py +3 -3
  694. angr/procedures/java_jni/method_calls.py +2 -2
  695. angr/procedures/java_jni/object_operations.py +1 -1
  696. angr/procedures/java_jni/string_operations.py +1 -1
  697. angr/procedures/java_lang/character.py +1 -1
  698. angr/procedures/java_lang/double.py +1 -1
  699. angr/procedures/java_lang/exit.py +1 -1
  700. angr/procedures/java_lang/getsimplename.py +1 -1
  701. angr/procedures/java_lang/integer.py +2 -2
  702. angr/procedures/java_lang/load_library.py +1 -1
  703. angr/procedures/java_lang/math.py +1 -1
  704. angr/procedures/java_lang/string.py +3 -3
  705. angr/procedures/java_lang/stringbuilder.py +2 -2
  706. angr/procedures/java_lang/system.py +1 -1
  707. angr/procedures/java_util/collection.py +2 -2
  708. angr/procedures/java_util/iterator.py +2 -2
  709. angr/procedures/java_util/list.py +3 -3
  710. angr/procedures/java_util/map.py +3 -3
  711. angr/procedures/java_util/random.py +1 -1
  712. angr/procedures/java_util/scanner_nextline.py +2 -2
  713. angr/procedures/libc/fseek.py +1 -1
  714. angr/procedures/libc/memcpy.py +1 -1
  715. angr/procedures/libc/strlen.py +12 -4
  716. angr/procedures/libc/strncmp.py +9 -4
  717. angr/procedures/linux_kernel/iovec.py +3 -3
  718. angr/procedures/linux_kernel/mmap.py +1 -1
  719. angr/procedures/linux_kernel/stat.py +1 -1
  720. angr/procedures/linux_kernel/sysinfo.py +1 -1
  721. angr/procedures/posix/bzero.py +1 -1
  722. angr/procedures/posix/mmap.py +1 -1
  723. angr/procedures/posix/send.py +1 -1
  724. angr/procedures/posix/syslog.py +2 -3
  725. angr/procedures/procedure_dict.py +2 -2
  726. angr/procedures/stubs/format_parser.py +5 -5
  727. angr/procedures/tracer/random.py +1 -1
  728. angr/procedures/tracer/receive.py +1 -1
  729. angr/procedures/tracer/transmit.py +1 -1
  730. angr/procedures/uclibc/__uClibc_main.py +1 -1
  731. angr/protos/__init__.py +8 -0
  732. angr/protos/cfg_pb2.py +23 -15
  733. angr/protos/function_pb2.py +19 -21
  734. angr/protos/primitives_pb2.py +46 -112
  735. angr/protos/variables_pb2.py +38 -114
  736. angr/protos/xrefs_pb2.py +17 -18
  737. angr/sim_options.py +0 -4
  738. angr/sim_state.py +2 -78
  739. angr/sim_type.py +9 -18
  740. angr/simos/__init__.py +12 -0
  741. angr/simos/cgc.py +5 -5
  742. angr/simos/javavm.py +12 -12
  743. angr/simos/linux.py +5 -5
  744. angr/simos/simos.py +11 -15
  745. angr/simos/userland.py +3 -3
  746. angr/simos/windows.py +5 -10
  747. angr/state_plugins/__init__.py +84 -28
  748. angr/state_plugins/callstack.py +1 -1
  749. angr/state_plugins/concrete.py +3 -4
  750. angr/state_plugins/filesystem.py +3 -3
  751. angr/state_plugins/gdb.py +1 -1
  752. angr/state_plugins/heap/__init__.py +14 -5
  753. angr/state_plugins/heap/heap_base.py +5 -4
  754. angr/state_plugins/heap/heap_brk.py +1 -1
  755. angr/state_plugins/heap/heap_freelist.py +1 -1
  756. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  757. angr/state_plugins/heap/utils.py +1 -1
  758. angr/state_plugins/history.py +2 -2
  759. angr/state_plugins/javavm_classloader.py +3 -3
  760. angr/state_plugins/jni_references.py +1 -1
  761. angr/state_plugins/light_registers.py +3 -3
  762. angr/state_plugins/log.py +1 -1
  763. angr/state_plugins/plugin.py +3 -2
  764. angr/state_plugins/posix.py +3 -3
  765. angr/state_plugins/preconstrainer.py +4 -4
  766. angr/state_plugins/scratch.py +3 -3
  767. angr/state_plugins/sim_action_object.py +1 -1
  768. angr/state_plugins/solver.py +85 -32
  769. angr/state_plugins/symbolizer.py +2 -3
  770. angr/state_plugins/uc_manager.py +1 -1
  771. angr/state_plugins/unicorn_engine.py +4 -4
  772. angr/state_plugins/view.py +1 -1
  773. angr/storage/__init__.py +9 -4
  774. angr/storage/file.py +4 -4
  775. angr/storage/memory_mixins/__init__.py +89 -162
  776. angr/storage/memory_mixins/actions_mixin.py +3 -3
  777. angr/storage/memory_mixins/address_concretization_mixin.py +7 -7
  778. angr/storage/memory_mixins/bvv_conversion_mixin.py +2 -2
  779. angr/storage/memory_mixins/clouseau_mixin.py +3 -2
  780. angr/storage/memory_mixins/conditional_store_mixin.py +1 -1
  781. angr/storage/memory_mixins/convenient_mappings_mixin.py +3 -3
  782. angr/storage/memory_mixins/default_filler_mixin.py +4 -4
  783. angr/storage/memory_mixins/dirty_addrs_mixin.py +2 -1
  784. angr/storage/memory_mixins/hex_dumper_mixin.py +2 -2
  785. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  786. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  787. angr/storage/memory_mixins/label_merger_mixin.py +1 -1
  788. angr/storage/memory_mixins/memory_mixin.py +163 -0
  789. angr/storage/memory_mixins/multi_value_merger_mixin.py +1 -1
  790. angr/storage/memory_mixins/name_resolution_mixin.py +5 -3
  791. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +2 -2
  792. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +2 -1
  793. angr/storage/memory_mixins/paged_memory/pages/__init__.py +16 -1
  794. angr/storage/memory_mixins/paged_memory/pages/history_tracking_mixin.py +1 -1
  795. angr/storage/memory_mixins/paged_memory/pages/ispo_mixin.py +2 -1
  796. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  797. angr/storage/memory_mixins/paged_memory/pages/permissions_mixin.py +1 -1
  798. angr/storage/memory_mixins/paged_memory/pages/refcount_mixin.py +2 -1
  799. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +2 -2
  800. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  801. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  802. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -2
  803. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +2 -1
  804. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  805. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  806. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  807. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +8 -20
  808. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  809. angr/storage/memory_mixins/simple_interface_mixin.py +3 -2
  810. angr/storage/memory_mixins/simplification_mixin.py +3 -2
  811. angr/storage/memory_mixins/size_resolution_mixin.py +2 -2
  812. angr/storage/memory_mixins/slotted_memory.py +3 -3
  813. angr/storage/memory_mixins/smart_find_mixin.py +2 -2
  814. angr/storage/memory_mixins/symbolic_merger_mixin.py +2 -1
  815. angr/storage/memory_mixins/top_merger_mixin.py +3 -2
  816. angr/storage/memory_mixins/underconstrained_mixin.py +5 -3
  817. angr/storage/memory_mixins/unwrapper_mixin.py +3 -2
  818. angr/storage/memory_object.py +1 -1
  819. angr/utils/__init__.py +12 -0
  820. angr/utils/enums_conv.py +1 -1
  821. angr/utils/library.py +2 -2
  822. angr/utils/mp.py +1 -1
  823. {angr-9.2.119.dist-info → angr-9.2.121.dist-info}/METADATA +7 -8
  824. angr-9.2.121.dist-info/RECORD +1342 -0
  825. angr/analyses/s_liveness/__init__.py +0 -2
  826. angr/analyses/s_propagator/__init__.py +0 -2
  827. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  828. angr/knowledge_base/__init__.py +0 -2
  829. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  830. angr/knowledge_plugins/sync/__init__.py +0 -2
  831. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  832. angr/misc/range.py +0 -24
  833. angr/misc/weakpatch.py +0 -59
  834. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  835. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  836. angr/storage/pcap.py +0 -65
  837. angr/utils/typing.py +0 -18
  838. angr-9.2.119.dist-info/RECORD +0 -1345
  839. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  840. {angr-9.2.119.dist-info → angr-9.2.121.dist-info}/LICENSE +0 -0
  841. {angr-9.2.119.dist-info → angr-9.2.121.dist-info}/WHEEL +0 -0
  842. {angr-9.2.119.dist-info → angr-9.2.121.dist-info}/entry_points.txt +0 -0
  843. {angr-9.2.119.dist-info → angr-9.2.121.dist-info}/top_level.txt +0 -0
@@ -7,18 +7,19 @@ import logging
7
7
 
8
8
  from typing import TYPE_CHECKING, TypeVar
9
9
 
10
+ from .knowledge_plugins.plugin import default_plugins, KnowledgeBasePlugin
11
+
10
12
  if TYPE_CHECKING:
11
- from ..project import Project
12
- from ..knowledge_plugins import FunctionManager
13
- from ..knowledge_plugins import VariableManager
14
- from ..knowledge_plugins import KeyDefinitionManager
15
- from ..knowledge_plugins import CFGManager
16
- from ..knowledge_plugins import StructuredCodeManager
17
- from ..knowledge_plugins import TypesStore
18
- from ..knowledge_plugins import PropagationManager
19
- from ..knowledge_plugins import XRefManager
20
-
21
- from ..knowledge_plugins.plugin import default_plugins, KnowledgeBasePlugin
13
+ from .project import Project
14
+ from .knowledge_plugins import FunctionManager
15
+ from .knowledge_plugins import VariableManager
16
+ from .knowledge_plugins import KeyDefinitionManager
17
+ from .knowledge_plugins import CFGManager
18
+ from .knowledge_plugins import StructuredCodeManager
19
+ from .knowledge_plugins import TypesStore
20
+ from .knowledge_plugins import PropagationManager
21
+ from .knowledge_plugins import XRefManager
22
+
22
23
 
23
24
  l = logging.getLogger(name=__name__)
24
25
 
@@ -131,10 +132,7 @@ class KnowledgeBase:
131
132
  :return: Instance of the requested plugin class or null if it is not a known plugin
132
133
  """
133
134
  # Get first plugin of this type already registered, or default to None
134
- return next(
135
- filter(lambda registered_plugin: type(registered_plugin) == requested_plugin_cls, self._plugins.values()),
136
- None,
137
- )
135
+ return next((plugin for plugin in self._plugins.values() if isinstance(plugin, requested_plugin_cls)), None)
138
136
 
139
137
  def request_knowledge(self, requested_plugin_cls: type[K]) -> K:
140
138
  existing = self.get_knowledge(requested_plugin_cls)
@@ -1,4 +1,5 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .functions import FunctionManager, Function
3
4
  from .variables import VariableManager
4
5
  from .debug_variables import DebugVariableManager
@@ -9,7 +10,6 @@ from .labels import Labels
9
10
  from .cfg import CFGManager
10
11
  from .xrefs import XRefManager
11
12
  from .plugin import KnowledgeBasePlugin
12
- from .sync import SyncController
13
13
  from .patches import PatchManager
14
14
  from .key_definitions import KeyDefinitionManager
15
15
  from .propagations import PropagationManager
@@ -17,3 +17,25 @@ from .structured_code import StructuredCodeManager
17
17
  from .types import TypesStore
18
18
  from .callsite_prototypes import CallsitePrototypes
19
19
  from .custom_strings import CustomStrings
20
+
21
+
22
+ __all__ = (
23
+ "FunctionManager",
24
+ "Function",
25
+ "VariableManager",
26
+ "DebugVariableManager",
27
+ "Comments",
28
+ "Data",
29
+ "IndirectJumps",
30
+ "Labels",
31
+ "CFGManager",
32
+ "XRefManager",
33
+ "KnowledgeBasePlugin",
34
+ "PatchManager",
35
+ "KeyDefinitionManager",
36
+ "PropagationManager",
37
+ "StructuredCodeManager",
38
+ "TypesStore",
39
+ "CallsitePrototypes",
40
+ "CustomStrings",
41
+ )
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  from .plugin import KnowledgeBasePlugin
3
- from ..sim_type import SimTypeFunction
4
- from ..calling_conventions import SimCC
3
+ from angr.sim_type import SimTypeFunction
4
+ from angr.calling_conventions import SimCC
5
5
 
6
6
 
7
7
  class CallsitePrototypes(KnowledgeBasePlugin):
@@ -3,7 +3,7 @@ from collections import defaultdict
3
3
 
4
4
  from archinfo.arch_arm import is_arm_arch
5
5
 
6
- from ..plugin import KnowledgeBasePlugin
6
+ from angr.knowledge_plugins.plugin import KnowledgeBasePlugin
7
7
  from .cfg_model import CFGModel
8
8
 
9
9
 
@@ -13,12 +13,12 @@ import networkx
13
13
 
14
14
  import cle
15
15
 
16
- from ...engines.vex.lifter import VEX_IRSB_MAX_SIZE
17
- from ...misc.ux import once
18
- from ...protos import cfg_pb2, primitives_pb2
19
- from ...serializable import Serializable
20
- from ...utils.enums_conv import cfg_jumpkind_to_pb, cfg_jumpkind_from_pb
21
- from ...errors import AngrCFGError
16
+ from angr.engines.vex.lifter import VEX_IRSB_MAX_SIZE
17
+ from angr.misc.ux import once
18
+ from angr.protos import cfg_pb2, primitives_pb2
19
+ from angr.serializable import Serializable
20
+ from angr.utils.enums_conv import cfg_jumpkind_to_pb, cfg_jumpkind_from_pb
21
+ from angr.errors import AngrCFGError
22
22
  from .cfg_node import CFGNode
23
23
  from .memory_data import MemoryData, MemoryDataSort
24
24
  from .indirect_jump import IndirectJump
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ...serializable import Serializable
2
+ from angr.serializable import Serializable
3
3
 
4
4
 
5
5
  class IndirectJumpType:
@@ -1,7 +1,7 @@
1
1
  # pylint:disable=no-member
2
2
  from __future__ import annotations
3
- from ...protos import cfg_pb2
4
- from ...serializable import Serializable
3
+ from angr.protos import cfg_pb2
4
+ from angr.serializable import Serializable
5
5
 
6
6
 
7
7
  class MemoryDataSort:
@@ -31,6 +31,7 @@ _SORT_TO_IDX = {
31
31
  MemoryDataSort.GOTPLTEntry: cfg_pb2.MemoryData.GOTPLTEntry,
32
32
  MemoryDataSort.ELFHeader: cfg_pb2.MemoryData.ELFHeader,
33
33
  MemoryDataSort.FloatingPoint: cfg_pb2.MemoryData.FloatingPoint,
34
+ MemoryDataSort.Alignment: cfg_pb2.MemoryData.Alignment,
34
35
  }
35
36
 
36
37
  _IDX_TO_SORT = {v: k for k, v in _SORT_TO_IDX.items()}
@@ -11,7 +11,7 @@ from cle.backends.elf.elf import ELF
11
11
  from .plugin import KnowledgeBasePlugin
12
12
 
13
13
  if TYPE_CHECKING:
14
- from ..knowledge_base import KnowledgeBase
14
+ from angr.knowledge_base import KnowledgeBase
15
15
 
16
16
  l = logging.getLogger(name=__name__)
17
17
 
@@ -150,7 +150,7 @@ class DebugVariableManager(KnowledgeBasePlugin):
150
150
  return self._dvar_containers[var_name]
151
151
 
152
152
  def __getitem__(self, var_name):
153
- assert type(var_name) == str
153
+ assert isinstance(var_name, str)
154
154
  return self.from_name(var_name)
155
155
 
156
156
  def add_variable(self, cle_var: Variable, low_pc: int, high_pc: int):
@@ -1,3 +1,9 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .function import Function
3
4
  from .function_manager import FunctionManager
5
+
6
+ __all__ = (
7
+ "Function",
8
+ "FunctionManager",
9
+ )
@@ -15,21 +15,21 @@ import claripy
15
15
  from angr.block import Block
16
16
  from angr.knowledge_plugins.cfg.memory_data import MemoryDataSort
17
17
 
18
- from ...codenode import CodeNode, BlockNode, HookNode, SyscallNode
19
- from ...serializable import Serializable
20
- from ...errors import AngrValueError, SimEngineError, SimMemoryError
21
- from ...procedures import SIM_LIBRARIES
22
- from ...procedures.definitions import SimSyscallLibrary
23
- from ...protos import function_pb2
24
- from ...calling_conventions import DEFAULT_CC, default_cc
25
- from ...misc.ux import deprecated
18
+ from angr.codenode import CodeNode, BlockNode, HookNode, SyscallNode
19
+ from angr.serializable import Serializable
20
+ from angr.errors import AngrValueError, SimEngineError, SimMemoryError
21
+ from angr.procedures import SIM_LIBRARIES
22
+ from angr.procedures.definitions import SimSyscallLibrary
23
+ from angr.protos import function_pb2
24
+ from angr.calling_conventions import DEFAULT_CC, default_cc
25
+ from angr.misc.ux import deprecated
26
26
  from .function_parser import FunctionParser
27
27
 
28
28
  l = logging.getLogger(name=__name__)
29
29
 
30
- from ...sim_type import SimTypeFunction, parse_defns
31
- from ...calling_conventions import SimCC
32
- from ...project import Project
30
+ from angr.sim_type import SimTypeFunction, parse_defns
31
+ from angr.calling_conventions import SimCC
32
+ from angr.project import Project
33
33
  import contextlib
34
34
 
35
35
 
@@ -1398,7 +1398,7 @@ class Function(Serializable):
1398
1398
  original_successors = list(graph.out_edges([n], data=True))
1399
1399
 
1400
1400
  for _, d, data in original_successors:
1401
- ins_addr = data.get("ins_addr", data.get("pseudo_ins_addr", None))
1401
+ ins_addr = data.get("ins_addr", None)
1402
1402
  if ins_addr is not None and ins_addr < d.addr:
1403
1403
  continue
1404
1404
  if d not in graph[smallest_node]:
@@ -1432,15 +1432,20 @@ class Function(Serializable):
1432
1432
  new_successors = [i for i in all_nodes if i.addr == smallest_node.addr]
1433
1433
  if new_successors:
1434
1434
  new_successor = new_successors[0]
1435
+ new_ins_addrs = self.project.factory.block(new_node.addr, size=new_node.size).instruction_addrs
1436
+ if self.project.arch.branch_delay_slot and len(new_ins_addrs) >= 2:
1437
+ new_ins_addr = new_ins_addrs[-2]
1438
+ elif len(new_ins_addrs) >= 1:
1439
+ new_ins_addr = new_ins_addrs[-1]
1440
+ else:
1441
+ # the new node is somehow not decode-able
1442
+ new_ins_addr = new_node.addr + new_node.size - 1
1435
1443
  graph.add_edge(
1436
1444
  new_node,
1437
1445
  new_successor,
1438
1446
  type="transition",
1439
1447
  outside=is_outside_node,
1440
- # it's named "pseudo_ins_addr" because we have no way to know what the actual last
1441
- # instruction is at this moment (without re-lifting the block, which would be a
1442
- # waste of time).
1443
- pseudo_ins_addr=new_node.addr + new_node.size - 1,
1448
+ ins_addr=new_ins_addr,
1444
1449
  )
1445
1450
  else:
1446
1451
  # We gotta create a new one
@@ -12,8 +12,8 @@ import networkx
12
12
 
13
13
  from archinfo.arch_soot import SootMethodDescriptor
14
14
 
15
- from ...errors import SimEngineError
16
- from ..plugin import KnowledgeBasePlugin
15
+ from angr.errors import SimEngineError
16
+ from angr.knowledge_plugins.plugin import KnowledgeBasePlugin
17
17
  from .function import Function
18
18
  from .soot_function import SootFunction
19
19
 
@@ -5,9 +5,9 @@ import pickle
5
5
 
6
6
  from collections import defaultdict
7
7
 
8
- from ...codenode import BlockNode, HookNode
9
- from ...utils.enums_conv import func_edge_type_to_pb, func_edge_type_from_pb
10
- from ...protos import primitives_pb2, function_pb2
8
+ from angr.codenode import BlockNode, HookNode
9
+ from angr.utils.enums_conv import func_edge_type_to_pb, func_edge_type_from_pb
10
+ from angr.protos import primitives_pb2, function_pb2
11
11
 
12
12
  l = logging.getLogger(name=__name__)
13
13
 
@@ -126,5 +126,5 @@ class SootFunction(Function):
126
126
  self._addr_to_block_node[node.addr] = node
127
127
 
128
128
 
129
- from ...codenode import BlockNode
130
- from ...errors import AngrValueError
129
+ from angr.codenode import BlockNode
130
+ from angr.errors import AngrValueError
@@ -5,8 +5,8 @@ import claripy
5
5
  import ailment
6
6
  from archinfo import Arch, RegisterOffset
7
7
 
8
- from ...calling_conventions import SimFunctionArgument, SimRegArg, SimStackArg
9
- from ...engines.light import SpOffset
8
+ from angr.calling_conventions import SimFunctionArgument, SimRegArg, SimStackArg
9
+ from angr.engines.light import SpOffset
10
10
  from .heap_address import HeapAddress
11
11
 
12
12
 
@@ -10,11 +10,11 @@ from angr.sim_variable import SimStackVariable
10
10
  from angr.sim_variable import SimRegisterVariable
11
11
  from angr.misc.ux import once
12
12
 
13
- from ...engines.light import SpOffset
14
- from ...code_location import CodeLocation, ExternalCodeLocation
13
+ from angr.engines.light import SpOffset
14
+ from angr.code_location import CodeLocation, ExternalCodeLocation
15
15
  from .atoms import Atom, MemoryLocation, Register, Tmp, AtomKind, atom_kind_mapping, VirtualVariable
16
16
  from .tag import Tag
17
- from ...sim_variable import SimVariable
17
+ from angr.sim_variable import SimVariable
18
18
 
19
19
  log = logging.getLogger(__name__)
20
20
 
@@ -2,12 +2,12 @@ from __future__ import annotations
2
2
  from typing import TYPE_CHECKING
3
3
  from collections.abc import Iterable
4
4
 
5
- from .. import KnowledgeBasePlugin
5
+ from angr.knowledge_plugins import KnowledgeBasePlugin
6
6
  from .rd_model import ReachingDefinitionsModel
7
7
  from .constants import OP_BEFORE, OP_AFTER
8
8
 
9
9
  if TYPE_CHECKING:
10
- from ...knowledge_base import KnowledgeBase
10
+ from angr.knowledge_base import KnowledgeBase
11
11
 
12
12
 
13
13
  class RDAObserverControl:
@@ -2,8 +2,8 @@
2
2
  from __future__ import annotations
3
3
  from typing import Any, TYPE_CHECKING
4
4
 
5
- from ...utils.cowdict import DefaultChainMapCOW
6
- from ...code_location import CodeLocation
5
+ from angr.utils.cowdict import DefaultChainMapCOW
6
+ from angr.code_location import CodeLocation
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from .definition import Definition
@@ -1,3 +1,10 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .propagation_model import PropagationModel
3
4
  from .propagation_manager import PropagationManager
5
+
6
+
7
+ __all__ = (
8
+ "PropagationModel",
9
+ "PropagationManager",
10
+ )
@@ -6,7 +6,7 @@ import claripy
6
6
  import ailment
7
7
 
8
8
  if TYPE_CHECKING:
9
- from ...code_location import CodeLocation
9
+ from angr.code_location import CodeLocation
10
10
 
11
11
 
12
12
  class Detail:
@@ -1,8 +1,9 @@
1
1
  # pylint:disable=import-outside-toplevel
2
2
  from __future__ import annotations
3
+
3
4
  from typing import Any, TYPE_CHECKING
4
5
 
5
- from .. import KnowledgeBasePlugin
6
+ from .plugin import KnowledgeBasePlugin
6
7
 
7
8
  if TYPE_CHECKING:
8
9
  from angr.analyses.decompiler.structured_codegen import BaseStructuredCodeGenerator
@@ -10,6 +11,8 @@ if TYPE_CHECKING:
10
11
 
11
12
 
12
13
  class StructuredCodeManager(KnowledgeBasePlugin):
14
+ """A knowledge base plugin to store structured code generator results."""
15
+
13
16
  def __init__(self, kb):
14
17
  super().__init__(kb=kb)
15
18
  self.cached: dict[Any, DecompilationCache] = {}
@@ -25,8 +28,8 @@ class StructuredCodeManager(KnowledgeBasePlugin):
25
28
  return self.cached[self._normalize_key(item)]
26
29
 
27
30
  def __setitem__(self, key, value: DecompilationCache | BaseStructuredCodeGenerator):
28
- from ...analyses.decompiler.structured_codegen import BaseStructuredCodeGenerator
29
- from ...analyses.decompiler.decompilation_cache import DecompilationCache
31
+ from angr.analyses.decompiler.structured_codegen import BaseStructuredCodeGenerator
32
+ from angr.analyses.decompiler.decompilation_cache import DecompilationCache
30
33
 
31
34
  nkey = self._normalize_key(key)
32
35
 
@@ -3,7 +3,7 @@ import random
3
3
  from collections import UserDict
4
4
 
5
5
  from .plugin import KnowledgeBasePlugin
6
- from ..sim_type import ALL_TYPES, TypeRef
6
+ from angr.sim_type import ALL_TYPES, TypeRef
7
7
 
8
8
 
9
9
  FRUITS = [
@@ -1,2 +1,8 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .variable_manager import VariableManager, VariableType
4
+
5
+ __all__ = (
6
+ "VariableManager",
7
+ "VariableType",
8
+ )
@@ -2,9 +2,9 @@
2
2
  from __future__ import annotations
3
3
  from typing import TYPE_CHECKING
4
4
 
5
- from ...code_location import CodeLocation
6
- from ...serializable import Serializable
7
- from ...protos import variables_pb2
5
+ from angr.code_location import CodeLocation
6
+ from angr.serializable import Serializable
7
+ from angr.protos import variables_pb2
8
8
 
9
9
  if TYPE_CHECKING:
10
10
  from angr.sim_variable import SimVariable
@@ -12,10 +12,10 @@ from cle.backends.elf.variable import Variable
12
12
 
13
13
  from angr.utils.orderedset import OrderedSet
14
14
  from angr.utils.ail import is_phi_assignment
15
- from ...protos import variables_pb2
16
- from ...serializable import Serializable
17
- from ...sim_variable import SimVariable, SimStackVariable, SimMemoryVariable, SimRegisterVariable
18
- from ...sim_type import (
15
+ from angr.protos import variables_pb2
16
+ from angr.serializable import Serializable
17
+ from angr.sim_variable import SimVariable, SimStackVariable, SimMemoryVariable, SimRegisterVariable
18
+ from angr.sim_type import (
19
19
  TypeRef,
20
20
  SimType,
21
21
  SimStruct,
@@ -26,9 +26,9 @@ from ...sim_type import (
26
26
  SimTypeInt,
27
27
  SimTypeLong,
28
28
  )
29
- from ...keyed_region import KeyedRegion
30
- from ..plugin import KnowledgeBasePlugin
31
- from ..types import TypesStore
29
+ from angr.keyed_region import KeyedRegion
30
+ from angr.knowledge_plugins.plugin import KnowledgeBasePlugin
31
+ from angr.knowledge_plugins.types import TypesStore
32
32
  from .variable_access import VariableAccess, VariableAccessSort
33
33
 
34
34
  if TYPE_CHECKING:
@@ -1,4 +1,12 @@
1
1
  from __future__ import annotations
2
- from .xref_types import XRefType
2
+
3
3
  from .xref import XRef
4
4
  from .xref_manager import XRefManager
5
+ from .xref_types import XRefType
6
+
7
+
8
+ __all__ = (
9
+ "XRef",
10
+ "XRefManager",
11
+ "XRefType",
12
+ )
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
- from ...serializable import Serializable
3
- from ...protos import primitives_pb2
2
+ from angr.serializable import Serializable
3
+ from angr.protos import primitives_pb2
4
4
  from .xref_types import XRefType
5
5
 
6
6
 
@@ -83,7 +83,7 @@ class XRef(Serializable):
83
83
  # pylint:disable=no-member
84
84
 
85
85
  # delayed import
86
- from ...engines.light import SpOffset # pylint:disable=import-outside-toplevel
86
+ from angr.engines.light import SpOffset # pylint:disable=import-outside-toplevel
87
87
 
88
88
  cmsg = self._get_cmsg()
89
89
  if self.memory_data is not None:
@@ -119,7 +119,7 @@ class XRef(Serializable):
119
119
  # Note that we cannot recover _memory_data from cmsg
120
120
 
121
121
  # delayed import
122
- from ...engines.light import SpOffset # pylint:disable=import-outside-toplevel
122
+ from angr.engines.light import SpOffset # pylint:disable=import-outside-toplevel
123
123
 
124
124
  if not isinstance(bits, int):
125
125
  raise TypeError("bits must be provided.")
@@ -150,4 +150,4 @@ class XRef(Serializable):
150
150
  )
151
151
 
152
152
 
153
- from ..cfg.memory_data import MemoryDataSort
153
+ from angr.knowledge_plugins.cfg.memory_data import MemoryDataSort
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
  import logging
3
3
  from collections import defaultdict
4
4
 
5
- from ...serializable import Serializable
6
- from ...protos import xrefs_pb2
7
- from ..plugin import KnowledgeBasePlugin
5
+ from angr.serializable import Serializable
6
+ from angr.protos import xrefs_pb2
7
+ from angr.knowledge_plugins.plugin import KnowledgeBasePlugin
8
8
  from .xref import XRef, XRefType
9
9
 
10
10
 
Binary file
angr/misc/__init__.py CHANGED
@@ -1,9 +1,19 @@
1
1
  from __future__ import annotations
2
+
2
3
  from . import ux
3
4
  from . import autoimport
4
- from . import weakpatch
5
5
  from .loggers import Loggers
6
- from .range import IRange
7
6
  from .plugins import PluginHub, PluginPreset
8
7
  from .hookset import HookSet
9
8
  from .picklable_lock import PicklableLock
9
+
10
+
11
+ __all__ = (
12
+ "ux",
13
+ "autoimport",
14
+ "Loggers",
15
+ "PluginHub",
16
+ "PluginPreset",
17
+ "HookSet",
18
+ "PicklableLock",
19
+ )
angr/misc/loggers.py CHANGED
@@ -6,7 +6,7 @@ import zlib
6
6
  from .ansi import Color, BackgroundColor, color, clear
7
7
 
8
8
  from .testing import is_testing
9
- from ..utils.formatting import ansi_color_enabled
9
+ from angr.utils.formatting import ansi_color_enabled
10
10
 
11
11
 
12
12
  class Loggers:
@@ -118,7 +118,7 @@ class CuteFormatter(logging.Formatter):
118
118
 
119
119
  def is_enabled_for(logger, level):
120
120
  if level == 1:
121
- from .. import loggers
121
+ from angr import loggers
122
122
 
123
123
  return loggers.profiling_enabled
124
124
  return originalIsEnabledFor(logger, level)
@@ -1,3 +1,12 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .procedure_dict import SIM_PROCEDURES, SimProcedures
3
4
  from .definitions import SIM_LIBRARIES, SIM_TYPE_COLLECTIONS
5
+
6
+
7
+ __all__ = (
8
+ "SIM_PROCEDURES",
9
+ "SIM_LIBRARIES",
10
+ "SIM_TYPE_COLLECTIONS",
11
+ "SimProcedures",
12
+ )
@@ -5,8 +5,8 @@ import claripy
5
5
 
6
6
  import angr
7
7
 
8
- from ... import sim_options as o
9
- from ...state_plugins.sim_action import SimActionData
8
+ from angr import sim_options as o
9
+ from angr.state_plugins.sim_action import SimActionData
10
10
 
11
11
  fastpath_data_counter = count()
12
12
 
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import claripy
3
3
 
4
4
  import angr
5
- from ... import sim_options as o
5
+ from angr import sim_options as o
6
6
 
7
7
 
8
8
  class transmit(angr.SimProcedure):
@@ -11,14 +11,14 @@ import itanium_demangler
11
11
 
12
12
  import archinfo
13
13
 
14
- from ...errors import AngrMissingTypeError
15
- from ...sim_type import parse_cpp_file, SimTypeFunction, SimTypeBottom
16
- from ...calling_conventions import DEFAULT_CC
17
- from ...misc import autoimport
18
- from ...misc.ux import once
19
- from ...sim_type import parse_file
20
- from ..stubs.ReturnUnconstrained import ReturnUnconstrained
21
- from ..stubs.syscall_stub import syscall as stub_syscall
14
+ from angr.errors import AngrMissingTypeError
15
+ from angr.sim_type import parse_cpp_file, SimTypeFunction, SimTypeBottom
16
+ from angr.calling_conventions import DEFAULT_CC
17
+ from angr.misc import autoimport
18
+ from angr.misc.ux import once
19
+ from angr.sim_type import parse_file
20
+ from angr.procedures.stubs.ReturnUnconstrained import ReturnUnconstrained
21
+ from angr.procedures.stubs.syscall_stub import syscall as stub_syscall
22
22
 
23
23
  if TYPE_CHECKING:
24
24
  from angr.calling_conventions import SimCCSyscall
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
  from . import SimSyscallLibrary
3
- from .. import SIM_PROCEDURES as P
3
+ from angr.procedures import SIM_PROCEDURES as P
4
4
 
5
5
  lib = SimSyscallLibrary()
6
6
  lib.set_library_names('cgcabi')
@@ -2,21 +2,8 @@
2
2
  from __future__ import annotations
3
3
  import logging
4
4
 
5
- from ...sim_type import (
6
- SimTypeFunction,
7
- SimTypeShort,
8
- SimTypeInt,
9
- SimTypeLong,
10
- SimTypeLongLong,
11
- SimTypeDouble,
12
- SimTypeFloat,
13
- SimTypePointer,
14
- SimTypeChar,
15
- SimTypeFixedSizeArray,
16
- SimTypeBottom,
17
- ALL_TYPES,
18
- )
19
- from .. import SIM_PROCEDURES as P
5
+ from angr.sim_type import SimTypeFunction, SimTypeShort, SimTypeInt, SimTypeLong, SimTypeLongLong, SimTypeDouble, SimTypeFloat, SimTypePointer, SimTypeChar, SimTypeFixedSizeArray, SimTypeBottom, ALL_TYPES
6
+ from angr.procedures import SIM_PROCEDURES as P
20
7
  from . import SimLibrary
21
8
 
22
9