aboutsummaryrefslogtreecommitdiffstats
path: root/man/man3/memfrob.3
blob: 1959cf6b2e980b2f5435f401c9cdb0e96056f872 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
'\" t
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH memfrob 3 (date) "Linux man-pages (unreleased)"
.SH NAME
memfrob \- frobnicate (obfuscate) a memory area
.SH LIBRARY
Standard C library
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" "             /* See feature_test_macros(7) */"
.B #include <string.h>
.P
.BR "void *memfrob(" "size_t n;"
.BI "              void " s [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.BR memfrob ()
function obfuscates the first
.I n
bytes of the memory area
.I s
by exclusive-ORing each character with the number
42.
The effect can be reversed by using
.BR memfrob ()
on the
obfuscated memory area.
.P
Note that this function is not a proper encryption routine as the XOR
constant is fixed, and is suitable only for hiding strings.
.SH RETURN VALUE
The
.BR memfrob ()
function returns a pointer to the obfuscated memory
area.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR memfrob ()
T}	Thread safety	MT-Safe
.TE
.SH STANDARDS
GNU.
.SH SEE ALSO
.BR bstring (3),
.BR strfry (3)