Skip to content

Add fuzzer pass to obfuscate constants.#2671

Merged
afd merged 3 commits intoKhronosGroup:masterfrom
afd:fuzzer-obfuscate-constants
Jun 18, 2019
Merged

Add fuzzer pass to obfuscate constants.#2671
afd merged 3 commits intoKhronosGroup:masterfrom
afd:fuzzer-obfuscate-constants

Conversation

@afd
Copy link
Copy Markdown
Contributor

@afd afd commented Jun 13, 2019

Adds a new transformation that can replace a constant with a uniform known to have the same value, and adds a fuzzer pass that (a) replaces a boolean with a comparison of literals (e.g. replacing "true" with "42 > 24"), and then (b) obfuscates the literals appearing in this comparison by replacing them with identically-valued uniforms, if available.

The fuzzer_replayer test file has also been updated to allow initial facts to be provided, and to do error checking of the status results returned by the fuzzer and replayer components.

@afd afd requested a review from alan-baker June 13, 2019 14:55
afd added 2 commits June 18, 2019 11:07
Adds a new transformation that can replace a constant with a uniform
known to have the same value, and adds a fuzzer pass that (a) replaces
a boolean with a comparison of literals (e.g. replacing "true" with
"42 > 24"), and then (b) obfuscates the literals appearing in this
comparison by replacing them with identically-valued uniforms, if
available.

The fuzzer_replayer test file has also been updated to allow initial
facts to be provided, and to do error checking of the status results
returned by the fuzzer and replayer components.
@afd afd requested a review from alan-baker June 18, 2019 11:21
@afd afd merged commit 001e823 into KhronosGroup:master Jun 18, 2019
@afd afd deleted the fuzzer-obfuscate-constants branch June 19, 2019 06:05
dneto0 pushed a commit to dneto0/SPIRV-Tools that referenced this pull request Sep 14, 2024
Roll third_party/glslang/ 9db7278..f9d08a2 (6 commits)

KhronosGroup/glslang@9db7278...f9d08a2

$ git log 9db7278..f9d08a2 --date=short --no-merges --format='%ad %ae %s'
2019-06-18 cepheus Bump revision.
2019-06-17 cepheus AST/SPV: Fix KhronosGroup#930: translate uvec4 <-> uint64 for SubgroupGeMask et. al.
2019-06-18 cepheus Bump revision.
2019-06-17 cepheus SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
2019-06-17 cepheus Bump revision.
2019-02-17 jbolz Add Float16/Int8/Int16 capabilities for private variables and function parameters

Roll third_party/googletest/ 176eccfb8..ee32b72e1 (12 commits)

google/googletest@176eccf...ee32b72

$ git log 176eccfb8..ee32b72e1 --date=short --no-merges --format='%ad %ae %s'
2019-06-18 misterg Googletest export
2019-06-17 misterg Googletest export
2019-06-17 misterg Fixing CI break by going to bazel 0.26.1
2019-06-17 misterg Revert "testing, explicitly specify compiler"
2019-06-17 absl-team Googletest export
2019-06-17 misterg Googletest export
2019-06-17 misterg revert travis.yml, irrelevant
2019-06-17 misterg bazel 0.26.1
2019-06-17 misterg bazel 0.26.1
2019-06-17 misterg testing with bazel 0.26.1
2019-06-17 misterg testing with bazel 0.26.1
2019-06-17 misterg testing, explicitly specify compiler

Roll third_party/spirv-cross/ 146dc453b..05ea05509 (2 commits)

KhronosGroup/SPIRV-Cross@146dc45...05ea055

$ git log 146dc453b..05ea05509 --date=short --no-merges --format='%ad %ae %s'
2019-06-18 post Make sure args.msl22 is set in test_shaders.py.
2019-06-18 post MSL: Fix path check in test_shaders.py.

Roll third_party/spirv-tools/ 59983a6..001e823 (5 commits)

KhronosGroup/SPIRV-Tools@59983a6...001e823

$ git log 59983a6..001e823 --date=short --no-merges --format='%ad %ae %s'
2019-06-18 afdx Add fuzzer pass to obfuscate constants. (KhronosGroup#2671)
2019-06-17 33432579+alan-baker Handle volatile memory semantics in upgrade (KhronosGroup#2674)
2019-06-17 33432579+alan-baker Validate Volatile memory semantics bit (KhronosGroup#2672)
2019-06-17 33432579+alan-baker Disallow stores to UBOs (KhronosGroup#2651)
2019-06-17 dneto Another fix uint -> uint32_t (KhronosGroup#2676)

Created with:
  roll-dep third_party/effcee third_party/glslang third_party/googletest third_party/re2 third_party/spirv-cross third_party/spirv-headers third_party/spirv-tools
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants