Todos los codigos van a estar en un rar junto con el stub que usare
Conocimientos necesarios
1 - Saber como funciona un crypter
2 - Saber un minimo de php
Bueno pues como algunos no lo tendran muy claro vamos a explicarlo a grandes rasgos:
¿Como funciona el builder?
1 - Abrir el archivo que quieres encriptar
2 - Encriptarlo
3 - Juntarlo con el stub

¿Como funciona el stub?
1 - Al abrirlo se lee
2 - Coge el contenido encriptado
3 - Lo desencripta
4 - Lo carga en memoria (si es runtime)
Bueno pues ya podemos empezar a crear nuestro crypter online. Lo primero que vamos a necesitar será el stub, si ya lo tenemos hecho podemos seguir.
Bien cuando ya tenemos el stub hecho vamos a proceder a hacer el upload de archivos en php (que seria el paso 1 del builder), constaria de 2 archivos index.html (el formulario de carga) y crypter.php(este archivo recibe el archivo y hace el resto de los pasos).

El index.html te deberia de quedar asi

Imagen


y su codigo es:

Imagen


Bien, pues ahora a por lo "dificil" del asunto el archivo crypter.php, que usara otros dos archivos mas funciones.php (que contendra las funciones necesarias junto con la encriptacion que usaremos) y configuracion.php (que tendra la configuracion (nombre del stub, version.....).
Vamos a empezar explicando funciones.php:

Imagen


Tenemos 3 funciones Leer, Crear y XOREncryption, voy a explicar para que sirve cada una:
Leer: Simplifica la lectura de un archivo(para que sea todo mas organizado), se le pasa un parametro $nombre, que es el nombre del archivo que se quiere leer (si esta en el mismo directorio y si no lo esta la ruta junto con el nombre del archivo a leer).

Crear: Al igual que en la anterior funcion sirve para simplifcar y dejar todo mas organizado, solo que a esta funcion se le pasan 2 parametros $nombre(nombre del archivo a crear, si solo se escribe el nombre lo creara en el mismo sitio donde este el archivo funciones.php) y $contenido(lo que se escribira dentro del archivo creado).

XOREncryption: Esta sirve para encriptar el archivo y se le pasan 2 parametros $InputString(datos a encriptar) y $KeyPhrase (clave para encriptar).
Y ahora vamos a hecharle un ojo al archivo configuracion.php. Correccion (Si os fijais donde $split_stub pone "// He usado lo mismo para el split y para la clave, no es obligatorio" eso borrarlo, porque lo tenia asi al principio cuando lo estaba probando)

Imagen


Dentro tenemos 5 variables $nombre_stub , $version_stub, $split_stub, $clave_encriptacion y $nombre_final_archivo_encriptado:
$nombre_stub: Como se llama el stub, en mi caso Stub.exe

$version_stub: La version del stub (realmente no lo uso, pero se podria poner para que en el index la mostrara junto con la fecha de cuando a sido actualizado)

$split_stub: El texto que usaremos para el split, en mi caso ##$$##
$clave_encriptacion: Clave para encriptar los archivos en mi caso ZXCVBNMASDFGHJKL

$nombre_final_archivo_encriptado: El nombre del archivo que se generara en mi caso encriptado"rand()".exe (rand() es una funcion de php que genera numeros aleatorios)
Pues ya si que si, vamos a por crypter.php

Imagen


Aunque la imagen ya viene comentada, voy a explicarlo de todos modos:
crypter.php escribió:
<?php ¿Lo explico ?
error_reporting(0); La incluimos para que no salga ni un solo error que si no queda cutre
include('funciones.php');
include('configuracion.php');

Esto lo hago asi para que no quede muy "guarreado" porque si no con tanto codigo en un mismo sitio te acabas liando
$archivo_peso = $_FILES["archivo"]["size"];
$archivo_temporal = $_FILES["archivo"]["tmp_name"];

Esto es parte del upload
if ($archivo_peso != 0){ comprobacion para asegurarnos de que haya llegado un archivo entero (no estoy realmente seguro de que sea la forma mas deacuada pero funciona )
$archivo = Leer($archivo_temporal); Creamos una variable y dentro de ella almacenamos el archivo subido
$archivo_encriptado = XOREncryption($archivo, $clave_encriptacion); Creamos una variable y dentro de ella guardamos el archivo que se a subido (una vez leido) encriptado
$stub = Leer($nombre_stub); Creamos una variable y dentro de ella almacenamos el stub
$archivo_a_guardar = $stub.$split_stub.$archivo_encriptado.$split_stub; Creamos una variable y en ella guardamos:
El stub leido($stub) + El texto de corte($split_stub) + El archivo encriptado($archivo_encriptado) + Otra vez el texto de corte($split_stub)
$archivo_final = Crear($nombre_final_archivo_encriptado, $archivo_a_guardar); En una variable ponemos la llamada a la funcion Crear y creamos el archivo (esto se puede/debe hacer sin la variable, poniendo directamente Crear($nombre_final_archivo_encriptado, $archivo_a_guardar);, pero yo lo hago si porque molo mazo )
echo "Encriptado correctamente :) <a href=$nombre_final_archivo_encriptado>$nombre_final_archivo_encriptado</a>"; Como todo a ido bien pues mostramos el link para descargar el archivo
}else{ este else viene por la comprobacion de si el archivo pesaba menos de 0
echo "Error al subir :("; Mostramos error
}
?> y se acabo
Y si todo ha ido bien nos mostraba un bonito:

Imagen


Bueno pues eso es todo, tengo que decir que no es que sea muy profesional porque lo he ido haciendo sobre la marcha, le falta aun registro, que lea EOF (lo mismo otro dia lo hago), que tuviera varios stub y que los elegiera de manera aleatoria, asique nada espero que os guste

Tutorial en pdf: [Enlace externo eliminado para invitados]
Contrseña: indetectables.net
Saludos

Link actualizado 11/01/2013
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Última edición por sod el 05 Sep 2009, 22:03, editado 6 veces en total.
sod escribió:Me e confundido de boton , aun estoy escribiendolo tardo unos minutillos
Aqui espero

Edit: Muy buen tutorial , algo mas para aprender

Última edición por Invitado el 29 Ago 2009, 12:26, editado 1 vez en total.
Lo estuve esperando

Grax

Normal de ti
" -Solo hay dos cosas que odio:
El racismo y el negro de acá a la vuelta. "

LoqBuster
Seritx escribió:No me funciona encripto y cuandome da para bajarme el encriptado me da error 404

Salu2
El error 404 es de archivo no encontrado, eso es por tu hosting, asegurate de que los archivos tengan permiso de escritura y de que el hosting que has elegido acepte exe's.
Saludos
Seritx escribió:Aun me asi me sigue dando el mismo error


Salu2
Quita el error_reporting(0); y dime que errores te da, pero vamos que dandote 404 es por narices que no encuentra el archivo asique eso se debe a que no lo crea al no tener permisos
Saludos
muy bueno sod!
justamente estaba pensando como hacer uno para jugar con php un poco mas

Código: Seleccionar todo

{******************************************************************************}
{** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING  **}
{******************************************************************************}
{**                                                                          **}
{** The prototypes, declarations and information in this file has been       **}
{** compiled from various sources as well as through reverse engineering     **}
{** techniques. We make no guarantee as to the correctness of the contents.  **}
{** Caution is recommended, USE AT YOUR OWN RISK.                            **}
{**                                                                          **}
{******************************************************************************}
sod

siempre hiciste el tuto....muchas gracias por ese tiempo que nos dedicaste y los deseos de ayudar......de mi parte esto para ti...
Responder

Volver a “Manuales y Tutoriales”