.\" This manual is Copyright 2012 by pi-rho .\" .\" This program is free software: you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation, either version 3 of the License, or .\" (at your option) any later version. .\" .\" This package is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . .\" .\" On Debian systems, the complete text of the GNU General .\" Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". . .Dd May 23, 2012 .Dt TRANSFORMER 1 .Os "Network Reverse Engineering Toolkit" 1.1337 . .Sh NAME .Nm xor .Nd apply bytes to the pipeline using XOR .br .Nm rot .Nd apply bytes to the pipeline using ROT .br .Nm rol .Nd apply bytes to the pipeline using ROL .br .Nm caesar .Nd apply bytes to the pipeline using Caesar's Cipher . .Sh SYNOPSIS .Nm .Op Fl h | Fl v .Nm .Op Fl u .Op Fl x .Ar BYTE .Op Ar ... .Nm .Op Fl u .Fl s .Ar STRING . .Sh DESCRIPTION The basic concept for this utility is to apply a set of bytes, repeatedly, to a stream of input. .Pp The available options include: .Pp .Bl -tag -compact -width "-s STRING" .It Fl h usage information .It Fl v the program's version .It Fl x explicity interpret bytes as hexadecimal digits .It Fl s Ar STRING use a string of characters as the byte source .It Fl u undo - reverse the transform .Pq this is ignored for Nm xor .It Ar BYTE Op Ar ... a list of bytes to apply to the input stream .El . .Sh IMPLEMENTATION NOTES The application of the key bytes is accomplished using one of the following transforms: . .Bd -unfilled -offset left .TS box tab(:); l | l | l | l | l. \fBName:Description:Subj:Argument:Undo\fR _:_:_:_:_ xor:bitwise exclusive OR:bytes:int [0-255]:N/A rot:rotate left:bits:int [0-7]:rotate right rol:rotate (-):bytes:int [0-255]:rotate (+) caesar:shift (+):alpha:int [0-26]:shift (-) .TE .Ed . .Sh EXAMPLES As a filter with the hexadecimal bytes .Bq 0x20 , 0x2f applied to the input stream using .Nm xor . The bytes are applied repeatedly until the end-of-file .Pq i.e. Bo 0x20 , 0x2f , 0x20 , 0x2f , ... Bc . .D1 Ic $ No ... | Nm xor Fl x Ar 20 Ar 2f | No ... .Pp As a filter with a string of characters used as a byte source .Pq i.e. Qo key Qc becomes Bo 0x6b , 0x65 , 0x79 , ... Bc . .D1 Ic $ No ... | Nm xor Fl s Qo Ar key Qc | No ... . .Sh SEE ALSO .Xr hdng 1 , .Xr unhex 1 . .Sh AUTHORS .An Zephyr Aq Ad zephyr@dirtbags.net , .An pi-rho Aq Ad pi-rho@tyr.cx . .Sh BUGS Bugs may be submitted at .Aq Ad https://bugs.launchpad.net/netre-tools