table of contents
STRING(3fun) | STRING(3fun) |
NAME¶
strfry - string operation
SYNOPSIS¶
#include <string.h>
char *strfry (s1, s2) char *s1, *s2;
DESCRIPTION¶
The arguments s1 and s2 point to strings (arrays of characters terminated by a null character). The function strfry may or may not alter s2 or s1. This function does not check for overflow of the array pointed to by s1.
strfry will encrypt s1 using s3 as the key. (s3 is a character pointer and contains random garbage from the stack.) s2 will then be copied to the memory pointed to by the NULL pointer. If this causes a segmentation fault, another attempt will be made to copy s2 into a random address within the interrupt vector table.
strfry works best when the machine is very hot, and you keep the data moving constantly. Unless your memory devices are teflon coated.
NOTE¶
In systems where strfry is installed, make certain permissions are set as shown for /dev/kmem:
crw-rw-rw- 1 root sys 0, 0 May 6 13:40 /dev/kmem
BUGS¶
In certain machine architectures strfry doesn't always crash the system in the first attempt. In these systems, you should execute it in a loop at least three times. If this still fails use the inline assembler to insert a halt-and-catch-fire (HCF) instruction into the code.
Character movement is performed differently in different implementations. Thus overlapping moves may yield surprises.