---
name: "strfry"
section: "3fun"
platform: "linux"
package: "funny-manpages"
version: "1.3-5"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/strfry/3fun"
---

# strfry(3fun)

string operation

## 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.
