@@ -87,17 +87,16 @@ rule WideCharTextExample2 {
8787}
8888```
8989
90- The ` ascii ` modifier can appear alone, without an accompanying ` wide ` modifier,
91- but it's not necessary to write it because in absence of ` wide ` the string is
92- assumed to be ASCII by default.
90+ Using the ` ascii ` modifier without ` wide ` is allowed but unnecessary; strings
91+ without ` wide ` are assumed to be ASCII by default.
9392
9493## "xor" modifier
9594
9695The ` xor ` modifier can be used to search for strings that are XORed with a
9796single byte.
9897
99- The following rule will search for every single byte XOR applied to the string "
100- This program cannot" (including the plaintext string):
98+ The following rule will search for every single byte XOR applied to the string
99+ " This program cannot" (including the plaintext string):
101100
102101``` yara
103102rule XorExample1 {
@@ -210,15 +209,13 @@ RoaXMgcHJvZ3JhbSBjYW5ub3
210209UaGlzIHByb2dyYW0gY2Fubm90
211210```
212211
213- The ` base64wide ` modifier works just like the ` base64 ` modifier but the results
214- of the ` base64 ` modifier are converted to wide .
212+ The ` base64wide ` modifier converts the results of the ` base64 ` modifier to
213+ ` wide ` format .
215214
216- The interaction between ` base64 ` (or ` base64wide ` ) and ` wide ` and ` ascii ` is as
217- you might expect. ` wide ` and ` ascii ` are applied to the string first, and then
218- the ` base64 ` and ` base64wide ` modifiers are applied. At no point is the
219- plaintext of the ` ascii ` or ` wide ` versions of the strings included in the
220- search. If you want to also include those you can put them in a secondary
221- pattern.
215+ First, ` wide ` and ` ascii ` are applied to the string, then the ` base64 ` and
216+ ` base64wide ` modifiers are applied. The plaintext versions of the ` ascii ` or
217+ ` wide ` strings are never included in the search. If you want to include
218+ the plaintext string, put it in a second pattern.
222219
223220The ` base64 ` and ` base64wide ` modifiers also support a custom alphabet. For
224221example:
@@ -234,11 +231,11 @@ rule Base64Example2 {
234231
235232The alphabet must be 64 bytes long.
236233
237- The ` base64 ` and ` base64wide ` modifiers are only supported for text patterns
238- that are at least 3 bytes long. Using these modifiers with a hex patterns,
239- regular expression, or text patterns that are too short, will cause a compiler
240- error. Also, the ` xor ` , ` fullword ` , and ` nocase ` modifiers used in combination
241- with ` base64 ` or ` base64wide ` will cause a compiler error.
234+ The ` base64 ` and ` base64wide ` modifiers are only supported for patterns that
235+ are at least 3 bytes long. Using these modifiers with a hex pattern, regular
236+ expression, or text pattern that is too short will cause a compiler error. Also,
237+ the ` xor ` , ` fullword ` , and ` nocase ` modifiers used in combination with ` base64 `
238+ or ` base64wide ` will cause a compiler error.
242239
243240{{< callout title="Incompatibility notice">}}
244241
0 commit comments