Visitante
Ingresar
Registrarse
Underc0de - Hacking y seguridad informática
Menu
Inicio
Website
Blog
Buscar
Calendario
Ingresar
Registrarse
Underc0de - Hacking y seguridad informática
»
Programación General
»
C / C++
»
Códigos Fuentes
RC4+ clase
Imprimir
Páginas: [
1
]
Ir Abajo
« anterior
próximo »
RC4+ clase
0 Respuestas
2679 Vistas
0 Usuarios y 1 Visitante están viendo este tema.
Karcrack
Underc0der
Mensajes: 87
Actividad:
0%
Reputación 0
Se siente observado ¬¬'
RC4+ clase
en: Junio 16, 2013, 06:32:18 pm
Código: C++
#define SWAP(x,y) {x^=y;y^=x;x^=y;}
/*
* AUTHOR : Karcrack
* DATE : 100113
* PURPOSE: RC4+ C++ cipher/decipher.
*/
template
<
unsigned
int
SIZE,
class
TYPE
>
struct
myArr
{
private
:
TYPE
*
data
;
public
:
operator
int
(
)
{
return
(
int
)
data
;
}
myArr
&
operator
=
(
TYPE
*
rhs
)
{
this
-
>
data
=
rhs
;
return
*
this
;
}
;
TYPE
&
operator
[
]
(
unsigned
int
idx
)
{
return
data
[
idx
%
SIZE
]
;
}
;
}
;
template
<
unsigned
int
KEY_SIZE
>
class
RC4P
{
private
:
unsigned
int
i,
j,
size
;
myArr
<
256
,
char
>
S
;
myArr
<
KEY_SIZE,
char
>
K
;
public
:
RC4P
(
char
S
[
]
,
char
K
[
]
,
unsigned
int
size
)
{
this
-
>
S
=
S
;
this
-
>
K
=
K
;
this
-
>
size
=
size
;
}
;
void
calculate
(
char
O
[
]
)
{
//KSA
if
(
S
==
0
||
K
==
0
)
return
;
j
=
0
;
for
(
i
=
0
;
i
<
256
;
i
++
)
S
[
i
]
=
i
;
for
(
i
=
0
;
i
<
256
;
i
++
)
{
j
=
j
+
S
[
i
]
+
K
[
i
]
;
SWAP
(
S
[
i
]
, S
[
j
]
)
}
;
//PRGA
unsigned
int
x
=
0
,
a,
b,
c
;
i
=
0
;
j
=
0
;
while
(
x
<
size
)
{
i
++
;
a
=
S
[
i
]
;
j
+
=
a
;
b
=
S
[
j
]
;
S
[
i
]
=
b
;
S
[
j
]
=
a
;
c
=
S
[
i
<<
5
^
j
>>
3
]
+
S
[
j
<<
5
^
i
>>
3
]
;
O
<
ul
class
=
"bbc_list"
><
li type
=
"square"
>
^
=
(
S
[
a
+
b
]
+
S
[
c
^
0xAA
]
)
^
S
[
j
+
b
]
;
[
/
li
]
[
/
list
]
x
++
;
i
++
;
}
;
}
;
}
;
Ejemplo de uso:
Código: C++
#pragma comment(linker, "/ENTRY:main")
#include <Windows.h>
#include "rc4p.cpp"
void
main
(
)
{
char
*
S
=
(
char
*
)
LocalAlloc
(
GPTR,
256
*
sizeof
(
char
)
)
;
char
K
[
]
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
}
;
char
crypt
[
]
=
"karcrack"
;
RC4P
<
sizeof
(
K
)
>
r
(
S, K,
sizeof
(
crypt
)
)
;
r.
calculate
(
crypt
)
;
r.
calculate
(
crypt
)
;
LocalFree
(
S
)
;
}
«
Última modificación: Febrero 08, 2014, 05:38:13 pm por Expermicid
»
En línea
I code for
$$$
.
(PGP ID 0xCC050E77)
ASM, C, C++, VB6... skilled [malware] developer
Imprimir
Páginas: [
1
]
Ir Arriba
« anterior
próximo »
Sponsors
Zerpens
Kali-Linux
Club Hacker
ANTRAX-LABS
Ingresar
×
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
. ¿Perdiste tu
email de activación
?
1 Hora
1 Día
1 Semana
1 Mes
Siempre
Ingresar con nombre de usuario, contraseña y duración de la sesión