View Javadoc
1   package com.jsql.util.tampering;
2   
3   import com.jsql.util.LogLevelUtil;
4   import org.apache.logging.log4j.LogManager;
5   import org.yaml.snakeyaml.Yaml;
6   
7   import java.io.IOException;
8   
9   public enum TamperingType {
10      
11      BASE64("base64.yml"),
12      COMMENT_TO_METHOD_SIGNATURE("comment-to-method-signature.yml"),
13      EQUAL_TO_LIKE("equal-to-like.yml"),
14      RANDOM_CASE("random-case.yml"),
15      SPACE_TO_DASH_COMMENT("space-to-dash-comment.yml"),
16      SPACE_TO_MULTILINE_COMMENT("space-to-multiline-comment.yml"),
17      SPACE_TO_SHARP_COMMENT("space-to-sharp-comment.yml"),
18      VERSIONED_COMMENT_TO_METHOD_SIGNATURE("version-comment-to-method-signature.yml"),
19      HEX_TO_CHAR("hex-to-char.yml"),
20      STRING_TO_CHAR("string-to-char.yml"),
21      QUOTE_TO_UTF8("quote-to-utf8.yml"),
22      CHAR_TO_ENCODING("random-char-to-encoding.yml");
23  
24      private ModelYamlTampering instanceModelYaml;
25      
26      TamperingType(String fileYaml) {
27          var yaml = new Yaml();
28          try (var inputStream = TamperingType.class.getClassLoader().getResourceAsStream("tamper/"+ fileYaml)) {
29              this.instanceModelYaml = yaml.loadAs(inputStream, ModelYamlTampering.class);
30          } catch (IOException e) {
31              LogManager.getRootLogger().log(LogLevelUtil.CONSOLE_JAVA, e, e);
32          }
33      }
34      
35      public ModelYamlTampering instance() {
36          return this.instanceModelYaml;
37      }
38  }