angr 9.2.119__py3-none-manylinux2014_aarch64.whl → 9.2.121__py3-none-manylinux2014_aarch64.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.so +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
@@ -14,15 +14,15 @@ from archinfo import ArchARM
14
14
  from angr.analyses import ForwardAnalysis
15
15
  from angr.utils.graph import GraphUtils
16
16
  from angr.analyses import AnalysesHub
17
- from ... import BP, BP_BEFORE, BP_AFTER, SIM_PROCEDURES, procedures
18
- from ... import options as o
19
- from ...codenode import BlockNode
20
- from ...engines.procedure import ProcedureEngine
21
- from ...exploration_techniques.loop_seer import LoopSeer
22
- from ...exploration_techniques.slicecutor import Slicecutor
23
- from ...exploration_techniques.explorer import Explorer
24
- from ...exploration_techniques.lengthlimiter import LengthLimiter
25
- from ...errors import (
17
+ from angr import BP, BP_BEFORE, BP_AFTER, SIM_PROCEDURES, procedures
18
+ from angr import options as o
19
+ from angr.codenode import BlockNode
20
+ from angr.engines.procedure import ProcedureEngine
21
+ from angr.exploration_techniques.loop_seer import LoopSeer
22
+ from angr.exploration_techniques.slicecutor import Slicecutor
23
+ from angr.exploration_techniques.explorer import Explorer
24
+ from angr.exploration_techniques.lengthlimiter import LengthLimiter
25
+ from angr.errors import (
26
26
  AngrCFGError,
27
27
  AngrError,
28
28
  AngrSkipJobNotice,
@@ -34,15 +34,15 @@ from ...errors import (
34
34
  AngrExitError,
35
35
  SimEmptyCallStackError,
36
36
  )
37
- from ...sim_state import SimState
38
- from ...state_plugins.callstack import CallStack
39
- from ...state_plugins.sim_action import SimActionData
40
- from ...knowledge_plugins.cfg import CFGENode, IndirectJump
41
- from ...utils.constants import DEFAULT_STATEMENT
42
- from ..cdg import CDG
43
- from ..ddg import DDG
44
- from ..backward_slice import BackwardSlice
45
- from ..loopfinder import LoopFinder, Loop
37
+ from angr.sim_state import SimState
38
+ from angr.state_plugins.callstack import CallStack
39
+ from angr.state_plugins.sim_action import SimActionData
40
+ from angr.knowledge_plugins.cfg import CFGENode, IndirectJump
41
+ from angr.utils.constants import DEFAULT_STATEMENT
42
+ from angr.analyses.cdg import CDG
43
+ from angr.analyses.ddg import DDG
44
+ from angr.analyses.backward_slice import BackwardSlice
45
+ from angr.analyses.loopfinder import LoopFinder, Loop
46
46
  from .cfg_base import CFGBase
47
47
  from .cfg_job_base import BlockID, CFGJobBase
48
48
  import contextlib
@@ -3450,7 +3450,7 @@ class CFGFast(ForwardAnalysis[CFGNode, CFGNode, CFGJob, int], CFGBase): # pylin
3450
3450
 
3451
3451
  # next case - if b is directly from function prologue detection, or a basic block that is a successor of
3452
3452
  # a wrongly identified basic block, we might be totally misdecoding b
3453
- if b.instruction_addrs[0] not in a.instruction_addrs and b in self.graph:
3453
+ if (not b.instruction_addrs or b.instruction_addrs[0] not in a.instruction_addrs) and b in self.graph:
3454
3454
  # use a, truncate b
3455
3455
 
3456
3456
  new_b_addr = a.addr + a.size # b starts right after a terminates
@@ -4131,7 +4131,8 @@ class CFGFast(ForwardAnalysis[CFGNode, CFGNode, CFGJob, int], CFGBase): # pylin
4131
4131
  if self.project.arch.name in {"MIPS64", "MIPS32"} or is_arm_arch(self.project.arch):
4132
4132
  self._ro_region_cdata_cache = []
4133
4133
  for segment in self.project.loader.main_object.segments:
4134
- if segment.is_readable and not segment.is_writable:
4134
+ if segment.is_readable and segment.memsize >= 8:
4135
+ # the gp area is sometimes writable, so we can't test for (not segment.is_writable)
4135
4136
  content = self.project.loader.memory.load(segment.vaddr, segment.memsize)
4136
4137
  content_buf = pyvex.ffi.from_buffer(content)
4137
4138
  self._ro_region_cdata_cache.append(content_buf)
@@ -8,11 +8,11 @@ from copy import copy
8
8
 
9
9
  from archinfo.arch_soot import SootMethodDescriptor, SootAddressDescriptor
10
10
 
11
- from ...utils.constants import DEFAULT_STATEMENT
12
- from ...errors import AngrCFGError, SimMemoryError, SimEngineError
13
- from ...codenode import HookNode, SootBlockNode
14
- from ...knowledge_plugins.cfg import CFGNode
15
- from .. import register_analysis
11
+ from angr.utils.constants import DEFAULT_STATEMENT
12
+ from angr.errors import AngrCFGError, SimMemoryError, SimEngineError
13
+ from angr.codenode import HookNode, SootBlockNode
14
+ from angr.knowledge_plugins.cfg import CFGNode
15
+ from angr.analyses import register_analysis
16
16
  from .cfg_fast import CFGFast, CFGJob, PendingJobs, FunctionTransitionEdge
17
17
 
18
18
  l = logging.getLogger(name=__name__)
@@ -4,11 +4,11 @@ from typing import TYPE_CHECKING
4
4
 
5
5
  from archinfo.arch_soot import SootAddressDescriptor
6
6
 
7
- from ...errors import SimValueError, SimSolverModeError
8
- from ...state_plugins.callstack import CallStack
7
+ from angr.errors import SimValueError, SimSolverModeError
8
+ from angr.state_plugins.callstack import CallStack
9
9
 
10
10
  if TYPE_CHECKING:
11
- from ...sim_state import SimState
11
+ from angr.sim_state import SimState
12
12
  l = logging.getLogger(name=__name__)
13
13
 
14
14
  # TODO: Make callsite an object and use it in BlockID and FunctionKey
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .mips_elf_fast import MipsElfFastResolver
4
+ from .mips_elf_got import MipsElfGotResolver
3
5
  from .x86_elf_pic_plt import X86ElfPicPltResolver
4
6
  from .jumptable import JumpTableResolver
5
7
  from .x86_pe_iat import X86PeIatResolver
@@ -7,3 +9,16 @@ from .amd64_elf_got import AMD64ElfGotResolver
7
9
  from .arm_elf_fast import ArmElfFastResolver
8
10
  from .const_resolver import ConstantResolver
9
11
  from .amd64_pe_iat import AMD64PeIatResolver
12
+
13
+
14
+ __all__ = (
15
+ "MipsElfFastResolver",
16
+ "MipsElfGotResolver",
17
+ "X86ElfPicPltResolver",
18
+ "JumpTableResolver",
19
+ "X86PeIatResolver",
20
+ "AMD64ElfGotResolver",
21
+ "ArmElfFastResolver",
22
+ "ConstantResolver",
23
+ "AMD64PeIatResolver",
24
+ )
@@ -3,7 +3,7 @@ import logging
3
3
 
4
4
  from capstone.x86_const import X86_OP_MEM, X86_REG_RIP
5
5
 
6
- from ....simos import SimWindows
6
+ from angr.simos import SimWindows
7
7
  from .resolver import IndirectJumpResolver
8
8
 
9
9
  l = logging.getLogger(name=__name__)
@@ -4,8 +4,8 @@ import logging
4
4
  import archinfo
5
5
  import pyvex
6
6
 
7
- from ....blade import Blade
8
- from ....utils.constants import DEFAULT_STATEMENT
7
+ from angr.blade import Blade
8
+ from angr.utils.constants import DEFAULT_STATEMENT
9
9
  from .resolver import IndirectJumpResolver
10
10
 
11
11
  _l = logging.getLogger(name=__name__)
@@ -5,10 +5,10 @@ import logging
5
5
  import claripy
6
6
  import pyvex
7
7
 
8
- from ....utils.constants import DEFAULT_STATEMENT
9
- from ....code_location import CodeLocation
10
- from ....blade import Blade
11
- from ...propagator import vex_vars
8
+ from angr.utils.constants import DEFAULT_STATEMENT
9
+ from angr.code_location import CodeLocation
10
+ from angr.blade import Blade
11
+ from angr.analyses.propagator import vex_vars
12
12
  from .resolver import IndirectJumpResolver
13
13
  from .propagator_utils import PropagatorLoadCallback
14
14
 
@@ -9,6 +9,7 @@ from . import AMD64ElfGotResolver
9
9
  from . import ConstantResolver
10
10
  from . import ArmElfFastResolver
11
11
  from . import AMD64PeIatResolver
12
+ from . import MipsElfGotResolver
12
13
 
13
14
  DEFAULT_RESOLVERS = {
14
15
  "X86": {
@@ -29,6 +30,7 @@ DEFAULT_RESOLVERS = {
29
30
  },
30
31
  "MIPS32": {
31
32
  cle.MetaELF: [
33
+ MipsElfGotResolver,
32
34
  MipsElfFastResolver,
33
35
  ],
34
36
  },
@@ -11,27 +11,27 @@ import pyvex
11
11
  import claripy
12
12
  from archinfo.arch_arm import is_arm_arch
13
13
 
14
- from .... import sim_options as o
15
- from .... import BP, BP_BEFORE, BP_AFTER
16
- from ....misc.ux import once
17
- from ....code_location import CodeLocation
18
- from ....concretization_strategies import SimConcretizationStrategyAny
19
- from ....knowledge_plugins.cfg import IndirectJump, IndirectJumpType
20
- from ....engines.vex.claripy import ccall
21
- from ....engines.light import SimEngineLightVEXMixin, SimEngineLight, SpOffset, RegisterOffset
22
- from ....errors import AngrError, SimError
23
- from ....blade import Blade
24
- from ....annocfg import AnnotatedCFG
25
- from ....exploration_techniques.slicecutor import Slicecutor
26
- from ....exploration_techniques.local_loop_seer import LocalLoopSeer
27
- from ....exploration_techniques.explorer import Explorer
28
- from ....utils.constants import DEFAULT_STATEMENT
29
- from ...propagator.vex_vars import VEXReg
14
+ from angr import sim_options as o
15
+ from angr import BP, BP_BEFORE, BP_AFTER
16
+ from angr.misc.ux import once
17
+ from angr.code_location import CodeLocation
18
+ from angr.concretization_strategies import SimConcretizationStrategyAny
19
+ from angr.knowledge_plugins.cfg import IndirectJump, IndirectJumpType
20
+ from angr.engines.vex.claripy import ccall
21
+ from angr.engines.light import SimEngineLightVEXMixin, SimEngineLight, SpOffset, RegisterOffset
22
+ from angr.errors import AngrError, SimError
23
+ from angr.blade import Blade
24
+ from angr.annocfg import AnnotatedCFG
25
+ from angr.exploration_techniques.slicecutor import Slicecutor
26
+ from angr.exploration_techniques.local_loop_seer import LocalLoopSeer
27
+ from angr.exploration_techniques.explorer import Explorer
28
+ from angr.utils.constants import DEFAULT_STATEMENT
29
+ from angr.analyses.propagator.vex_vars import VEXReg
30
30
  from .resolver import IndirectJumpResolver
31
31
  from .propagator_utils import PropagatorLoadCallback
32
32
 
33
33
  try:
34
- from ....engines import pcode
34
+ from angr.engines import pcode
35
35
  except ImportError:
36
36
  pcode = None
37
37
 
@@ -1723,18 +1723,25 @@ class JumpTableResolver(IndirectJumpResolver):
1723
1723
  all_targets = []
1724
1724
  jump_table = []
1725
1725
 
1726
- jumptable_si = claripy.SI(bits=project.arch.bits, to_conv=jumptable_addr)
1726
+ if jumptable_addr.op == "BVV":
1727
+ stride = 0
1728
+ else:
1729
+ try:
1730
+ jumptable_si = claripy.backends.vsa.simplify(jumptable_addr)
1731
+ si_annotation = jumptable_si.get_annotation(claripy.annotation.StridedIntervalAnnotation)
1732
+ stride = si_annotation.stride if si_annotation is not None else 0
1733
+ except claripy.errors.BackendError:
1734
+ return None
1727
1735
 
1728
1736
  # we may resolve a vtable (in C, e.g., the IO_JUMPS_FUNC in libc), but the stride of this load is usually 1
1729
1737
  # while the read statement reads a word size at a time.
1730
1738
  # we use this to differentiate between traditional jump tables (where each entry is some blocks that belong to
1731
1739
  # the current function) and vtables (where each entry is a function).
1732
- if jumptable_si.args[3] < load_size: # stride < load_size
1740
+ if stride < load_size:
1733
1741
  stride = load_size
1734
1742
  total_cases = jumptable_addr.cardinality // load_size
1735
1743
  sort = "vtable" # it's probably a vtable!
1736
1744
  else:
1737
- stride = jumptable_si.args[3]
1738
1745
  total_cases = jumptable_addr.cardinality
1739
1746
  sort = "jumptable"
1740
1747