contrast-agent 3.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.clang-format +5 -0
- data/.dockerignore +10 -0
- data/.gitignore +58 -0
- data/.gitmodules +6 -0
- data/.rspec +6 -0
- data/.simplecov +4 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +12 -0
- data/Rakefile +15 -0
- data/exe/contrast_service +29 -0
- data/ext/build_funchook.rb +48 -0
- data/ext/cs__assess_active_record_named/cs__active_record_named.c +47 -0
- data/ext/cs__assess_active_record_named/cs__active_record_named.h +10 -0
- data/ext/cs__assess_active_record_named/extconf.rb +2 -0
- data/ext/cs__assess_array/cs__assess_array.c +38 -0
- data/ext/cs__assess_array/cs__assess_array.h +9 -0
- data/ext/cs__assess_array/extconf.rb +2 -0
- data/ext/cs__assess_basic_object/cs__assess_basic_object.c +50 -0
- data/ext/cs__assess_basic_object/cs__assess_basic_object.h +17 -0
- data/ext/cs__assess_basic_object/extconf.rb +2 -0
- data/ext/cs__assess_fiber_track/cs__assess_fiber_track.c +86 -0
- data/ext/cs__assess_fiber_track/cs__assess_fiber_track.h +34 -0
- data/ext/cs__assess_fiber_track/extconf.rb +2 -0
- data/ext/cs__assess_hash/cs__assess_hash.c +64 -0
- data/ext/cs__assess_hash/cs__assess_hash.h +24 -0
- data/ext/cs__assess_hash/extconf.rb +2 -0
- data/ext/cs__assess_kernel/cs__assess_kernel.c +36 -0
- data/ext/cs__assess_kernel/cs__assess_kernel.h +10 -0
- data/ext/cs__assess_kernel/extconf.rb +2 -0
- data/ext/cs__assess_marshal_module/cs__assess_marshal_module.c +47 -0
- data/ext/cs__assess_marshal_module/cs__assess_marshal_module.h +18 -0
- data/ext/cs__assess_marshal_module/extconf.rb +2 -0
- data/ext/cs__assess_module/cs__assess_module.c +78 -0
- data/ext/cs__assess_module/cs__assess_module.h +25 -0
- data/ext/cs__assess_module/extconf.rb +2 -0
- data/ext/cs__assess_regexp/cs__assess_regexp.c +48 -0
- data/ext/cs__assess_regexp/cs__assess_regexp.h +22 -0
- data/ext/cs__assess_regexp/extconf.rb +2 -0
- data/ext/cs__assess_regexp_track/cs__assess_regexp_track.c +63 -0
- data/ext/cs__assess_regexp_track/cs__assess_regexp_track.h +29 -0
- data/ext/cs__assess_regexp_track/extconf.rb +2 -0
- data/ext/cs__assess_string/cs__assess_string.c +38 -0
- data/ext/cs__assess_string/cs__assess_string.h +19 -0
- data/ext/cs__assess_string/extconf.rb +2 -0
- data/ext/cs__assess_string_interpolation26/cs__assess_string_interpolation26.c +31 -0
- data/ext/cs__assess_string_interpolation26/cs__assess_string_interpolation26.h +13 -0
- data/ext/cs__assess_string_interpolation26/extconf.rb +2 -0
- data/ext/cs__common/cs__common.c +60 -0
- data/ext/cs__common/cs__common.h +28 -0
- data/ext/cs__common/extconf.rb +20 -0
- data/ext/cs__contrast_patch/cs__contrast_patch.c +445 -0
- data/ext/cs__contrast_patch/cs__contrast_patch.h +196 -0
- data/ext/cs__contrast_patch/extconf.rb +2 -0
- data/ext/cs__protect_kernel/cs__protect_kernel.c +37 -0
- data/ext/cs__protect_kernel/cs__protect_kernel.h +11 -0
- data/ext/cs__protect_kernel/extconf.rb +2 -0
- data/ext/cs__scope/cs__scope.c +96 -0
- data/ext/cs__scope/cs__scope.h +33 -0
- data/ext/cs__scope/extconf.rb +2 -0
- data/ext/extconf_common.rb +49 -0
- data/funchook/LICENSE +360 -0
- data/funchook/Makefile +29 -0
- data/funchook/Makefile.in +29 -0
- data/funchook/README.md +121 -0
- data/funchook/appveyor.yml +42 -0
- data/funchook/autogen.sh +3 -0
- data/funchook/autom4te.cache/output.0 +4976 -0
- data/funchook/autom4te.cache/requests +78 -0
- data/funchook/autom4te.cache/traces.0 +364 -0
- data/funchook/config.guess +1530 -0
- data/funchook/config.log +490 -0
- data/funchook/config.status +1016 -0
- data/funchook/config.sub +1773 -0
- data/funchook/configure +4976 -0
- data/funchook/configure.ac +59 -0
- data/funchook/distorm/COPYING +26 -0
- data/funchook/distorm/MANIFEST +25 -0
- data/funchook/distorm/MANIFEST.in +4 -0
- data/funchook/distorm/README.md +12 -0
- data/funchook/distorm/disOps/disOps.py +795 -0
- data/funchook/distorm/disOps/x86db.py +404 -0
- data/funchook/distorm/disOps/x86header.py +247 -0
- data/funchook/distorm/disOps/x86sets.py +1664 -0
- data/funchook/distorm/examples/cs/TestdiStorm/Program.cs +79 -0
- data/funchook/distorm/examples/cs/TestdiStorm/Properties/AssemblyInfo.cs +36 -0
- data/funchook/distorm/examples/cs/TestdiStorm/TestdiStorm.csproj +69 -0
- data/funchook/distorm/examples/cs/distorm-net.sln +26 -0
- data/funchook/distorm/examples/cs/distorm-net/CodeInfo.cs +23 -0
- data/funchook/distorm/examples/cs/distorm-net/DecodedInst.cs +15 -0
- data/funchook/distorm/examples/cs/distorm-net/DecodedResult.cs +14 -0
- data/funchook/distorm/examples/cs/distorm-net/DecomposedInst.cs +36 -0
- data/funchook/distorm/examples/cs/distorm-net/DecomposedResult.cs +14 -0
- data/funchook/distorm/examples/cs/distorm-net/Opcodes.cs +1268 -0
- data/funchook/distorm/examples/cs/distorm-net/Opcodes.tt +37 -0
- data/funchook/distorm/examples/cs/distorm-net/Operand.cs +25 -0
- data/funchook/distorm/examples/cs/distorm-net/Properties/AssemblyInfo.cs +36 -0
- data/funchook/distorm/examples/cs/distorm-net/diStorm3.cs +411 -0
- data/funchook/distorm/examples/cs/distorm-net/distorm-net.csproj +80 -0
- data/funchook/distorm/examples/cs/readme +3 -0
- data/funchook/distorm/examples/ddk/README +48 -0
- data/funchook/distorm/examples/ddk/distorm.ini +11 -0
- data/funchook/distorm/examples/ddk/dummy.c +15 -0
- data/funchook/distorm/examples/ddk/main.c +91 -0
- data/funchook/distorm/examples/ddk/makefile +1 -0
- data/funchook/distorm/examples/ddk/sources +10 -0
- data/funchook/distorm/examples/java/Makefile +23 -0
- data/funchook/distorm/examples/java/distorm/src/Main.java +43 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/CodeInfo.java +27 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecodedInst.java +32 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecodedResult.java +11 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecomposedInst.java +89 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecomposedResult.java +11 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/OpcodeEnum.java +131 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/Opcodes.java +1123 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/Operand.java +24 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/distorm3.java +41 -0
- data/funchook/distorm/examples/java/jdistorm.c +405 -0
- data/funchook/distorm/examples/java/jdistorm.h +40 -0
- data/funchook/distorm/examples/java/jdistorm.sln +20 -0
- data/funchook/distorm/examples/java/jdistorm.vcproj +208 -0
- data/funchook/distorm/examples/linux/Makefile +15 -0
- data/funchook/distorm/examples/linux/main.c +181 -0
- data/funchook/distorm/examples/tests/Makefile +15 -0
- data/funchook/distorm/examples/tests/main.cpp +42 -0
- data/funchook/distorm/examples/tests/main.py +66 -0
- data/funchook/distorm/examples/tests/test_distorm3.py +1672 -0
- data/funchook/distorm/examples/tests/tests.sln +20 -0
- data/funchook/distorm/examples/tests/tests.vcxproj +82 -0
- data/funchook/distorm/examples/tests/tests.vcxproj.filters +22 -0
- data/funchook/distorm/examples/win32/disasm.sln +25 -0
- data/funchook/distorm/examples/win32/disasm.vcxproj +201 -0
- data/funchook/distorm/examples/win32/disasm.vcxproj.filters +14 -0
- data/funchook/distorm/examples/win32/main.cpp +163 -0
- data/funchook/distorm/include/distorm.h +482 -0
- data/funchook/distorm/include/mnemonics.h +301 -0
- data/funchook/distorm/make/linux/Makefile +28 -0
- data/funchook/distorm/make/mac/Makefile +24 -0
- data/funchook/distorm/make/win32/cdistorm.vcxproj +239 -0
- data/funchook/distorm/make/win32/cdistorm.vcxproj.filters +80 -0
- data/funchook/distorm/make/win32/distorm.sln +25 -0
- data/funchook/distorm/make/win32/resource.h +14 -0
- data/funchook/distorm/make/win32/resource.rc +99 -0
- data/funchook/distorm/python/distorm3/__init__.py +957 -0
- data/funchook/distorm/python/distorm3/sample.py +51 -0
- data/funchook/distorm/setup.cfg +10 -0
- data/funchook/distorm/setup.py +266 -0
- data/funchook/distorm/src/config.h +169 -0
- data/funchook/distorm/src/decoder.c +641 -0
- data/funchook/distorm/src/decoder.h +33 -0
- data/funchook/distorm/src/distorm.c +413 -0
- data/funchook/distorm/src/instructions.c +597 -0
- data/funchook/distorm/src/instructions.h +463 -0
- data/funchook/distorm/src/insts.c +7939 -0
- data/funchook/distorm/src/insts.h +64 -0
- data/funchook/distorm/src/mnemonics.c +284 -0
- data/funchook/distorm/src/operands.c +1290 -0
- data/funchook/distorm/src/operands.h +28 -0
- data/funchook/distorm/src/prefix.c +368 -0
- data/funchook/distorm/src/prefix.h +64 -0
- data/funchook/distorm/src/textdefs.c +172 -0
- data/funchook/distorm/src/textdefs.h +57 -0
- data/funchook/distorm/src/wstring.c +47 -0
- data/funchook/distorm/src/wstring.h +35 -0
- data/funchook/distorm/src/x86defs.h +82 -0
- data/funchook/include/funchook.h +123 -0
- data/funchook/install-sh +527 -0
- data/funchook/src/Makefile +70 -0
- data/funchook/src/Makefile.in +70 -0
- data/funchook/src/__strerror.h +109 -0
- data/funchook/src/config.h +101 -0
- data/funchook/src/config.h.in +100 -0
- data/funchook/src/decoder.o +0 -0
- data/funchook/src/distorm.o +0 -0
- data/funchook/src/funchook.c +440 -0
- data/funchook/src/funchook.o +0 -0
- data/funchook/src/funchook_internal.h +155 -0
- data/funchook/src/funchook_io.c +182 -0
- data/funchook/src/funchook_io.h +64 -0
- data/funchook/src/funchook_io.o +0 -0
- data/funchook/src/funchook_syscall.S +134 -0
- data/funchook/src/funchook_syscall.o +0 -0
- data/funchook/src/funchook_unix.c +480 -0
- data/funchook/src/funchook_unix.o +0 -0
- data/funchook/src/funchook_windows.c +397 -0
- data/funchook/src/funchook_x86.c +622 -0
- data/funchook/src/funchook_x86.o +0 -0
- data/funchook/src/instructions.o +0 -0
- data/funchook/src/insts.o +0 -0
- data/funchook/src/libfunchook.so +0 -0
- data/funchook/src/mnemonics.o +0 -0
- data/funchook/src/operands.o +0 -0
- data/funchook/src/os_func.c +115 -0
- data/funchook/src/os_func.h +75 -0
- data/funchook/src/os_func.o +0 -0
- data/funchook/src/os_func_unix.c +94 -0
- data/funchook/src/os_func_unix.o +0 -0
- data/funchook/src/os_func_windows.c +32 -0
- data/funchook/src/prefix.o +0 -0
- data/funchook/src/printf_base.c +1688 -0
- data/funchook/src/printf_base.h +46 -0
- data/funchook/src/printf_base.o +0 -0
- data/funchook/src/textdefs.o +0 -0
- data/funchook/src/wstring.o +0 -0
- data/funchook/test/Makefile +43 -0
- data/funchook/test/Makefile.in +43 -0
- data/funchook/test/funchook_test +0 -0
- data/funchook/test/libfunchook_test.c +25 -0
- data/funchook/test/libfunchook_test.so +0 -0
- data/funchook/test/libfunchook_test2.c +18 -0
- data/funchook/test/suffix.list +600 -0
- data/funchook/test/test_main.c +430 -0
- data/funchook/test/test_main.o +0 -0
- data/funchook/test/x86_64_test.S +10 -0
- data/funchook/test/x86_64_test.o +0 -0
- data/funchook/test/x86_test.S +339 -0
- data/funchook/win32/config.h +1 -0
- data/funchook/win32/funchook.sln +52 -0
- data/funchook/win32/funchook.vcxproj +188 -0
- data/funchook/win32/funchook.vcxproj.filters +84 -0
- data/funchook/win32/funchook_test.vcxproj +170 -0
- data/funchook/win32/funchook_test.vcxproj.filters +22 -0
- data/funchook/win32/funchook_test_dll.vcxproj +184 -0
- data/funchook/win32/funchook_test_dll.vcxproj.filters +30 -0
- data/funchook/win32/funchook_test_exe.def +3 -0
- data/lib/contrast-agent.rb +8 -0
- data/lib/contrast.rb +57 -0
- data/lib/contrast/agent.rb +80 -0
- data/lib/contrast/agent/assess.rb +45 -0
- data/lib/contrast/agent/assess/adjusted_span.rb +25 -0
- data/lib/contrast/agent/assess/class_reverter.rb +82 -0
- data/lib/contrast/agent/assess/contrast_event.rb +398 -0
- data/lib/contrast/agent/assess/frozen_properties.rb +41 -0
- data/lib/contrast/agent/assess/insulator.rb +53 -0
- data/lib/contrast/agent/assess/policy/dynamic_source_factory.rb +78 -0
- data/lib/contrast/agent/assess/policy/patcher.rb +85 -0
- data/lib/contrast/agent/assess/policy/policy.rb +116 -0
- data/lib/contrast/agent/assess/policy/policy_node.rb +289 -0
- data/lib/contrast/agent/assess/policy/policy_scanner.rb +44 -0
- data/lib/contrast/agent/assess/policy/preshift.rb +94 -0
- data/lib/contrast/agent/assess/policy/propagation_method.rb +260 -0
- data/lib/contrast/agent/assess/policy/propagation_node.rb +127 -0
- data/lib/contrast/agent/assess/policy/propagator.rb +35 -0
- data/lib/contrast/agent/assess/policy/propagator/append.rb +54 -0
- data/lib/contrast/agent/assess/policy/propagator/base.rb +37 -0
- data/lib/contrast/agent/assess/policy/propagator/center.rb +73 -0
- data/lib/contrast/agent/assess/policy/propagator/custom.rb +36 -0
- data/lib/contrast/agent/assess/policy/propagator/database_write.rb +62 -0
- data/lib/contrast/agent/assess/policy/propagator/insert.rb +55 -0
- data/lib/contrast/agent/assess/policy/propagator/keep.rb +26 -0
- data/lib/contrast/agent/assess/policy/propagator/next.rb +42 -0
- data/lib/contrast/agent/assess/policy/propagator/prepend.rb +50 -0
- data/lib/contrast/agent/assess/policy/propagator/remove.rb +76 -0
- data/lib/contrast/agent/assess/policy/propagator/replace.rb +27 -0
- data/lib/contrast/agent/assess/policy/propagator/reverse.rb +38 -0
- data/lib/contrast/agent/assess/policy/propagator/select.rb +86 -0
- data/lib/contrast/agent/assess/policy/propagator/splat.rb +60 -0
- data/lib/contrast/agent/assess/policy/propagator/split.rb +49 -0
- data/lib/contrast/agent/assess/policy/propagator/substitution.rb +169 -0
- data/lib/contrast/agent/assess/policy/propagator/trim.rb +81 -0
- data/lib/contrast/agent/assess/policy/rewriter_patch.rb +79 -0
- data/lib/contrast/agent/assess/policy/source_method.rb +209 -0
- data/lib/contrast/agent/assess/policy/source_node.rb +62 -0
- data/lib/contrast/agent/assess/policy/trigger_method.rb +209 -0
- data/lib/contrast/agent/assess/policy/trigger_node.rb +198 -0
- data/lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb +77 -0
- data/lib/contrast/agent/assess/policy/trigger_validation/trigger_validation.rb +31 -0
- data/lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb +40 -0
- data/lib/contrast/agent/assess/properties.rb +392 -0
- data/lib/contrast/agent/assess/rule.rb +18 -0
- data/lib/contrast/agent/assess/rule/base.rb +72 -0
- data/lib/contrast/agent/assess/rule/csrf.rb +66 -0
- data/lib/contrast/agent/assess/rule/csrf/csrf_action.rb +28 -0
- data/lib/contrast/agent/assess/rule/csrf/csrf_applicator.rb +69 -0
- data/lib/contrast/agent/assess/rule/csrf/csrf_watcher.rb +132 -0
- data/lib/contrast/agent/assess/rule/provider.rb +21 -0
- data/lib/contrast/agent/assess/rule/provider/hardcoded_key.rb +62 -0
- data/lib/contrast/agent/assess/rule/provider/hardcoded_password.rb +73 -0
- data/lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb +121 -0
- data/lib/contrast/agent/assess/rule/redos.rb +68 -0
- data/lib/contrast/agent/assess/rule/response_scanning_rule.rb +47 -0
- data/lib/contrast/agent/assess/rule/response_watcher.rb +36 -0
- data/lib/contrast/agent/assess/rule/watcher.rb +36 -0
- data/lib/contrast/agent/assess/tag.rb +151 -0
- data/lib/contrast/agent/at_exit_hook.rb +33 -0
- data/lib/contrast/agent/class_reopener.rb +195 -0
- data/lib/contrast/agent/deadzone/policy/deadzone_node.rb +26 -0
- data/lib/contrast/agent/deadzone/policy/policy.rb +57 -0
- data/lib/contrast/agent/disable_reaction.rb +24 -0
- data/lib/contrast/agent/exclusion_matcher.rb +190 -0
- data/lib/contrast/agent/feature_state.rb +379 -0
- data/lib/contrast/agent/inventory/policy/policy.rb +32 -0
- data/lib/contrast/agent/inventory/policy/trigger_node.rb +22 -0
- data/lib/contrast/agent/logger_manager.rb +116 -0
- data/lib/contrast/agent/middleware.rb +352 -0
- data/lib/contrast/agent/module_data.rb +16 -0
- data/lib/contrast/agent/patching/policy/after_load_patch.rb +37 -0
- data/lib/contrast/agent/patching/policy/after_load_patcher.rb +58 -0
- data/lib/contrast/agent/patching/policy/method_policy.rb +94 -0
- data/lib/contrast/agent/patching/policy/module_policy.rb +116 -0
- data/lib/contrast/agent/patching/policy/patch.rb +312 -0
- data/lib/contrast/agent/patching/policy/patch_status.rb +192 -0
- data/lib/contrast/agent/patching/policy/patcher.rb +310 -0
- data/lib/contrast/agent/patching/policy/policy.rb +138 -0
- data/lib/contrast/agent/patching/policy/policy_node.rb +80 -0
- data/lib/contrast/agent/patching/policy/policy_unpatcher.rb +28 -0
- data/lib/contrast/agent/patching/policy/trigger_node.rb +81 -0
- data/lib/contrast/agent/protect/policy/policy.rb +37 -0
- data/lib/contrast/agent/protect/policy/trigger_node.rb +23 -0
- data/lib/contrast/agent/protect/rule.rb +58 -0
- data/lib/contrast/agent/protect/rule/base.rb +300 -0
- data/lib/contrast/agent/protect/rule/base_service.rb +88 -0
- data/lib/contrast/agent/protect/rule/cmd_injection.rb +156 -0
- data/lib/contrast/agent/protect/rule/csrf.rb +118 -0
- data/lib/contrast/agent/protect/rule/csrf/csrf_evaluator.rb +103 -0
- data/lib/contrast/agent/protect/rule/csrf/csrf_token_injector.rb +85 -0
- data/lib/contrast/agent/protect/rule/default_scanner.rb +300 -0
- data/lib/contrast/agent/protect/rule/deserialization.rb +193 -0
- data/lib/contrast/agent/protect/rule/http_method_tampering.rb +80 -0
- data/lib/contrast/agent/protect/rule/no_sqli.rb +101 -0
- data/lib/contrast/agent/protect/rule/no_sqli/mongo_no_sql_scanner.rb +40 -0
- data/lib/contrast/agent/protect/rule/path_traversal.rb +143 -0
- data/lib/contrast/agent/protect/rule/sqli.rb +101 -0
- data/lib/contrast/agent/protect/rule/sqli/default_sql_scanner.rb +16 -0
- data/lib/contrast/agent/protect/rule/sqli/mysql_sql_scanner.rb +38 -0
- data/lib/contrast/agent/protect/rule/sqli/postgres_sql_scanner.rb +22 -0
- data/lib/contrast/agent/protect/rule/sqli/sqlite_sql_scanner.rb +19 -0
- data/lib/contrast/agent/protect/rule/unsafe_file_upload.rb +20 -0
- data/lib/contrast/agent/protect/rule/xss.rb +24 -0
- data/lib/contrast/agent/protect/rule/xxe.rb +120 -0
- data/lib/contrast/agent/protect/rule/xxe/entity_wrapper.rb +82 -0
- data/lib/contrast/agent/railtie.rb +30 -0
- data/lib/contrast/agent/reaction_processor.rb +47 -0
- data/lib/contrast/agent/request.rb +493 -0
- data/lib/contrast/agent/request_context.rb +225 -0
- data/lib/contrast/agent/require_state.rb +61 -0
- data/lib/contrast/agent/response.rb +215 -0
- data/lib/contrast/agent/rewriter.rb +244 -0
- data/lib/contrast/agent/scope.rb +28 -0
- data/lib/contrast/agent/service_heartbeat.rb +37 -0
- data/lib/contrast/agent/settings_state.rb +148 -0
- data/lib/contrast/agent/socket_client.rb +125 -0
- data/lib/contrast/agent/thread.rb +26 -0
- data/lib/contrast/agent/tracepoint_hook.rb +51 -0
- data/lib/contrast/agent/version.rb +8 -0
- data/lib/contrast/api.rb +17 -0
- data/lib/contrast/api/.gitkeep +0 -0
- data/lib/contrast/api/connection_status.rb +49 -0
- data/lib/contrast/api/socket.rb +43 -0
- data/lib/contrast/api/speedracer.rb +206 -0
- data/lib/contrast/api/tcp_socket.rb +31 -0
- data/lib/contrast/api/unix_socket.rb +25 -0
- data/lib/contrast/common_agent_configuration.rb +86 -0
- data/lib/contrast/components/agent.rb +85 -0
- data/lib/contrast/components/app_context.rb +188 -0
- data/lib/contrast/components/assess.rb +67 -0
- data/lib/contrast/components/config.rb +135 -0
- data/lib/contrast/components/contrast_service.rb +113 -0
- data/lib/contrast/components/heap_dump.rb +34 -0
- data/lib/contrast/components/interface.rb +178 -0
- data/lib/contrast/components/inventory.rb +23 -0
- data/lib/contrast/components/logger.rb +92 -0
- data/lib/contrast/components/protect.rb +38 -0
- data/lib/contrast/components/sampling.rb +41 -0
- data/lib/contrast/components/scope.rb +106 -0
- data/lib/contrast/components/settings.rb +140 -0
- data/lib/contrast/config.rb +33 -0
- data/lib/contrast/config/agent_configuration.rb +24 -0
- data/lib/contrast/config/application_configuration.rb +27 -0
- data/lib/contrast/config/assess_configuration.rb +22 -0
- data/lib/contrast/config/assess_rules_configuration.rb +18 -0
- data/lib/contrast/config/base_configuration.rb +105 -0
- data/lib/contrast/config/default_value.rb +16 -0
- data/lib/contrast/config/exception_configuration.rb +21 -0
- data/lib/contrast/config/heap_dump_configuration.rb +23 -0
- data/lib/contrast/config/inventory_configuration.rb +20 -0
- data/lib/contrast/config/logger_configuration.rb +20 -0
- data/lib/contrast/config/protect_configuration.rb +20 -0
- data/lib/contrast/config/protect_rule_configuration.rb +37 -0
- data/lib/contrast/config/protect_rules_configuration.rb +30 -0
- data/lib/contrast/config/root_configuration.rb +26 -0
- data/lib/contrast/config/ruby_configuration.rb +39 -0
- data/lib/contrast/config/sampling_configuration.rb +22 -0
- data/lib/contrast/config/server_configuration.rb +23 -0
- data/lib/contrast/config/service_configuration.rb +22 -0
- data/lib/contrast/configuration.rb +214 -0
- data/lib/contrast/core_extensions/assess.rb +51 -0
- data/lib/contrast/core_extensions/assess/array.rb +58 -0
- data/lib/contrast/core_extensions/assess/assess_extension.rb +145 -0
- data/lib/contrast/core_extensions/assess/basic_object.rb +15 -0
- data/lib/contrast/core_extensions/assess/erb.rb +42 -0
- data/lib/contrast/core_extensions/assess/exec_trigger.rb +48 -0
- data/lib/contrast/core_extensions/assess/fiber.rb +125 -0
- data/lib/contrast/core_extensions/assess/hash.rb +22 -0
- data/lib/contrast/core_extensions/assess/kernel.rb +95 -0
- data/lib/contrast/core_extensions/assess/module.rb +14 -0
- data/lib/contrast/core_extensions/assess/regexp.rb +206 -0
- data/lib/contrast/core_extensions/assess/string.rb +75 -0
- data/lib/contrast/core_extensions/assess/tilt_template_trigger.rb +73 -0
- data/lib/contrast/core_extensions/delegator.rb +14 -0
- data/lib/contrast/core_extensions/eval_trigger.rb +52 -0
- data/lib/contrast/core_extensions/inventory.rb +22 -0
- data/lib/contrast/core_extensions/inventory/datastores.rb +37 -0
- data/lib/contrast/core_extensions/module.rb +42 -0
- data/lib/contrast/core_extensions/object.rb +27 -0
- data/lib/contrast/core_extensions/protect.rb +20 -0
- data/lib/contrast/core_extensions/protect/applies_command_injection_rule.rb +70 -0
- data/lib/contrast/core_extensions/protect/applies_deserialization_rule.rb +58 -0
- data/lib/contrast/core_extensions/protect/applies_no_sqli_rule.rb +81 -0
- data/lib/contrast/core_extensions/protect/applies_path_traversal_rule.rb +119 -0
- data/lib/contrast/core_extensions/protect/applies_sqli_rule.rb +63 -0
- data/lib/contrast/core_extensions/protect/applies_xxe_rule.rb +141 -0
- data/lib/contrast/core_extensions/protect/kernel.rb +30 -0
- data/lib/contrast/core_extensions/protect/psych.rb +7 -0
- data/lib/contrast/core_extensions/thread.rb +31 -0
- data/lib/contrast/internal_exception.rb +8 -0
- data/lib/contrast/rails_extensions/assess/action_controller_inheritance.rb +48 -0
- data/lib/contrast/rails_extensions/assess/active_record.rb +32 -0
- data/lib/contrast/rails_extensions/assess/active_record_named.rb +61 -0
- data/lib/contrast/rails_extensions/assess/configuration.rb +26 -0
- data/lib/contrast/rails_extensions/buffer.rb +30 -0
- data/lib/contrast/rails_extensions/rack.rb +45 -0
- data/lib/contrast/security_exception.rb +14 -0
- data/lib/contrast/sinatra_extensions/assess/cookie.rb +26 -0
- data/lib/contrast/sinatra_extensions/inventory/sinatra_base.rb +59 -0
- data/lib/contrast/tasks/service.rb +95 -0
- data/lib/contrast/utils/assess/sampling_util.rb +96 -0
- data/lib/contrast/utils/assess/tracking_util.rb +39 -0
- data/lib/contrast/utils/boolean_util.rb +33 -0
- data/lib/contrast/utils/cache.rb +69 -0
- data/lib/contrast/utils/class_util.rb +58 -0
- data/lib/contrast/utils/comment_range.rb +19 -0
- data/lib/contrast/utils/data_store_util.rb +23 -0
- data/lib/contrast/utils/duck_utils.rb +58 -0
- data/lib/contrast/utils/env_configuration_item.rb +52 -0
- data/lib/contrast/utils/environment_util.rb +152 -0
- data/lib/contrast/utils/freeze_util.rb +36 -0
- data/lib/contrast/utils/gemfile_reader.rb +191 -0
- data/lib/contrast/utils/hash_digest.rb +148 -0
- data/lib/contrast/utils/heap_dump_util.rb +113 -0
- data/lib/contrast/utils/invalid_configuration_util.rb +88 -0
- data/lib/contrast/utils/inventory_util.rb +126 -0
- data/lib/contrast/utils/io_util.rb +61 -0
- data/lib/contrast/utils/object_share.rb +117 -0
- data/lib/contrast/utils/operating_environment.rb +38 -0
- data/lib/contrast/utils/os.rb +49 -0
- data/lib/contrast/utils/path_util.rb +151 -0
- data/lib/contrast/utils/performs_logging.rb +152 -0
- data/lib/contrast/utils/preflight_util.rb +13 -0
- data/lib/contrast/utils/prevent_serialization.rb +52 -0
- data/lib/contrast/utils/rack_assess_session_cookie.rb +104 -0
- data/lib/contrast/utils/rails_assess_configuration.rb +95 -0
- data/lib/contrast/utils/random_util.rb +22 -0
- data/lib/contrast/utils/resource_loader.rb +23 -0
- data/lib/contrast/utils/ruby_ast_rewriter.rb +74 -0
- data/lib/contrast/utils/scope_util.rb +99 -0
- data/lib/contrast/utils/service_response_util.rb +116 -0
- data/lib/contrast/utils/service_sender_util.rb +98 -0
- data/lib/contrast/utils/sha256_builder.rb +69 -0
- data/lib/contrast/utils/sinatra_helper.rb +49 -0
- data/lib/contrast/utils/stack_trace_utils.rb +209 -0
- data/lib/contrast/utils/string_utils.rb +72 -0
- data/lib/contrast/utils/tag_util.rb +139 -0
- data/lib/contrast/utils/thread_tracker.rb +54 -0
- data/lib/contrast/utils/timer.rb +78 -0
- data/resources/assess/policy.json +1673 -0
- data/resources/csrf/inject.js +44 -0
- data/resources/deadzone/policy.json +55 -0
- data/resources/factory-bot-spec/spec_helper.rb +30 -0
- data/resources/inventory/policy.json +110 -0
- data/resources/protect/policy.json +417 -0
- data/resources/rubocops/kernel/catch_cop.rb +37 -0
- data/resources/rubocops/kernel/require_cop.rb +37 -0
- data/resources/rubocops/kernel/require_relative_cop.rb +33 -0
- data/resources/rubocops/module/autoload_cop.rb +37 -0
- data/resources/rubocops/module/const_defined_cop.rb +37 -0
- data/resources/rubocops/module/const_get_cop.rb +37 -0
- data/resources/rubocops/module/const_set_cop.rb +37 -0
- data/resources/rubocops/module/constants_cop.rb +37 -0
- data/resources/rubocops/module/name_cop.rb +37 -0
- data/resources/rubocops/object/class_cop.rb +37 -0
- data/resources/rubocops/object/freeze_cop.rb +37 -0
- data/resources/rubocops/object/frozen_cop.rb +37 -0
- data/resources/rubocops/object/is_a_cop.rb +37 -0
- data/resources/rubocops/object/method_cop.rb +37 -0
- data/resources/rubocops/object/respond_to_cop.rb +37 -0
- data/resources/rubocops/object/singleton_class_cop.rb +37 -0
- data/resources/rubocops/regexp/spelling_cop.rb +44 -0
- data/resources/rubocops/thread/new_cop.rb +39 -0
- data/resources/ruby-spec/ancestors_spec.rb +70 -0
- data/resources/ruby-spec/modulo_spec.rb +831 -0
- data/resources/ruby-spec/parameters_spec.rb +261 -0
- data/resources/ruby-spec/ruby_spec_spec_helper.rb +35 -0
- data/resources/test_marker.txt +1 -0
- data/ruby-agent.gemspec +129 -0
- data/service_executables/.gitkeep +0 -0
- data/service_executables/VERSION +1 -0
- data/service_executables/linux/contrast-service +0 -0
- data/service_executables/mac/contrast-service +0 -0
- metadata +945 -0
@@ -0,0 +1,79 @@
|
|
1
|
+
using System;
|
2
|
+
using System.Reflection;
|
3
|
+
using System.Reflection.Emit;
|
4
|
+
using diStorm;
|
5
|
+
|
6
|
+
namespace TestdiStorm
|
7
|
+
{
|
8
|
+
public class Program
|
9
|
+
{
|
10
|
+
private static IntPtr LeakNativeMethodPtr(MethodInfo x)
|
11
|
+
{
|
12
|
+
|
13
|
+
//if ((x.MethodImplementationFlags & MethodImplAttributes.InternalCall) != 0)
|
14
|
+
// Console.WriteLine("{0} is an InternalCall method. These methods always point to the same address.", x.Name);
|
15
|
+
var domain = AppDomain.CurrentDomain;
|
16
|
+
var dynAsm = new AssemblyName("MethodLeakAssembly");
|
17
|
+
var asmBuilder = domain.DefineDynamicAssembly(dynAsm, AssemblyBuilderAccess.Run);
|
18
|
+
var moduleBuilder = asmBuilder.DefineDynamicModule("MethodLeakModule");
|
19
|
+
var typeBuilder = moduleBuilder.DefineType("MethodLeaker", TypeAttributes.Public);
|
20
|
+
var p = new Type[0];
|
21
|
+
var methodBuilder = typeBuilder.DefineMethod("LeakNativeMethodPtr", MethodAttributes.Public | MethodAttributes.Static, typeof(IntPtr), null);
|
22
|
+
var generator = methodBuilder.GetILGenerator();
|
23
|
+
|
24
|
+
// Push unmanaged pointer to MethodInfo onto the evaluation stack
|
25
|
+
generator.Emit(OpCodes.Ldftn, x);
|
26
|
+
// Convert the pointer to type - unsigned int64
|
27
|
+
//generator.Emit(OpCodes.Conv_Ovf_U);
|
28
|
+
generator.Emit(OpCodes.Ret);
|
29
|
+
|
30
|
+
// Assemble everything
|
31
|
+
var type = typeBuilder.CreateType();
|
32
|
+
|
33
|
+
var method = type.GetMethod("LeakNativeMethodPtr");
|
34
|
+
|
35
|
+
try {
|
36
|
+
// Call the method and return its JITed address
|
37
|
+
var address = (IntPtr) method.Invoke(null, new object[0]);
|
38
|
+
|
39
|
+
Console.WriteLine("0x{0}", address.ToString(string.Format("X{0})", IntPtr.Size * 2)));
|
40
|
+
return address;
|
41
|
+
}
|
42
|
+
catch (Exception e) {
|
43
|
+
Console.WriteLine("{0} cannot return an unmanaged address.");
|
44
|
+
}
|
45
|
+
return IntPtr.Zero;
|
46
|
+
}
|
47
|
+
|
48
|
+
|
49
|
+
private static unsafe void Main(string[] args)
|
50
|
+
{
|
51
|
+
var buf = new byte[4];
|
52
|
+
buf[0] = (byte) 0xc3;
|
53
|
+
buf[1] = (byte) 0x33;
|
54
|
+
buf[2] = (byte) 0xc0;
|
55
|
+
buf[3] = (byte) 0xc3;
|
56
|
+
var ci = new CodeInfo((long) 0x1000, buf, DecodeType.Decode32Bits, 0);
|
57
|
+
var dr = new DecodedResult(10);
|
58
|
+
diStorm3.Decode(ci, dr);
|
59
|
+
|
60
|
+
foreach (var x in dr.Instructions) {
|
61
|
+
var s = String.Format("{0:X} {1} {2}", x.Offset, x.Mnemonic, x.Operands);
|
62
|
+
Console.WriteLine(s);
|
63
|
+
}
|
64
|
+
|
65
|
+
var dr2 = new DecomposedResult(10);
|
66
|
+
diStorm3.Decompose(ci, dr2);
|
67
|
+
|
68
|
+
foreach (var y in dr2.Instructions) {
|
69
|
+
if (y.Opcode != Opcode.RET)
|
70
|
+
{
|
71
|
+
var x = diStorm3.Format(ci, y);
|
72
|
+
var s = String.Format("{0:X} {1} {2}", x.Offset, x.Mnemonic, x.Operands);
|
73
|
+
Console.WriteLine(s);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
using System.Reflection;
|
2
|
+
using System.Runtime.CompilerServices;
|
3
|
+
using System.Runtime.InteropServices;
|
4
|
+
|
5
|
+
// General Information about an assembly is controlled through the following
|
6
|
+
// set of attributes. Change these attribute values to modify the information
|
7
|
+
// associated with an assembly.
|
8
|
+
[assembly: AssemblyTitle("TestDiStorm")]
|
9
|
+
[assembly: AssemblyDescription("")]
|
10
|
+
[assembly: AssemblyConfiguration("")]
|
11
|
+
[assembly: AssemblyCompany("")]
|
12
|
+
[assembly: AssemblyProduct("TestDiStorm")]
|
13
|
+
[assembly: AssemblyCopyright("Copyright © 2012")]
|
14
|
+
[assembly: AssemblyTrademark("")]
|
15
|
+
[assembly: AssemblyCulture("")]
|
16
|
+
|
17
|
+
// Setting ComVisible to false makes the types in this assembly not visible
|
18
|
+
// to COM components. If you need to access a type in this assembly from
|
19
|
+
// COM, set the ComVisible attribute to true on that type.
|
20
|
+
[assembly: ComVisible(false)]
|
21
|
+
|
22
|
+
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
23
|
+
[assembly: Guid("737cf66b-c136-47be-b92d-3f2fefbaf27a")]
|
24
|
+
|
25
|
+
// Version information for an assembly consists of the following four values:
|
26
|
+
//
|
27
|
+
// Major Version
|
28
|
+
// Minor Version
|
29
|
+
// Build Number
|
30
|
+
// Revision
|
31
|
+
//
|
32
|
+
// You can specify all the values or you can default the Build and Revision Numbers
|
33
|
+
// by using the '*' as shown below:
|
34
|
+
// [assembly: AssemblyVersion("1.0.*")]
|
35
|
+
[assembly: AssemblyVersion("1.0.0.0")]
|
36
|
+
[assembly: AssemblyFileVersion("1.0.0.0")]
|
@@ -0,0 +1,69 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
3
|
+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
4
|
+
<PropertyGroup>
|
5
|
+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
6
|
+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
7
|
+
<ProjectGuid>{2F2F3CBD-F968-47E4-ADEC-D42E42A924AC}</ProjectGuid>
|
8
|
+
<OutputType>Exe</OutputType>
|
9
|
+
<AppDesignerFolder>Properties</AppDesignerFolder>
|
10
|
+
<RootNamespace>TestDiStorm</RootNamespace>
|
11
|
+
<AssemblyName>TestDiStorm</AssemblyName>
|
12
|
+
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
13
|
+
<FileAlignment>512</FileAlignment>
|
14
|
+
<TargetFrameworkProfile />
|
15
|
+
</PropertyGroup>
|
16
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
17
|
+
<PlatformTarget>x64</PlatformTarget>
|
18
|
+
<DebugSymbols>true</DebugSymbols>
|
19
|
+
<DebugType>full</DebugType>
|
20
|
+
<Optimize>false</Optimize>
|
21
|
+
<OutputPath>bin\Debug\</OutputPath>
|
22
|
+
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
23
|
+
<ErrorReport>prompt</ErrorReport>
|
24
|
+
<WarningLevel>4</WarningLevel>
|
25
|
+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
26
|
+
<Prefer32Bit>false</Prefer32Bit>
|
27
|
+
</PropertyGroup>
|
28
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
29
|
+
<PlatformTarget>x64</PlatformTarget>
|
30
|
+
<DebugType>pdbonly</DebugType>
|
31
|
+
<Optimize>true</Optimize>
|
32
|
+
<OutputPath>bin\Release\</OutputPath>
|
33
|
+
<DefineConstants>TRACE</DefineConstants>
|
34
|
+
<ErrorReport>prompt</ErrorReport>
|
35
|
+
<WarningLevel>4</WarningLevel>
|
36
|
+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
37
|
+
</PropertyGroup>
|
38
|
+
<ItemGroup>
|
39
|
+
<Reference Include="System" />
|
40
|
+
<Reference Include="System.Core" />
|
41
|
+
<Reference Include="System.Xml.Linq" />
|
42
|
+
<Reference Include="System.Data.DataSetExtensions" />
|
43
|
+
<Reference Include="Microsoft.CSharp" />
|
44
|
+
<Reference Include="System.Data" />
|
45
|
+
<Reference Include="System.Xml" />
|
46
|
+
</ItemGroup>
|
47
|
+
<ItemGroup>
|
48
|
+
<Compile Include="Operand.cs" />
|
49
|
+
<Compile Include="Program.cs" />
|
50
|
+
<Compile Include="Properties\AssemblyInfo.cs" />
|
51
|
+
</ItemGroup>
|
52
|
+
<ItemGroup>
|
53
|
+
<ProjectReference Include="..\distorm-net\distorm-net.csproj">
|
54
|
+
<Project>{137ade63-2489-4235-91c6-6cb664cab63f}</Project>
|
55
|
+
<Name>distorm-net</Name>
|
56
|
+
</ProjectReference>
|
57
|
+
</ItemGroup>
|
58
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
59
|
+
<PropertyGroup>
|
60
|
+
<PostBuildEvent>copy $(SolutionDir)\..\..\distorm3.dll $(TargetDir)</PostBuildEvent>
|
61
|
+
</PropertyGroup>
|
62
|
+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
63
|
+
Other similar extension points exist, see Microsoft.Common.targets.
|
64
|
+
<Target Name="BeforeBuild">
|
65
|
+
</Target>
|
66
|
+
<Target Name="AfterBuild">
|
67
|
+
</Target>
|
68
|
+
-->
|
69
|
+
</Project>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
3
|
+
# Visual Studio 2012
|
4
|
+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "distorm-net", "distorm-net\distorm-net.csproj", "{137ADE63-2489-4235-91C6-6CB664CAB63F}"
|
5
|
+
EndProject
|
6
|
+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestdiStorm", "TestDiStorm\TestdiStorm.csproj", "{2F2F3CBD-F968-47E4-ADEC-D42E42A924AC}"
|
7
|
+
EndProject
|
8
|
+
Global
|
9
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
10
|
+
Debug|Any CPU = Debug|Any CPU
|
11
|
+
Release|Any CPU = Release|Any CPU
|
12
|
+
EndGlobalSection
|
13
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
14
|
+
{137ADE63-2489-4235-91C6-6CB664CAB63F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
15
|
+
{137ADE63-2489-4235-91C6-6CB664CAB63F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
16
|
+
{137ADE63-2489-4235-91C6-6CB664CAB63F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
17
|
+
{137ADE63-2489-4235-91C6-6CB664CAB63F}.Release|Any CPU.Build.0 = Release|Any CPU
|
18
|
+
{2F2F3CBD-F968-47E4-ADEC-D42E42A924AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
19
|
+
{2F2F3CBD-F968-47E4-ADEC-D42E42A924AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
20
|
+
{2F2F3CBD-F968-47E4-ADEC-D42E42A924AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
21
|
+
{2F2F3CBD-F968-47E4-ADEC-D42E42A924AC}.Release|Any CPU.Build.0 = Release|Any CPU
|
22
|
+
EndGlobalSection
|
23
|
+
GlobalSection(SolutionProperties) = preSolution
|
24
|
+
HideSolutionNode = FALSE
|
25
|
+
EndGlobalSection
|
26
|
+
EndGlobal
|
@@ -0,0 +1,23 @@
|
|
1
|
+
using System;
|
2
|
+
|
3
|
+
namespace diStorm
|
4
|
+
{
|
5
|
+
public class CodeInfo
|
6
|
+
{
|
7
|
+
public CodeInfo(long codeOffset, byte[] rawCode, DecodeType dt, int features)
|
8
|
+
{
|
9
|
+
_code = new byte[rawCode.Length];
|
10
|
+
Array.Copy(rawCode, _code, _code.Length);
|
11
|
+
|
12
|
+
_codeOffset = codeOffset;
|
13
|
+
_decodeType = dt;
|
14
|
+
_features = features;
|
15
|
+
}
|
16
|
+
|
17
|
+
internal long _codeOffset;
|
18
|
+
internal long _nextOffset;
|
19
|
+
internal byte[] _code;
|
20
|
+
internal DecodeType _decodeType;
|
21
|
+
internal int _features;
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
using System;
|
2
|
+
|
3
|
+
namespace diStorm
|
4
|
+
{
|
5
|
+
public class DecodedInst
|
6
|
+
{
|
7
|
+
internal DecodedInst() { }
|
8
|
+
|
9
|
+
public string Mnemonic { get; internal set; }
|
10
|
+
public string Operands { get; internal set; }
|
11
|
+
public string Hex { get; internal set; }
|
12
|
+
public uint Size { get; internal set; }
|
13
|
+
public IntPtr Offset { get; internal set; }
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+
namespace diStorm
|
3
|
+
{
|
4
|
+
public class DecodedResult
|
5
|
+
{
|
6
|
+
public DecodedResult(int maxInstructions)
|
7
|
+
{
|
8
|
+
MaxInstructions = maxInstructions;
|
9
|
+
Instructions = null;
|
10
|
+
}
|
11
|
+
public DecodedInst[] Instructions { get; internal set; }
|
12
|
+
public int MaxInstructions { get; internal set; }
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
using System;
|
2
|
+
|
3
|
+
namespace diStorm
|
4
|
+
{
|
5
|
+
public class DecomposedInst
|
6
|
+
{
|
7
|
+
public class ImmVariant
|
8
|
+
{
|
9
|
+
public ulong Imm { get; internal set; }
|
10
|
+
public int Size { get; internal set; }
|
11
|
+
}
|
12
|
+
public class DispVariant
|
13
|
+
{
|
14
|
+
public ulong Displacement { get; internal set; }
|
15
|
+
public int Size { get; internal set; }
|
16
|
+
}
|
17
|
+
internal int _segment;
|
18
|
+
public IntPtr Address { get; internal set; }
|
19
|
+
public ushort Flags { get; internal set; }
|
20
|
+
public int Size { get; internal set; }
|
21
|
+
public Opcode Opcode { get; internal set; }
|
22
|
+
public int Segment { get { return _segment & 0x7f; } }
|
23
|
+
public bool IsSegmentDefault { get { return (_segment & 0x80) == 0x80; } }
|
24
|
+
public int Base { get; internal set; }
|
25
|
+
public int Scale { get; internal set; }
|
26
|
+
public int UnusedPrefixesMask { get; internal set; }
|
27
|
+
public int Meta { get; internal set; }
|
28
|
+
public int RegistersMask { get; internal set; }
|
29
|
+
public int ModifiedFlagsMask { get; internal set; }
|
30
|
+
public int TestedFlagsMask { get; internal set; }
|
31
|
+
public int UndefinedFlagsMask { get; internal set; }
|
32
|
+
public ImmVariant Imm { get; internal set; }
|
33
|
+
public DispVariant Disp { get; internal set; }
|
34
|
+
public Operand[] Operands { get; internal set; }
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
namespace diStorm
|
2
|
+
{
|
3
|
+
public class DecomposedResult
|
4
|
+
{
|
5
|
+
public DecomposedResult(int maxInstructions)
|
6
|
+
{
|
7
|
+
MaxInstructions = maxInstructions;
|
8
|
+
Instructions = null;
|
9
|
+
}
|
10
|
+
|
11
|
+
public DecomposedInst[] Instructions { get; internal set; }
|
12
|
+
public int MaxInstructions { get; private set; }
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,1268 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
// This file was auto generated from the distrom opcodes.h file
|
13
|
+
// on 2015-01-03 15:05:06.323
|
14
|
+
|
15
|
+
namespace diStorm
|
16
|
+
{
|
17
|
+
public enum Opcode : ushort {
|
18
|
+
|
19
|
+
UNDEFINED = 0,
|
20
|
+
AAA = 66,
|
21
|
+
AAD = 389,
|
22
|
+
AAM = 384,
|
23
|
+
AAS = 76,
|
24
|
+
ADC = 31,
|
25
|
+
ADD = 11,
|
26
|
+
ADDPD = 3110,
|
27
|
+
ADDPS = 3103,
|
28
|
+
ADDSD = 3124,
|
29
|
+
ADDSS = 3117,
|
30
|
+
ADDSUBPD = 6394,
|
31
|
+
ADDSUBPS = 6404,
|
32
|
+
AESDEC = 9209,
|
33
|
+
AESDECLAST = 9226,
|
34
|
+
AESENC = 9167,
|
35
|
+
AESENCLAST = 9184,
|
36
|
+
AESIMC = 9150,
|
37
|
+
AESKEYGENASSIST = 9795,
|
38
|
+
AND = 41,
|
39
|
+
ANDNPD = 3021,
|
40
|
+
ANDNPS = 3013,
|
41
|
+
ANDPD = 2990,
|
42
|
+
ANDPS = 2983,
|
43
|
+
ARPL = 111,
|
44
|
+
BLENDPD = 9372,
|
45
|
+
BLENDPS = 9353,
|
46
|
+
BLENDVPD = 7619,
|
47
|
+
BLENDVPS = 7609,
|
48
|
+
BOUND = 104,
|
49
|
+
BSF = 4346,
|
50
|
+
BSR = 4358,
|
51
|
+
BSWAP = 960,
|
52
|
+
BT = 872,
|
53
|
+
BTC = 934,
|
54
|
+
BTR = 912,
|
55
|
+
BTS = 887,
|
56
|
+
CALL = 456,
|
57
|
+
CALL_FAR = 260,
|
58
|
+
CBW = 228,
|
59
|
+
CDQ = 250,
|
60
|
+
CDQE = 239,
|
61
|
+
CLC = 492,
|
62
|
+
CLD = 512,
|
63
|
+
CLFLUSH = 4329,
|
64
|
+
CLGI = 1833,
|
65
|
+
CLI = 502,
|
66
|
+
CLTS = 541,
|
67
|
+
CMC = 487,
|
68
|
+
CMOVA = 694,
|
69
|
+
CMOVAE = 663,
|
70
|
+
CMOVB = 656,
|
71
|
+
CMOVBE = 686,
|
72
|
+
CMOVG = 754,
|
73
|
+
CMOVGE = 738,
|
74
|
+
CMOVL = 731,
|
75
|
+
CMOVLE = 746,
|
76
|
+
CMOVNO = 648,
|
77
|
+
CMOVNP = 723,
|
78
|
+
CMOVNS = 708,
|
79
|
+
CMOVNZ = 678,
|
80
|
+
CMOVO = 641,
|
81
|
+
CMOVP = 716,
|
82
|
+
CMOVS = 701,
|
83
|
+
CMOVZ = 671,
|
84
|
+
CMP = 71,
|
85
|
+
CMPEQPD = 4449,
|
86
|
+
CMPEQPS = 4370,
|
87
|
+
CMPEQSD = 4607,
|
88
|
+
CMPEQSS = 4528,
|
89
|
+
CMPLEPD = 4467,
|
90
|
+
CMPLEPS = 4388,
|
91
|
+
CMPLESD = 4625,
|
92
|
+
CMPLESS = 4546,
|
93
|
+
CMPLTPD = 4458,
|
94
|
+
CMPLTPS = 4379,
|
95
|
+
CMPLTSD = 4616,
|
96
|
+
CMPLTSS = 4537,
|
97
|
+
CMPNEQPD = 4488,
|
98
|
+
CMPNEQPS = 4409,
|
99
|
+
CMPNEQSD = 4646,
|
100
|
+
CMPNEQSS = 4567,
|
101
|
+
CMPNLEPD = 4508,
|
102
|
+
CMPNLEPS = 4429,
|
103
|
+
CMPNLESD = 4666,
|
104
|
+
CMPNLESS = 4587,
|
105
|
+
CMPNLTPD = 4498,
|
106
|
+
CMPNLTPS = 4419,
|
107
|
+
CMPNLTSD = 4656,
|
108
|
+
CMPNLTSS = 4577,
|
109
|
+
CMPORDPD = 4518,
|
110
|
+
CMPORDPS = 4439,
|
111
|
+
CMPORDSD = 4676,
|
112
|
+
CMPORDSS = 4597,
|
113
|
+
CMPS = 301,
|
114
|
+
CMPUNORDPD = 4476,
|
115
|
+
CMPUNORDPS = 4397,
|
116
|
+
CMPUNORDSD = 4634,
|
117
|
+
CMPUNORDSS = 4555,
|
118
|
+
CMPXCHG = 898,
|
119
|
+
CMPXCHG16B = 6373,
|
120
|
+
CMPXCHG8B = 6362,
|
121
|
+
COMISD = 2779,
|
122
|
+
COMISS = 2771,
|
123
|
+
CPUID = 865,
|
124
|
+
CQO = 255,
|
125
|
+
CRC32 = 9258,
|
126
|
+
CVTDQ2PD = 6787,
|
127
|
+
CVTDQ2PS = 3307,
|
128
|
+
CVTPD2DQ = 6797,
|
129
|
+
CVTPD2PI = 2681,
|
130
|
+
CVTPD2PS = 3233,
|
131
|
+
CVTPH2PS = 4161,
|
132
|
+
CVTPI2PD = 2495,
|
133
|
+
CVTPI2PS = 2485,
|
134
|
+
CVTPS2DQ = 3317,
|
135
|
+
CVTPS2PD = 3223,
|
136
|
+
CVTPS2PH = 4171,
|
137
|
+
CVTPS2PI = 2671,
|
138
|
+
CVTSD2SI = 2701,
|
139
|
+
CVTSD2SS = 3253,
|
140
|
+
CVTSI2SD = 2515,
|
141
|
+
CVTSI2SS = 2505,
|
142
|
+
CVTSS2SD = 3243,
|
143
|
+
CVTSS2SI = 2691,
|
144
|
+
CVTTPD2DQ = 6776,
|
145
|
+
CVTTPD2PI = 2614,
|
146
|
+
CVTTPS2DQ = 3327,
|
147
|
+
CVTTPS2PI = 2603,
|
148
|
+
CVTTSD2SI = 2636,
|
149
|
+
CVTTSS2SI = 2625,
|
150
|
+
CWD = 245,
|
151
|
+
CWDE = 233,
|
152
|
+
DAA = 46,
|
153
|
+
DAS = 56,
|
154
|
+
DEC = 86,
|
155
|
+
DIV = 1630,
|
156
|
+
DIVPD = 3499,
|
157
|
+
DIVPS = 3492,
|
158
|
+
DIVSD = 3513,
|
159
|
+
DIVSS = 3506,
|
160
|
+
DPPD = 9615,
|
161
|
+
DPPS = 9602,
|
162
|
+
EMMS = 4100,
|
163
|
+
ENTER = 340,
|
164
|
+
EXTRACTPS = 9480,
|
165
|
+
EXTRQ = 4136,
|
166
|
+
F2XM1 = 1176,
|
167
|
+
FABS = 1107,
|
168
|
+
FADD = 1007,
|
169
|
+
FADDP = 1533,
|
170
|
+
FBLD = 1585,
|
171
|
+
FBSTP = 1591,
|
172
|
+
FCHS = 1101,
|
173
|
+
FCLEX = 7289,
|
174
|
+
FCMOVB = 1360,
|
175
|
+
FCMOVBE = 1376,
|
176
|
+
FCMOVE = 1368,
|
177
|
+
FCMOVNB = 1429,
|
178
|
+
FCMOVNBE = 1447,
|
179
|
+
FCMOVNE = 1438,
|
180
|
+
FCMOVNU = 1457,
|
181
|
+
FCMOVU = 1385,
|
182
|
+
FCOM = 1019,
|
183
|
+
FCOMI = 1496,
|
184
|
+
FCOMIP = 1607,
|
185
|
+
FCOMP = 1025,
|
186
|
+
FCOMPP = 1547,
|
187
|
+
FCOS = 1295,
|
188
|
+
FDECSTP = 1222,
|
189
|
+
FDIV = 1045,
|
190
|
+
FDIVP = 1578,
|
191
|
+
FDIVR = 1051,
|
192
|
+
FDIVRP = 1570,
|
193
|
+
FEDISI = 1472,
|
194
|
+
FEMMS = 574,
|
195
|
+
FENI = 1466,
|
196
|
+
FFREE = 1511,
|
197
|
+
FIADD = 1301,
|
198
|
+
FICOM = 1315,
|
199
|
+
FICOMP = 1322,
|
200
|
+
FIDIV = 1345,
|
201
|
+
FIDIVR = 1352,
|
202
|
+
FILD = 1402,
|
203
|
+
FIMUL = 1308,
|
204
|
+
FINCSTP = 1231,
|
205
|
+
FINIT = 7304,
|
206
|
+
FIST = 1416,
|
207
|
+
FISTP = 1422,
|
208
|
+
FISTTP = 1408,
|
209
|
+
FISUB = 1330,
|
210
|
+
FISUBR = 1337,
|
211
|
+
FLD = 1058,
|
212
|
+
FLD1 = 1125,
|
213
|
+
FLDCW = 1082,
|
214
|
+
FLDENV = 1074,
|
215
|
+
FLDL2E = 1139,
|
216
|
+
FLDL2T = 1131,
|
217
|
+
FLDLG2 = 1154,
|
218
|
+
FLDLN2 = 1162,
|
219
|
+
FLDPI = 1147,
|
220
|
+
FLDZ = 1170,
|
221
|
+
FMUL = 1013,
|
222
|
+
FMULP = 1540,
|
223
|
+
FNCLEX = 7281,
|
224
|
+
FNINIT = 7296,
|
225
|
+
FNOP = 1095,
|
226
|
+
FNSAVE = 7311,
|
227
|
+
FNSTCW = 7266,
|
228
|
+
FNSTENV = 7249,
|
229
|
+
FNSTSW = 7326,
|
230
|
+
FPATAN = 1197,
|
231
|
+
FPREM = 1240,
|
232
|
+
FPREM1 = 1214,
|
233
|
+
FPTAN = 1190,
|
234
|
+
FRNDINT = 1272,
|
235
|
+
FRSTOR = 1503,
|
236
|
+
FSAVE = 7319,
|
237
|
+
FSCALE = 1281,
|
238
|
+
FSETPM = 1480,
|
239
|
+
FSIN = 1289,
|
240
|
+
FSINCOS = 1263,
|
241
|
+
FSQRT = 1256,
|
242
|
+
FST = 1063,
|
243
|
+
FSTCW = 7274,
|
244
|
+
FSTENV = 7258,
|
245
|
+
FSTP = 1068,
|
246
|
+
FSTSW = 7334,
|
247
|
+
FSUB = 1032,
|
248
|
+
FSUBP = 1563,
|
249
|
+
FSUBR = 1038,
|
250
|
+
FSUBRP = 1555,
|
251
|
+
FTST = 1113,
|
252
|
+
FUCOM = 1518,
|
253
|
+
FUCOMI = 1488,
|
254
|
+
FUCOMIP = 1598,
|
255
|
+
FUCOMP = 1525,
|
256
|
+
FUCOMPP = 1393,
|
257
|
+
FXAM = 1119,
|
258
|
+
FXCH = 1089,
|
259
|
+
FXRSTOR = 9892,
|
260
|
+
FXRSTOR64 = 9901,
|
261
|
+
FXSAVE = 9864,
|
262
|
+
FXSAVE64 = 9872,
|
263
|
+
FXTRACT = 1205,
|
264
|
+
FYL2X = 1183,
|
265
|
+
FYL2XP1 = 1247,
|
266
|
+
GETSEC = 633,
|
267
|
+
HADDPD = 4181,
|
268
|
+
HADDPS = 4189,
|
269
|
+
HLT = 482,
|
270
|
+
HSUBPD = 4215,
|
271
|
+
HSUBPS = 4223,
|
272
|
+
IDIV = 1635,
|
273
|
+
IMUL = 117,
|
274
|
+
IN = 447,
|
275
|
+
INC = 81,
|
276
|
+
INS = 123,
|
277
|
+
INSERTPS = 9547,
|
278
|
+
INSERTQ = 4143,
|
279
|
+
INT = 367,
|
280
|
+
INT_3 = 360,
|
281
|
+
INT1 = 476,
|
282
|
+
INTO = 372,
|
283
|
+
INVD = 555,
|
284
|
+
INVEPT = 8284,
|
285
|
+
INVLPG = 1711,
|
286
|
+
INVLPGA = 1847,
|
287
|
+
INVPCID = 8301,
|
288
|
+
INVVPID = 8292,
|
289
|
+
IRET = 378,
|
290
|
+
JA = 166,
|
291
|
+
JAE = 147,
|
292
|
+
JB = 143,
|
293
|
+
JBE = 161,
|
294
|
+
JCXZ = 427,
|
295
|
+
JECXZ = 433,
|
296
|
+
JG = 202,
|
297
|
+
JGE = 192,
|
298
|
+
JL = 188,
|
299
|
+
JLE = 197,
|
300
|
+
JMP = 462,
|
301
|
+
JMP_FAR = 467,
|
302
|
+
JNO = 138,
|
303
|
+
JNP = 183,
|
304
|
+
JNS = 174,
|
305
|
+
JNZ = 156,
|
306
|
+
JO = 134,
|
307
|
+
JP = 179,
|
308
|
+
JRCXZ = 440,
|
309
|
+
JS = 170,
|
310
|
+
JZ = 152,
|
311
|
+
LAHF = 289,
|
312
|
+
LAR = 522,
|
313
|
+
LDDQU = 6994,
|
314
|
+
LDMXCSR = 9922,
|
315
|
+
LDS = 335,
|
316
|
+
LEA = 223,
|
317
|
+
LEAVE = 347,
|
318
|
+
LES = 330,
|
319
|
+
LFENCE = 4265,
|
320
|
+
LFS = 917,
|
321
|
+
LGDT = 1687,
|
322
|
+
LGS = 922,
|
323
|
+
LIDT = 1693,
|
324
|
+
LLDT = 1652,
|
325
|
+
LMSW = 1705,
|
326
|
+
LODS = 313,
|
327
|
+
LOOP = 421,
|
328
|
+
LOOPNZ = 406,
|
329
|
+
LOOPZ = 414,
|
330
|
+
LSL = 527,
|
331
|
+
LSS = 907,
|
332
|
+
LTR = 1658,
|
333
|
+
LZCNT = 4363,
|
334
|
+
MASKMOVDQU = 7119,
|
335
|
+
MASKMOVQ = 7109,
|
336
|
+
MAXPD = 3559,
|
337
|
+
MAXPS = 3552,
|
338
|
+
MAXSD = 3573,
|
339
|
+
MAXSS = 3566,
|
340
|
+
MFENCE = 4291,
|
341
|
+
MINPD = 3439,
|
342
|
+
MINPS = 3432,
|
343
|
+
MINSD = 3453,
|
344
|
+
MINSS = 3446,
|
345
|
+
MONITOR = 1755,
|
346
|
+
MOV = 218,
|
347
|
+
MOVAPD = 2459,
|
348
|
+
MOVAPS = 2451,
|
349
|
+
MOVBE = 9251,
|
350
|
+
MOVD = 3920,
|
351
|
+
MOVDDUP = 2186,
|
352
|
+
MOVDQ2Q = 6522,
|
353
|
+
MOVDQA = 3946,
|
354
|
+
MOVDQU = 3954,
|
355
|
+
MOVHLPS = 2151,
|
356
|
+
MOVHPD = 2345,
|
357
|
+
MOVHPS = 2337,
|
358
|
+
MOVLHPS = 2328,
|
359
|
+
MOVLPD = 2168,
|
360
|
+
MOVLPS = 2160,
|
361
|
+
MOVMSKPD = 2815,
|
362
|
+
MOVMSKPS = 2805,
|
363
|
+
MOVNTDQ = 6849,
|
364
|
+
MOVNTDQA = 7895,
|
365
|
+
MOVNTI = 952,
|
366
|
+
MOVNTPD = 2556,
|
367
|
+
MOVNTPS = 2547,
|
368
|
+
MOVNTQ = 6841,
|
369
|
+
MOVNTSD = 2574,
|
370
|
+
MOVNTSS = 2565,
|
371
|
+
MOVQ = 3926,
|
372
|
+
MOVQ2DQ = 6513,
|
373
|
+
MOVS = 295,
|
374
|
+
MOVSD = 2110,
|
375
|
+
MOVSHDUP = 2353,
|
376
|
+
MOVSLDUP = 2176,
|
377
|
+
MOVSS = 2103,
|
378
|
+
MOVSX = 939,
|
379
|
+
MOVSXD = 10005,
|
380
|
+
MOVUPD = 2095,
|
381
|
+
MOVUPS = 2087,
|
382
|
+
MOVZX = 927,
|
383
|
+
MPSADBW = 9628,
|
384
|
+
MUL = 1625,
|
385
|
+
MULPD = 3170,
|
386
|
+
MULPS = 3163,
|
387
|
+
MULSD = 3184,
|
388
|
+
MULSS = 3177,
|
389
|
+
MWAIT = 1764,
|
390
|
+
NEG = 1620,
|
391
|
+
NOP = 581,
|
392
|
+
NOT = 1615,
|
393
|
+
OR = 27,
|
394
|
+
ORPD = 3053,
|
395
|
+
ORPS = 3047,
|
396
|
+
OUT = 451,
|
397
|
+
OUTS = 128,
|
398
|
+
PABSB = 7688,
|
399
|
+
PABSD = 7718,
|
400
|
+
PABSW = 7703,
|
401
|
+
PACKSSDW = 3849,
|
402
|
+
PACKSSWB = 3681,
|
403
|
+
PACKUSDW = 7916,
|
404
|
+
PACKUSWB = 3759,
|
405
|
+
PADDB = 7204,
|
406
|
+
PADDD = 7234,
|
407
|
+
PADDQ = 6481,
|
408
|
+
PADDSB = 6930,
|
409
|
+
PADDSW = 6947,
|
410
|
+
PADDUSB = 6620,
|
411
|
+
PADDUSW = 6639,
|
412
|
+
PADDW = 7219,
|
413
|
+
PALIGNR = 9410,
|
414
|
+
PAND = 6607,
|
415
|
+
PANDN = 6665,
|
416
|
+
PAUSE = 10013,
|
417
|
+
PAVGB = 6680,
|
418
|
+
PAVGUSB = 2078,
|
419
|
+
PAVGW = 6725,
|
420
|
+
PBLENDVB = 7599,
|
421
|
+
PBLENDW = 9391,
|
422
|
+
PCLMULQDQ = 9647,
|
423
|
+
PCMPEQB = 4043,
|
424
|
+
PCMPEQD = 4081,
|
425
|
+
PCMPEQQ = 7876,
|
426
|
+
PCMPEQW = 4062,
|
427
|
+
PCMPESTRI = 9726,
|
428
|
+
PCMPESTRM = 9703,
|
429
|
+
PCMPGTB = 3702,
|
430
|
+
PCMPGTD = 3740,
|
431
|
+
PCMPGTQ = 8087,
|
432
|
+
PCMPGTW = 3721,
|
433
|
+
PCMPISTRI = 9772,
|
434
|
+
PCMPISTRM = 9749,
|
435
|
+
PEXTRB = 9429,
|
436
|
+
PEXTRD = 9446,
|
437
|
+
PEXTRQ = 9454,
|
438
|
+
PEXTRW = 6311,
|
439
|
+
PF2ID = 1914,
|
440
|
+
PF2IW = 1907,
|
441
|
+
PFACC = 2028,
|
442
|
+
PFADD = 1977,
|
443
|
+
PFCMPEQ = 2035,
|
444
|
+
PFCMPGE = 1938,
|
445
|
+
PFCMPGT = 1984,
|
446
|
+
PFMAX = 1993,
|
447
|
+
PFMIN = 1947,
|
448
|
+
PFMUL = 2044,
|
449
|
+
PFNACC = 1921,
|
450
|
+
PFPNACC = 1929,
|
451
|
+
PFRCP = 1954,
|
452
|
+
PFRCPIT1 = 2000,
|
453
|
+
PFRCPIT2 = 2051,
|
454
|
+
PFRSQIT1 = 2010,
|
455
|
+
PFRSQRT = 1961,
|
456
|
+
PFSUB = 1970,
|
457
|
+
PFSUBR = 2020,
|
458
|
+
PHADDD = 7375,
|
459
|
+
PHADDSW = 7392,
|
460
|
+
PHADDW = 7358,
|
461
|
+
PHMINPOSUW = 8259,
|
462
|
+
PHSUBD = 7451,
|
463
|
+
PHSUBSW = 7468,
|
464
|
+
PHSUBW = 7434,
|
465
|
+
PI2FD = 1900,
|
466
|
+
PI2FW = 1893,
|
467
|
+
PINSRB = 9530,
|
468
|
+
PINSRD = 9568,
|
469
|
+
PINSRQ = 9576,
|
470
|
+
PINSRW = 6294,
|
471
|
+
PMADDUBSW = 7411,
|
472
|
+
PMADDWD = 7073,
|
473
|
+
PMAXSB = 8174,
|
474
|
+
PMAXSD = 8191,
|
475
|
+
PMAXSW = 6964,
|
476
|
+
PMAXUB = 6648,
|
477
|
+
PMAXUD = 8225,
|
478
|
+
PMAXUW = 8208,
|
479
|
+
PMINSB = 8106,
|
480
|
+
PMINSD = 8123,
|
481
|
+
PMINSW = 6902,
|
482
|
+
PMINUB = 6590,
|
483
|
+
PMINUD = 8157,
|
484
|
+
PMINUW = 8140,
|
485
|
+
PMOVMSKB = 6531,
|
486
|
+
PMOVSXBD = 7754,
|
487
|
+
PMOVSXBQ = 7775,
|
488
|
+
PMOVSXBW = 7733,
|
489
|
+
PMOVSXDQ = 7838,
|
490
|
+
PMOVSXWD = 7796,
|
491
|
+
PMOVSXWQ = 7817,
|
492
|
+
PMOVZXBD = 7982,
|
493
|
+
PMOVZXBQ = 8003,
|
494
|
+
PMOVZXBW = 7961,
|
495
|
+
PMOVZXDQ = 8066,
|
496
|
+
PMOVZXWD = 8024,
|
497
|
+
PMOVZXWQ = 8045,
|
498
|
+
PMULDQ = 7859,
|
499
|
+
PMULHRSW = 7538,
|
500
|
+
PMULHRW = 2061,
|
501
|
+
PMULHUW = 6740,
|
502
|
+
PMULHW = 6759,
|
503
|
+
PMULLD = 8242,
|
504
|
+
PMULLW = 6496,
|
505
|
+
PMULUDQ = 7054,
|
506
|
+
POP = 22,
|
507
|
+
POPA = 98,
|
508
|
+
POPCNT = 4338,
|
509
|
+
POPF = 277,
|
510
|
+
POR = 6919,
|
511
|
+
PREFETCH = 1872,
|
512
|
+
PREFETCHNTA = 2402,
|
513
|
+
PREFETCHT0 = 2415,
|
514
|
+
PREFETCHT1 = 2427,
|
515
|
+
PREFETCHT2 = 2439,
|
516
|
+
PREFETCHW = 1882,
|
517
|
+
PSADBW = 7092,
|
518
|
+
PSHUFB = 7341,
|
519
|
+
PSHUFD = 3988,
|
520
|
+
PSHUFHW = 3996,
|
521
|
+
PSHUFLW = 4005,
|
522
|
+
PSHUFW = 3980,
|
523
|
+
PSIGNB = 7487,
|
524
|
+
PSIGND = 7521,
|
525
|
+
PSIGNW = 7504,
|
526
|
+
PSLLD = 7024,
|
527
|
+
PSLLDQ = 9847,
|
528
|
+
PSLLQ = 7039,
|
529
|
+
PSLLW = 7009,
|
530
|
+
PSRAD = 6710,
|
531
|
+
PSRAW = 6695,
|
532
|
+
PSRLD = 6451,
|
533
|
+
PSRLDQ = 9830,
|
534
|
+
PSRLQ = 6466,
|
535
|
+
PSRLW = 6436,
|
536
|
+
PSUBB = 7144,
|
537
|
+
PSUBD = 7174,
|
538
|
+
PSUBQ = 7189,
|
539
|
+
PSUBSB = 6868,
|
540
|
+
PSUBSW = 6885,
|
541
|
+
PSUBUSB = 6552,
|
542
|
+
PSUBUSW = 6571,
|
543
|
+
PSUBW = 7159,
|
544
|
+
PSWAPD = 2070,
|
545
|
+
PTEST = 7629,
|
546
|
+
PUNPCKHBW = 3780,
|
547
|
+
PUNPCKHDQ = 3826,
|
548
|
+
PUNPCKHQDQ = 3895,
|
549
|
+
PUNPCKHWD = 3803,
|
550
|
+
PUNPCKLBW = 3612,
|
551
|
+
PUNPCKLDQ = 3658,
|
552
|
+
PUNPCKLQDQ = 3870,
|
553
|
+
PUNPCKLWD = 3635,
|
554
|
+
PUSH = 16,
|
555
|
+
PUSHA = 91,
|
556
|
+
PUSHF = 270,
|
557
|
+
PXOR = 6981,
|
558
|
+
RCL = 977,
|
559
|
+
RCPPS = 2953,
|
560
|
+
RCPSS = 2960,
|
561
|
+
RCR = 982,
|
562
|
+
RDFSBASE = 9882,
|
563
|
+
RDGSBASE = 9912,
|
564
|
+
RDMSR = 600,
|
565
|
+
RDPMC = 607,
|
566
|
+
RDRAND = 10026,
|
567
|
+
RDTSC = 593,
|
568
|
+
RDTSCP = 1864,
|
569
|
+
RET = 325,
|
570
|
+
RETF = 354,
|
571
|
+
ROL = 967,
|
572
|
+
ROR = 972,
|
573
|
+
ROUNDPD = 9296,
|
574
|
+
ROUNDPS = 9277,
|
575
|
+
ROUNDSD = 9334,
|
576
|
+
ROUNDSS = 9315,
|
577
|
+
RSM = 882,
|
578
|
+
RSQRTPS = 2915,
|
579
|
+
RSQRTSS = 2924,
|
580
|
+
SAHF = 283,
|
581
|
+
SAL = 997,
|
582
|
+
SALC = 394,
|
583
|
+
SAR = 1002,
|
584
|
+
SBB = 36,
|
585
|
+
SCAS = 319,
|
586
|
+
SETA = 807,
|
587
|
+
SETAE = 780,
|
588
|
+
SETB = 774,
|
589
|
+
SETBE = 800,
|
590
|
+
SETG = 859,
|
591
|
+
SETGE = 845,
|
592
|
+
SETL = 839,
|
593
|
+
SETLE = 852,
|
594
|
+
SETNO = 767,
|
595
|
+
SETNP = 832,
|
596
|
+
SETNS = 819,
|
597
|
+
SETNZ = 793,
|
598
|
+
SETO = 761,
|
599
|
+
SETP = 826,
|
600
|
+
SETS = 813,
|
601
|
+
SETZ = 787,
|
602
|
+
SFENCE = 4321,
|
603
|
+
SGDT = 1675,
|
604
|
+
SHL = 987,
|
605
|
+
SHLD = 876,
|
606
|
+
SHR = 992,
|
607
|
+
SHRD = 892,
|
608
|
+
SHUFPD = 6336,
|
609
|
+
SHUFPS = 6328,
|
610
|
+
SIDT = 1681,
|
611
|
+
SKINIT = 1839,
|
612
|
+
SLDT = 1641,
|
613
|
+
SMSW = 1699,
|
614
|
+
SQRTPD = 2855,
|
615
|
+
SQRTPS = 2847,
|
616
|
+
SQRTSD = 2871,
|
617
|
+
SQRTSS = 2863,
|
618
|
+
STC = 497,
|
619
|
+
STD = 517,
|
620
|
+
STGI = 1827,
|
621
|
+
STI = 507,
|
622
|
+
STMXCSR = 9951,
|
623
|
+
STOS = 307,
|
624
|
+
STR = 1647,
|
625
|
+
SUB = 51,
|
626
|
+
SUBPD = 3379,
|
627
|
+
SUBPS = 3372,
|
628
|
+
SUBSD = 3393,
|
629
|
+
SUBSS = 3386,
|
630
|
+
SWAPGS = 1856,
|
631
|
+
SYSCALL = 532,
|
632
|
+
SYSENTER = 614,
|
633
|
+
SYSEXIT = 624,
|
634
|
+
SYSRET = 547,
|
635
|
+
TEST = 206,
|
636
|
+
TZCNT = 4351,
|
637
|
+
UCOMISD = 2742,
|
638
|
+
UCOMISS = 2733,
|
639
|
+
UD2 = 569,
|
640
|
+
UNPCKHPD = 2296,
|
641
|
+
UNPCKHPS = 2286,
|
642
|
+
UNPCKLPD = 2254,
|
643
|
+
UNPCKLPS = 2244,
|
644
|
+
VADDPD = 3139,
|
645
|
+
VADDPS = 3131,
|
646
|
+
VADDSD = 3155,
|
647
|
+
VADDSS = 3147,
|
648
|
+
VADDSUBPD = 6414,
|
649
|
+
VADDSUBPS = 6425,
|
650
|
+
VAESDEC = 9217,
|
651
|
+
VAESDECLAST = 9238,
|
652
|
+
VAESENC = 9175,
|
653
|
+
VAESENCLAST = 9196,
|
654
|
+
VAESIMC = 9158,
|
655
|
+
VAESKEYGENASSIST = 9812,
|
656
|
+
VANDNPD = 3038,
|
657
|
+
VANDNPS = 3029,
|
658
|
+
VANDPD = 3005,
|
659
|
+
VANDPS = 2997,
|
660
|
+
VBLENDPD = 9381,
|
661
|
+
VBLENDPS = 9362,
|
662
|
+
VBLENDVPD = 9681,
|
663
|
+
VBLENDVPS = 9670,
|
664
|
+
VBROADCASTF128 = 7672,
|
665
|
+
VBROADCASTSD = 7658,
|
666
|
+
VBROADCASTSS = 7644,
|
667
|
+
VCMPEQPD = 5088,
|
668
|
+
VCMPEQPS = 4686,
|
669
|
+
VCMPEQSD = 5892,
|
670
|
+
VCMPEQSS = 5490,
|
671
|
+
VCMPEQ_OSPD = 5269,
|
672
|
+
VCMPEQ_OSPS = 4867,
|
673
|
+
VCMPEQ_OSSD = 6073,
|
674
|
+
VCMPEQ_OSSS = 5671,
|
675
|
+
VCMPEQ_UQPD = 5175,
|
676
|
+
VCMPEQ_UQPS = 4773,
|
677
|
+
VCMPEQ_UQSD = 5979,
|
678
|
+
VCMPEQ_UQSS = 5577,
|
679
|
+
VCMPEQ_USPD = 5378,
|
680
|
+
VCMPEQ_USPS = 4976,
|
681
|
+
VCMPEQ_USSD = 6182,
|
682
|
+
VCMPEQ_USSS = 5780,
|
683
|
+
VCMPFALSEPD = 5210,
|
684
|
+
VCMPFALSEPS = 4808,
|
685
|
+
VCMPFALSESD = 6014,
|
686
|
+
VCMPFALSESS = 5612,
|
687
|
+
VCMPFALSE_OSPD = 5419,
|
688
|
+
VCMPFALSE_OSPS = 5017,
|
689
|
+
VCMPFALSE_OSSD = 6223,
|
690
|
+
VCMPFALSE_OSSS = 5821,
|
691
|
+
VCMPGEPD = 5237,
|
692
|
+
VCMPGEPS = 4835,
|
693
|
+
VCMPGESD = 6041,
|
694
|
+
VCMPGESS = 5639,
|
695
|
+
VCMPGE_OQPD = 5449,
|
696
|
+
VCMPGE_OQPS = 5047,
|
697
|
+
VCMPGE_OQSD = 6253,
|
698
|
+
VCMPGE_OQSS = 5851,
|
699
|
+
VCMPGTPD = 5247,
|
700
|
+
VCMPGTPS = 4845,
|
701
|
+
VCMPGTSD = 6051,
|
702
|
+
VCMPGTSS = 5649,
|
703
|
+
VCMPGT_OQPD = 5462,
|
704
|
+
VCMPGT_OQPS = 5060,
|
705
|
+
VCMPGT_OQSD = 6266,
|
706
|
+
VCMPGT_OQSS = 5864,
|
707
|
+
VCMPLEPD = 5108,
|
708
|
+
VCMPLEPS = 4706,
|
709
|
+
VCMPLESD = 5912,
|
710
|
+
VCMPLESS = 5510,
|
711
|
+
VCMPLE_OQPD = 5295,
|
712
|
+
VCMPLE_OQPS = 4893,
|
713
|
+
VCMPLE_OQSD = 6099,
|
714
|
+
VCMPLE_OQSS = 5697,
|
715
|
+
VCMPLTPD = 5098,
|
716
|
+
VCMPLTPS = 4696,
|
717
|
+
VCMPLTSD = 5902,
|
718
|
+
VCMPLTSS = 5500,
|
719
|
+
VCMPLT_OQPD = 5282,
|
720
|
+
VCMPLT_OQPS = 4880,
|
721
|
+
VCMPLT_OQSD = 6086,
|
722
|
+
VCMPLT_OQSS = 5684,
|
723
|
+
VCMPNEQPD = 5131,
|
724
|
+
VCMPNEQPS = 4729,
|
725
|
+
VCMPNEQSD = 5935,
|
726
|
+
VCMPNEQSS = 5533,
|
727
|
+
VCMPNEQ_OQPD = 5223,
|
728
|
+
VCMPNEQ_OQPS = 4821,
|
729
|
+
VCMPNEQ_OQSD = 6027,
|
730
|
+
VCMPNEQ_OQSS = 5625,
|
731
|
+
VCMPNEQ_OSPD = 5435,
|
732
|
+
VCMPNEQ_OSPS = 5033,
|
733
|
+
VCMPNEQ_OSSD = 6239,
|
734
|
+
VCMPNEQ_OSSS = 5837,
|
735
|
+
VCMPNEQ_USPD = 5323,
|
736
|
+
VCMPNEQ_USPS = 4921,
|
737
|
+
VCMPNEQ_USSD = 6127,
|
738
|
+
VCMPNEQ_USSS = 5725,
|
739
|
+
VCMPNGEPD = 5188,
|
740
|
+
VCMPNGEPS = 4786,
|
741
|
+
VCMPNGESD = 5992,
|
742
|
+
VCMPNGESS = 5590,
|
743
|
+
VCMPNGE_UQPD = 5391,
|
744
|
+
VCMPNGE_UQPS = 4989,
|
745
|
+
VCMPNGE_UQSD = 6195,
|
746
|
+
VCMPNGE_UQSS = 5793,
|
747
|
+
VCMPNGTPD = 5199,
|
748
|
+
VCMPNGTPS = 4797,
|
749
|
+
VCMPNGTSD = 6003,
|
750
|
+
VCMPNGTSS = 5601,
|
751
|
+
VCMPNGT_UQPD = 5405,
|
752
|
+
VCMPNGT_UQPS = 5003,
|
753
|
+
VCMPNGT_UQSD = 6209,
|
754
|
+
VCMPNGT_UQSS = 5807,
|
755
|
+
VCMPNLEPD = 5153,
|
756
|
+
VCMPNLEPS = 4751,
|
757
|
+
VCMPNLESD = 5957,
|
758
|
+
VCMPNLESS = 5555,
|
759
|
+
VCMPNLE_UQPD = 5351,
|
760
|
+
VCMPNLE_UQPS = 4949,
|
761
|
+
VCMPNLE_UQSD = 6155,
|
762
|
+
VCMPNLE_UQSS = 5753,
|
763
|
+
VCMPNLTPD = 5142,
|
764
|
+
VCMPNLTPS = 4740,
|
765
|
+
VCMPNLTSD = 5946,
|
766
|
+
VCMPNLTSS = 5544,
|
767
|
+
VCMPNLT_UQPD = 5337,
|
768
|
+
VCMPNLT_UQPS = 4935,
|
769
|
+
VCMPNLT_UQSD = 6141,
|
770
|
+
VCMPNLT_UQSS = 5739,
|
771
|
+
VCMPORDPD = 5164,
|
772
|
+
VCMPORDPS = 4762,
|
773
|
+
VCMPORDSD = 5968,
|
774
|
+
VCMPORDSS = 5566,
|
775
|
+
VCMPORD_SPD = 5365,
|
776
|
+
VCMPORD_SPS = 4963,
|
777
|
+
VCMPORD_SSD = 6169,
|
778
|
+
VCMPORD_SSS = 5767,
|
779
|
+
VCMPTRUEPD = 5257,
|
780
|
+
VCMPTRUEPS = 4855,
|
781
|
+
VCMPTRUESD = 6061,
|
782
|
+
VCMPTRUESS = 5659,
|
783
|
+
VCMPTRUE_USPD = 5475,
|
784
|
+
VCMPTRUE_USPS = 5073,
|
785
|
+
VCMPTRUE_USSD = 6279,
|
786
|
+
VCMPTRUE_USSS = 5877,
|
787
|
+
VCMPUNORDPD = 5118,
|
788
|
+
VCMPUNORDPS = 4716,
|
789
|
+
VCMPUNORDSD = 5922,
|
790
|
+
VCMPUNORDSS = 5520,
|
791
|
+
VCMPUNORD_SPD = 5308,
|
792
|
+
VCMPUNORD_SPS = 4906,
|
793
|
+
VCMPUNORD_SSD = 6112,
|
794
|
+
VCMPUNORD_SSS = 5710,
|
795
|
+
VCOMISD = 2796,
|
796
|
+
VCOMISS = 2787,
|
797
|
+
VCVTDQ2PD = 6819,
|
798
|
+
VCVTDQ2PS = 3338,
|
799
|
+
VCVTPD2DQ = 6830,
|
800
|
+
VCVTPD2PS = 3274,
|
801
|
+
VCVTPS2DQ = 3349,
|
802
|
+
VCVTPS2PD = 3263,
|
803
|
+
VCVTSD2SI = 2722,
|
804
|
+
VCVTSD2SS = 3296,
|
805
|
+
VCVTSI2SD = 2536,
|
806
|
+
VCVTSI2SS = 2525,
|
807
|
+
VCVTSS2SD = 3285,
|
808
|
+
VCVTSS2SI = 2711,
|
809
|
+
VCVTTPD2DQ = 6807,
|
810
|
+
VCVTTPS2DQ = 3360,
|
811
|
+
VCVTTSD2SI = 2659,
|
812
|
+
VCVTTSS2SI = 2647,
|
813
|
+
VDIVPD = 3528,
|
814
|
+
VDIVPS = 3520,
|
815
|
+
VDIVSD = 3544,
|
816
|
+
VDIVSS = 3536,
|
817
|
+
VDPPD = 9621,
|
818
|
+
VDPPS = 9608,
|
819
|
+
VERR = 1663,
|
820
|
+
VERW = 1669,
|
821
|
+
VEXTRACTF128 = 9516,
|
822
|
+
VEXTRACTPS = 9491,
|
823
|
+
VFMADD132PD = 8387,
|
824
|
+
VFMADD132PS = 8374,
|
825
|
+
VFMADD132SD = 8413,
|
826
|
+
VFMADD132SS = 8400,
|
827
|
+
VFMADD213PD = 8667,
|
828
|
+
VFMADD213PS = 8654,
|
829
|
+
VFMADD213SD = 8693,
|
830
|
+
VFMADD213SS = 8680,
|
831
|
+
VFMADD231PD = 8947,
|
832
|
+
VFMADD231PS = 8934,
|
833
|
+
VFMADD231SD = 8973,
|
834
|
+
VFMADD231SS = 8960,
|
835
|
+
VFMADDSUB132PD = 8326,
|
836
|
+
VFMADDSUB132PS = 8310,
|
837
|
+
VFMADDSUB213PD = 8606,
|
838
|
+
VFMADDSUB213PS = 8590,
|
839
|
+
VFMADDSUB231PD = 8886,
|
840
|
+
VFMADDSUB231PS = 8870,
|
841
|
+
VFMSUB132PD = 8439,
|
842
|
+
VFMSUB132PS = 8426,
|
843
|
+
VFMSUB132SD = 8465,
|
844
|
+
VFMSUB132SS = 8452,
|
845
|
+
VFMSUB213PD = 8719,
|
846
|
+
VFMSUB213PS = 8706,
|
847
|
+
VFMSUB213SD = 8745,
|
848
|
+
VFMSUB213SS = 8732,
|
849
|
+
VFMSUB231PD = 8999,
|
850
|
+
VFMSUB231PS = 8986,
|
851
|
+
VFMSUB231SD = 9025,
|
852
|
+
VFMSUB231SS = 9012,
|
853
|
+
VFMSUBADD132PD = 8358,
|
854
|
+
VFMSUBADD132PS = 8342,
|
855
|
+
VFMSUBADD213PD = 8638,
|
856
|
+
VFMSUBADD213PS = 8622,
|
857
|
+
VFMSUBADD231PD = 8918,
|
858
|
+
VFMSUBADD231PS = 8902,
|
859
|
+
VFNMADD132PD = 8492,
|
860
|
+
VFNMADD132PS = 8478,
|
861
|
+
VFNMADD132SD = 8520,
|
862
|
+
VFNMADD132SS = 8506,
|
863
|
+
VFNMADD213PD = 8772,
|
864
|
+
VFNMADD213PS = 8758,
|
865
|
+
VFNMADD213SD = 8800,
|
866
|
+
VFNMADD213SS = 8786,
|
867
|
+
VFNMADD231PD = 9052,
|
868
|
+
VFNMADD231PS = 9038,
|
869
|
+
VFNMADD231SD = 9080,
|
870
|
+
VFNMADD231SS = 9066,
|
871
|
+
VFNMSUB132PD = 8548,
|
872
|
+
VFNMSUB132PS = 8534,
|
873
|
+
VFNMSUB132SD = 8576,
|
874
|
+
VFNMSUB132SS = 8562,
|
875
|
+
VFNMSUB213PD = 8828,
|
876
|
+
VFNMSUB213PS = 8814,
|
877
|
+
VFNMSUB213SD = 8856,
|
878
|
+
VFNMSUB213SS = 8842,
|
879
|
+
VFNMSUB231PD = 9108,
|
880
|
+
VFNMSUB231PS = 9094,
|
881
|
+
VFNMSUB231SD = 9136,
|
882
|
+
VFNMSUB231SS = 9122,
|
883
|
+
VHADDPD = 4197,
|
884
|
+
VHADDPS = 4206,
|
885
|
+
VHSUBPD = 4231,
|
886
|
+
VHSUBPS = 4240,
|
887
|
+
VINSERTF128 = 9503,
|
888
|
+
VINSERTPS = 9557,
|
889
|
+
VLDDQU = 7001,
|
890
|
+
VLDMXCSR = 9941,
|
891
|
+
VMASKMOVDQU = 7131,
|
892
|
+
VMASKMOVPD = 7949,
|
893
|
+
VMASKMOVPS = 7937,
|
894
|
+
VMAXPD = 3588,
|
895
|
+
VMAXPS = 3580,
|
896
|
+
VMAXSD = 3604,
|
897
|
+
VMAXSS = 3596,
|
898
|
+
VMCALL = 1719,
|
899
|
+
VMCLEAR = 9989,
|
900
|
+
VMFUNC = 1787,
|
901
|
+
VMINPD = 3468,
|
902
|
+
VMINPS = 3460,
|
903
|
+
VMINSD = 3484,
|
904
|
+
VMINSS = 3476,
|
905
|
+
VMLAUNCH = 1727,
|
906
|
+
VMLOAD = 1811,
|
907
|
+
VMMCALL = 1802,
|
908
|
+
VMOVAPD = 2476,
|
909
|
+
VMOVAPS = 2467,
|
910
|
+
VMOVD = 3932,
|
911
|
+
VMOVDDUP = 2234,
|
912
|
+
VMOVDQA = 3962,
|
913
|
+
VMOVDQU = 3971,
|
914
|
+
VMOVHLPS = 2195,
|
915
|
+
VMOVHPD = 2382,
|
916
|
+
VMOVHPS = 2373,
|
917
|
+
VMOVLHPS = 2363,
|
918
|
+
VMOVLPD = 2214,
|
919
|
+
VMOVLPS = 2205,
|
920
|
+
VMOVMSKPD = 2836,
|
921
|
+
VMOVMSKPS = 2825,
|
922
|
+
VMOVNTDQ = 6858,
|
923
|
+
VMOVNTDQA = 7905,
|
924
|
+
VMOVNTPD = 2593,
|
925
|
+
VMOVNTPS = 2583,
|
926
|
+
VMOVQ = 3939,
|
927
|
+
VMOVSD = 2143,
|
928
|
+
VMOVSHDUP = 2391,
|
929
|
+
VMOVSLDUP = 2223,
|
930
|
+
VMOVSS = 2135,
|
931
|
+
VMOVUPD = 2126,
|
932
|
+
VMOVUPS = 2117,
|
933
|
+
VMPSADBW = 9637,
|
934
|
+
VMPTRLD = 9980,
|
935
|
+
VMPTRST = 6385,
|
936
|
+
VMREAD = 4128,
|
937
|
+
VMRESUME = 1737,
|
938
|
+
VMRUN = 1795,
|
939
|
+
VMSAVE = 1819,
|
940
|
+
VMULPD = 3199,
|
941
|
+
VMULPS = 3191,
|
942
|
+
VMULSD = 3215,
|
943
|
+
VMULSS = 3207,
|
944
|
+
VMWRITE = 4152,
|
945
|
+
VMXOFF = 1747,
|
946
|
+
VMXON = 9998,
|
947
|
+
VORPD = 3066,
|
948
|
+
VORPS = 3059,
|
949
|
+
VPABSB = 7695,
|
950
|
+
VPABSD = 7725,
|
951
|
+
VPABSW = 7710,
|
952
|
+
VPACKSSDW = 3859,
|
953
|
+
VPACKSSWB = 3691,
|
954
|
+
VPACKUSDW = 7926,
|
955
|
+
VPACKUSWB = 3769,
|
956
|
+
VPADDB = 7211,
|
957
|
+
VPADDD = 7241,
|
958
|
+
VPADDQ = 6488,
|
959
|
+
VPADDSB = 6938,
|
960
|
+
VPADDSW = 6955,
|
961
|
+
VPADDUSW = 6629,
|
962
|
+
VPADDW = 7226,
|
963
|
+
VPALIGNR = 9419,
|
964
|
+
VPAND = 6613,
|
965
|
+
VPANDN = 6672,
|
966
|
+
VPAVGB = 6687,
|
967
|
+
VPAVGW = 6732,
|
968
|
+
VPBLENDVB = 9692,
|
969
|
+
VPBLENDW = 9400,
|
970
|
+
VPCLMULQDQ = 9658,
|
971
|
+
VPCMPEQB = 4052,
|
972
|
+
VPCMPEQD = 4090,
|
973
|
+
VPCMPEQQ = 7885,
|
974
|
+
VPCMPEQW = 4071,
|
975
|
+
VPCMPESTRI = 9737,
|
976
|
+
VPCMPESTRM = 9714,
|
977
|
+
VPCMPGTB = 3711,
|
978
|
+
VPCMPGTD = 3749,
|
979
|
+
VPCMPGTQ = 8096,
|
980
|
+
VPCMPGTW = 3730,
|
981
|
+
VPCMPISTRI = 9783,
|
982
|
+
VPCMPISTRM = 9760,
|
983
|
+
VPERM2F128 = 9265,
|
984
|
+
VPERMILPD = 7570,
|
985
|
+
VPERMILPS = 7559,
|
986
|
+
VPEXTRB = 9437,
|
987
|
+
VPEXTRD = 9462,
|
988
|
+
VPEXTRQ = 9471,
|
989
|
+
VPEXTRW = 6319,
|
990
|
+
VPHADDD = 7383,
|
991
|
+
VPHADDSW = 7401,
|
992
|
+
VPHADDW = 7366,
|
993
|
+
VPHMINPOSUW = 8271,
|
994
|
+
VPHSUBD = 7459,
|
995
|
+
VPHSUBSW = 7477,
|
996
|
+
VPHSUBW = 7442,
|
997
|
+
VPINSRB = 9538,
|
998
|
+
VPINSRD = 9584,
|
999
|
+
VPINSRQ = 9593,
|
1000
|
+
VPINSRW = 6302,
|
1001
|
+
VPMADDUBSW = 7422,
|
1002
|
+
VPMADDWD = 7082,
|
1003
|
+
VPMAXSB = 8182,
|
1004
|
+
VPMAXSD = 8199,
|
1005
|
+
VPMAXSW = 6972,
|
1006
|
+
VPMAXUB = 6656,
|
1007
|
+
VPMAXUD = 8233,
|
1008
|
+
VPMAXUW = 8216,
|
1009
|
+
VPMINSB = 8114,
|
1010
|
+
VPMINSD = 8131,
|
1011
|
+
VPMINSW = 6910,
|
1012
|
+
VPMINUB = 6598,
|
1013
|
+
VPMINUD = 8165,
|
1014
|
+
VPMINUW = 8148,
|
1015
|
+
VPMOVMSKB = 6541,
|
1016
|
+
VPMOVSXBD = 7764,
|
1017
|
+
VPMOVSXBQ = 7785,
|
1018
|
+
VPMOVSXBW = 7743,
|
1019
|
+
VPMOVSXDQ = 7848,
|
1020
|
+
VPMOVSXWD = 7806,
|
1021
|
+
VPMOVSXWQ = 7827,
|
1022
|
+
VPMOVZXBD = 7992,
|
1023
|
+
VPMOVZXBQ = 8013,
|
1024
|
+
VPMOVZXBW = 7971,
|
1025
|
+
VPMOVZXDQ = 8076,
|
1026
|
+
VPMOVZXWD = 8034,
|
1027
|
+
VPMOVZXWQ = 8055,
|
1028
|
+
VPMULDQ = 7867,
|
1029
|
+
VPMULHRSW = 7548,
|
1030
|
+
VPMULHUW = 6749,
|
1031
|
+
VPMULHW = 6767,
|
1032
|
+
VPMULLD = 8250,
|
1033
|
+
VPMULLW = 6504,
|
1034
|
+
VPMULUDQ = 7063,
|
1035
|
+
VPOR = 6924,
|
1036
|
+
VPSADBW = 7100,
|
1037
|
+
VPSHUFB = 7349,
|
1038
|
+
VPSHUFD = 4014,
|
1039
|
+
VPSHUFHW = 4023,
|
1040
|
+
VPSHUFLW = 4033,
|
1041
|
+
VPSIGNB = 7495,
|
1042
|
+
VPSIGND = 7529,
|
1043
|
+
VPSIGNW = 7512,
|
1044
|
+
VPSLLD = 7031,
|
1045
|
+
VPSLLDQ = 9855,
|
1046
|
+
VPSLLQ = 7046,
|
1047
|
+
VPSLLW = 7016,
|
1048
|
+
VPSRAD = 6717,
|
1049
|
+
VPSRAW = 6702,
|
1050
|
+
VPSRLD = 6458,
|
1051
|
+
VPSRLDQ = 9838,
|
1052
|
+
VPSRLQ = 6473,
|
1053
|
+
VPSRLW = 6443,
|
1054
|
+
VPSUBB = 7151,
|
1055
|
+
VPSUBD = 7181,
|
1056
|
+
VPSUBQ = 7196,
|
1057
|
+
VPSUBSB = 6876,
|
1058
|
+
VPSUBSW = 6893,
|
1059
|
+
VPSUBUSB = 6561,
|
1060
|
+
VPSUBUSW = 6580,
|
1061
|
+
VPSUBW = 7166,
|
1062
|
+
VPTEST = 7636,
|
1063
|
+
VPUNPCKHBW = 3791,
|
1064
|
+
VPUNPCKHDQ = 3837,
|
1065
|
+
VPUNPCKHQDQ = 3907,
|
1066
|
+
VPUNPCKHWD = 3814,
|
1067
|
+
VPUNPCKLBW = 3623,
|
1068
|
+
VPUNPCKLDQ = 3669,
|
1069
|
+
VPUNPCKLQDQ = 3882,
|
1070
|
+
VPUNPCKLWD = 3646,
|
1071
|
+
VPXOR = 6987,
|
1072
|
+
VRCPPS = 2967,
|
1073
|
+
VRCPSS = 2975,
|
1074
|
+
VROUNDPD = 9305,
|
1075
|
+
VROUNDPS = 9286,
|
1076
|
+
VROUNDSD = 9343,
|
1077
|
+
VROUNDSS = 9324,
|
1078
|
+
VRSQRTPS = 2933,
|
1079
|
+
VRSQRTSS = 2943,
|
1080
|
+
VSHUFPD = 6353,
|
1081
|
+
VSHUFPS = 6344,
|
1082
|
+
VSQRTPD = 2888,
|
1083
|
+
VSQRTPS = 2879,
|
1084
|
+
VSQRTSD = 2906,
|
1085
|
+
VSQRTSS = 2897,
|
1086
|
+
VSTMXCSR = 9970,
|
1087
|
+
VSUBPD = 3408,
|
1088
|
+
VSUBPS = 3400,
|
1089
|
+
VSUBSD = 3424,
|
1090
|
+
VSUBSS = 3416,
|
1091
|
+
VTESTPD = 7590,
|
1092
|
+
VTESTPS = 7581,
|
1093
|
+
VUCOMISD = 2761,
|
1094
|
+
VUCOMISS = 2751,
|
1095
|
+
VUNPCKHPD = 2317,
|
1096
|
+
VUNPCKHPS = 2306,
|
1097
|
+
VUNPCKLPD = 2275,
|
1098
|
+
VUNPCKLPS = 2264,
|
1099
|
+
VXORPD = 3095,
|
1100
|
+
VXORPS = 3087,
|
1101
|
+
VZEROALL = 4118,
|
1102
|
+
VZEROUPPER = 4106,
|
1103
|
+
WAIT = 10020,
|
1104
|
+
WBINVD = 561,
|
1105
|
+
WRFSBASE = 9931,
|
1106
|
+
WRGSBASE = 9960,
|
1107
|
+
WRMSR = 586,
|
1108
|
+
XADD = 946,
|
1109
|
+
XCHG = 212,
|
1110
|
+
XGETBV = 1771,
|
1111
|
+
XLAT = 400,
|
1112
|
+
XOR = 61,
|
1113
|
+
XORPD = 3080,
|
1114
|
+
XORPS = 3073,
|
1115
|
+
XRSTOR = 4273,
|
1116
|
+
XRSTOR64 = 4281,
|
1117
|
+
XSAVE = 4249,
|
1118
|
+
XSAVE64 = 4256,
|
1119
|
+
XSAVEOPT = 4299,
|
1120
|
+
XSAVEOPT64 = 4309,
|
1121
|
+
XSETBV = 1779,
|
1122
|
+
_3DNOW = 10034,
|
1123
|
+
}
|
1124
|
+
|
1125
|
+
public enum Register {
|
1126
|
+
|
1127
|
+
R_RAX,
|
1128
|
+
R_RCX,
|
1129
|
+
R_RDX,
|
1130
|
+
R_RBX,
|
1131
|
+
R_RSP,
|
1132
|
+
R_RBP,
|
1133
|
+
R_RSI,
|
1134
|
+
R_RDI,
|
1135
|
+
R_R8,
|
1136
|
+
R_R9,
|
1137
|
+
R_R10,
|
1138
|
+
R_R11,
|
1139
|
+
R_R12,
|
1140
|
+
R_R13,
|
1141
|
+
R_R14,
|
1142
|
+
R_R15,
|
1143
|
+
R_EAX,
|
1144
|
+
R_ECX,
|
1145
|
+
R_EDX,
|
1146
|
+
R_EBX,
|
1147
|
+
R_ESP,
|
1148
|
+
R_EBP,
|
1149
|
+
R_ESI,
|
1150
|
+
R_EDI,
|
1151
|
+
R_R8D,
|
1152
|
+
R_R9D,
|
1153
|
+
R_R10D,
|
1154
|
+
R_R11D,
|
1155
|
+
R_R12D,
|
1156
|
+
R_R13D,
|
1157
|
+
R_R14D,
|
1158
|
+
R_R15D,
|
1159
|
+
R_AX,
|
1160
|
+
R_CX,
|
1161
|
+
R_DX,
|
1162
|
+
R_BX,
|
1163
|
+
R_SP,
|
1164
|
+
R_BP,
|
1165
|
+
R_SI,
|
1166
|
+
R_DI,
|
1167
|
+
R_R8W,
|
1168
|
+
R_R9W,
|
1169
|
+
R_R10W,
|
1170
|
+
R_R11W,
|
1171
|
+
R_R12W,
|
1172
|
+
R_R13W,
|
1173
|
+
R_R14W,
|
1174
|
+
R_R15W,
|
1175
|
+
R_AL,
|
1176
|
+
R_CL,
|
1177
|
+
R_DL,
|
1178
|
+
R_BL,
|
1179
|
+
R_AH,
|
1180
|
+
R_CH,
|
1181
|
+
R_DH,
|
1182
|
+
R_BH,
|
1183
|
+
R_R8B,
|
1184
|
+
R_R9B,
|
1185
|
+
R_R10B,
|
1186
|
+
R_R11B,
|
1187
|
+
R_R12B,
|
1188
|
+
R_R13B,
|
1189
|
+
R_R14B,
|
1190
|
+
R_R15B,
|
1191
|
+
R_SPL,
|
1192
|
+
R_BPL,
|
1193
|
+
R_SIL,
|
1194
|
+
R_DIL,
|
1195
|
+
R_ES,
|
1196
|
+
R_CS,
|
1197
|
+
R_SS,
|
1198
|
+
R_DS,
|
1199
|
+
R_FS,
|
1200
|
+
R_GS,
|
1201
|
+
R_RIP,
|
1202
|
+
R_ST0,
|
1203
|
+
R_ST1,
|
1204
|
+
R_ST2,
|
1205
|
+
R_ST3,
|
1206
|
+
R_ST4,
|
1207
|
+
R_ST5,
|
1208
|
+
R_ST6,
|
1209
|
+
R_ST7,
|
1210
|
+
R_MM0,
|
1211
|
+
R_MM1,
|
1212
|
+
R_MM2,
|
1213
|
+
R_MM3,
|
1214
|
+
R_MM4,
|
1215
|
+
R_MM5,
|
1216
|
+
R_MM6,
|
1217
|
+
R_MM7,
|
1218
|
+
R_XMM0,
|
1219
|
+
R_XMM1,
|
1220
|
+
R_XMM2,
|
1221
|
+
R_XMM3,
|
1222
|
+
R_XMM4,
|
1223
|
+
R_XMM5,
|
1224
|
+
R_XMM6,
|
1225
|
+
R_XMM7,
|
1226
|
+
R_XMM8,
|
1227
|
+
R_XMM9,
|
1228
|
+
R_XMM10,
|
1229
|
+
R_XMM11,
|
1230
|
+
R_XMM12,
|
1231
|
+
R_XMM13,
|
1232
|
+
R_XMM14,
|
1233
|
+
R_XMM15,
|
1234
|
+
R_YMM0,
|
1235
|
+
R_YMM1,
|
1236
|
+
R_YMM2,
|
1237
|
+
R_YMM3,
|
1238
|
+
R_YMM4,
|
1239
|
+
R_YMM5,
|
1240
|
+
R_YMM6,
|
1241
|
+
R_YMM7,
|
1242
|
+
R_YMM8,
|
1243
|
+
R_YMM9,
|
1244
|
+
R_YMM10,
|
1245
|
+
R_YMM11,
|
1246
|
+
R_YMM12,
|
1247
|
+
R_YMM13,
|
1248
|
+
R_YMM14,
|
1249
|
+
R_YMM15,
|
1250
|
+
R_CR0,
|
1251
|
+
R_UNUSED0,
|
1252
|
+
R_CR2,
|
1253
|
+
R_CR3,
|
1254
|
+
R_CR4,
|
1255
|
+
R_UNUSED1,
|
1256
|
+
R_UNUSED2,
|
1257
|
+
R_UNUSED3,
|
1258
|
+
R_CR8,
|
1259
|
+
R_DR0,
|
1260
|
+
R_DR1,
|
1261
|
+
R_DR2,
|
1262
|
+
R_DR3,
|
1263
|
+
R_UNUSED4,
|
1264
|
+
R_UNUSED5,
|
1265
|
+
R_DR6,
|
1266
|
+
R_DR7,
|
1267
|
+
}
|
1268
|
+
}
|