Fonctions de déclaration d'évaluation
Vous utilisez les déclarations d'évaluation pour exécuter des fonctions sur des valeurs de données constantes ou variables. Vous pouvez enregistrer la valeur retournée d'une fonction d'évaluation comme variable ou rejeter la valeur retournée. Les déclarations d'évaluation doivent se terminer par un point-virgule.
Pour vous assurer que vos scripts sont exécutés sur le serveur et le terminal client, les valeurs de script doivent être spécifiées en notation hexadécimale (hex). Par exemple,
$int4 = getBinaryValueAt($data,0x19,2)
est correct. Cependant, si la valeur non hexadécimale suivante est spécifiée dans un environnement de terminal client, le script entraînera la défaillance de l'Agent DLP : $int4 = getBinaryValueAt($data,25,2)
.Fonction | Description | Exemple |
|---|---|---|
Addition add | La fonction Addition prend deux valeurs comme arguments et les ajoute l'une à l'autre. Les valeurs peuvent être des variables ou des constantes. Vous pouvez enregistrer le résultat retourné comme variable ou rejeter le résultat. La fonction Addition ajoute au moins deux valeurs et renvoie le résultat. Les valeurs peuvent être des variables ou des constantes. Vous pouvez enregistrer le résultat retourné comme variable ou rejeter le résultat. | Ajoute deux variables et renvoie la valeur dans la variable $result. $result = add($var1, $var4); Ajoute deux constantes, mais abandonne la valeur. add(1, 2); Ajoute trois valeurs. $result = add($var1, 2, $var4); |
AsciiValue ascii | La fonction AsciiValue prend une chaîne ASCII unique comme paramètre et l'attribue à la variable spécifiée. La longueur du paramètre ASCII doit comprendre un à quatre caractères. Vous pouvez utiliser cette déclaration pour la lisibilité. | $result = ascii('CFV'); La variable $result reçoit la valeur ASCII spécifiée. |
DataLength datalength | La fonction DataLength compte la longueur de la série de variables. La fonction prend le nom de variable d'une série d'octets comme paramètre et renvoie le nombre d'octets dans cette série. | $result = datalength($data); Le moteur de crée la variable $data de la série d'octets quand il la lit dans un fichier. La variable $data enregistre jusqu'aux 4 premiers Ko du fichier. |
Execute (option avancée) execute | La fonction Execute permet à un utilisateur d'appliquer des méthodes sur tout objet Java disponible en tant que variable dans l'état de calcul du script. Par exemple, si une chaîne est enregistrée sous le nom de variable $data, vous pouvez appliquer la méthode Est égal à de la chaîne à l'aide de la fonction execute. | $result = execute($string1, est égal à, $string2); Un chaîne est supposée avoir été enregistrée sous la variable $string. |
GetAsciiStringAt getAsciiStringAt | La fonction GetAsciiStringAt considère les données comme des caractères ASCII et les convertit en une chaîne. Les données sont converties en commençant par l'offset spécifié pour le nombre de chiffres spécifié. | La variable $data est une série d'octets avec les valeurs : 'abcdef'.getBytes(); Le résultat doit être abc. $result = getAsciiStringAt($data, 0x0, 3); |
GetBinaryIntValue getBinaryIntValue | La fonction GetBinaryIntValue extrait les données d'octet sous forme d'entier de l'index spécifié d'une variable de série d'octets. Elle permet également à un utilisateur de spécifier le nombre de chiffres à extraire des données. Puisque la valeur retournée est un entier, le nombre de chiffres doit être compris entre 1 et 4 octets. Vous utilisez cette fonction pour analyser les données à des offsets spécifiques d'une série d'octets. Les chiffres sont combinés de manière à former une valeur d'entier. | $result = getBinaryIntValue($data, 0x0, 1); La variable $data est la série d'octets avec les valeurs {(byte)0x59,(byte) 0xAD,(byte) 0x1C,(byte) 0xDF,(byte) 0x2B,(byte)0x37}. Dans cet exemple, le résultat $result doit être égal à 89. |
$result = getBinaryIntValue($data, 1); La variable $data est une série d'octets avec les valeurs {1, 2, 3}. Le résultat $result doit être 2. | ||
GetBinaryValuteAt getBinaryValueAt | La fonction GetBinaryValuteAt extrait les données d'octet dans une nouvelle série d'octets en fonction de l'offset et de la longueur spécifiés. La nouvelle série d'octets peut ensuite être comparée à d'autres séries d'octets pour trouver une égalité. Cette fonction vous permet de spécifier combien de chiffres doivent être récupérés des données (de 1 à 4 octets). Vous utilisez cette fonction pour analyser les données à des offsets spécifiques d'une série d'octets. GetBinaryValueAt () renvoie une série avec les octets, tandis que GetBinaryIntValue () renvoie un entier composé d'octets. | La variable $data est la série d'octets avec les valeurs {(byte)0x59,(byte) 0xAD,(byte) 0x1C,(byte) 0xDF,(byte) 0x2B,(byte)0x37}. Le résultat $result doit être une série d'octets avec l'octet 0x59. $result = getBinaryValueAt($data, 0x0, 1); |
La variable $data est une série d'octets avec les valeurs {1, 2, 3}. $result doit être égal à une nouvelle série d'octets contenant le nombre 2. $result = getBinaryValueAt($data, 1); | ||
GetHexStringValue getHexStringValue | La fonction GetHexStringValue prend une chaîne hexadécimale comme paramètre et la convertit en représentation d'octet (binaire). | $result = getHexStringValue('D0CF'); |
GetIntegerAt getIntegerAt | La fonction GetIntegerAt est similaire à la fonction GetAsciiStringAt, excepté que GetIntegerAt analyse les caractères ASCII et les convertit en une valeur d'entier. Les données sont converties en commençant par l'offset spécifié pour le nombre de chiffres spécifié. Si un caractère n'est pas une valeur numérique, le script envoie une exception. | La variable $data est une série d'octets avec les valeurs : '12345'.getBytes(); Le résultat doit être 34. $result = getIntegerAt($data, 0x2, 2); |
GetStringValueAt getStringValueAt | La fonction GetStringValueAt extrait les données dans une nouvelle série de caractères en fonction de l'offset et de la longueur spécifiés. La nouvelle série d'octets peut ensuite être comparée à d'autres séries d'octets pour trouver une égalité. | La variable $data est une série d'octets avec les valeurs {(byte)0x59,(byte) 0xAD,(byte) 0x1C,(byte) 0xDF,(byte) 0x2B,(byte)0x37}. $result = getStringValueAt($data, 0x0, 1); Vous devez obtenir l'octet 0x59. |
La variable $data est une série d'octets avec les valeurs {1, 2, 3}. $result = getStringValueAt($data, 1); Le résultat doit être égal à une nouvelle série d'octets contenant le nombre 2. (L'offset démarre à 0.) | ||
Modulus mod | La fonction Modulus (mod) renvoie le "mod" de deux paramètres. Le mod est le reste du premier paramètre divisé par le second. | Le résultat doit être 2. $result = mod(5, 3); |
Multiply multiply | La fonction Multiply prend deux arguments et multiplie leurs valeurs. La fonction Multiply prend deux arguments ou plus et multiplie leurs valeurs. | $result = multiply(2, 4); Le résultat doit être 8. $result = multiply(2, 4, 6); Le résultat doit être 48. |
Print (option avancée) print | La fonction Print extrait ses arguments, les assemble et les imprime dans une sortie standard. | Aucun résultat à enregistrer, mais la sortie standard doit comporter la chaîne. print('hello'); |
ReadFile (option avancée) readfile | La fonction ReadFile prend un fichier enregistré en tant que variable à l'état de calcul. Elle lit le nombre spécifié d'octets à partir du fichier sous forme de table d'octets et renvoie la table d'octets. Cette fonction requiert deux arguments. | La variable $result doit contenir une série d'octets des dix premiers octets du fichier enregistré sous la variable $file. $result = readFile($file, 10); |
Subtract sub | La fonction Subtract soustrait le deuxième paramètre du premier. La fonction Subtract soustrait les éléments 2 à N du premier élément. | $result = sub(10, 4); Le résultat doit être 6. $result = sub(10, 4, 6, 3); Le résultat doit être -3. |