|
|
 |
ESTUDIO
COLECTIVO DE DESPROTECCIONES
Última Actualizacion:
25/10/2001
|
 |
|
Programa |
Como crackear por
Estado+Porcino
Capítulo 6
Desvirgando expedientes
X. Contaplus Elite
|
W95 / W98 / NT |
Descripción |
Aplicacion de contabilidad |
Tipo |
comercial |
Tipo de Tutorial |
[X]Original, []Adaptación, []Aplicación,
[]Traducción |
Url |
www.gruposp.com |
Protección |
diskette llave |
Dificultad |
1) Principiante, 2) Amateur, 3)
Aficionado, 4) Profesional, 5) Especialista |
Herramientas |
W32dasm, UltraEdit |
Objetivo |
Simular estar registrados. |
Cracker |
Estado+Porcino |
Grupo |
Whiskey
Kon Tekila |
Fecha |
Junio 1999 |
INTRODUCCION |
Victima: CONTAPLUS ÉLITE PYME
Site: www.gruposp.com
HERRAMIENTAS:
Desensamblador. Por ejemplo w32dasm
Editor hexadecimal. Por ejemplo uedit
Paciencia y Confianza.
Saludos familia. Aprovecho los ratos para escribir algunas
cosillas.
En esta ocasión acometemos uns joyita con Discos llave,Números
de serie,encriptación, descompresión en tiempo de ejecución
y misterios insondables.
Un dulce para pasar el rato.
Llegó a mis manos una petición de crack. Normalmente
la desestimo, a menos que la pida un amigo, me interese
o favorezca mi entorno de trabajo.
Es mejor enseñar a crakear que enseñar a llorar para suplicar.
En fin, toda esa filosofía expuesta por +ORC y reescrita
por E+P. Son las 8:00 de la mañana y me he pasado toda la
noche crakeando.
Si señor, hay pocos placeres comparables.
Los crackers me entenderán perfectamente de lo que les hablo:-).
El peluo maulla desesperao y la gorda duerme a mi lado.
A veces la vida te sonríe y no sabes porqué.Aprovéchala
antes de que cambie.
En este entorno , nada se puede resistir...
|
AL
ATAQUE |
Miremos nuestro producto. Se
trata de un clásico de la facturación española. Contaplus
Pyme Élite Otoño 98 del 1-11-98
Un paquete en formato CD que se compone de:
ContaPlus
FacturaPlus
NominaPlus
PersonalPlus
Utilidades (Antivirus Norton, Antivirus Mcafee, Sidekick y
PC Anywhere)
La web la tenemos en www.gruposp.com.
Despendolemos un ratico por su web a ver a cuanto tienen el
timo.
Uhmm 2 millones de ventas y nuestro producto 165.000 pelas,
!!!
Precio especial !!!!
Joer, pos si que, pa una urgencia, vamos.
Se merecen que lo crackeen, si señor. |
PROTECCIONES
ESPAÑOLAS |
A primera vista, el programa
es español y por tanto la protección también. Conociendo los
antecedentes de protecciones españolas, estimo que estará
roto en 5 minutos. Sólo recuerdo una protección española cojonuda.
Era de un catalán y se la había puesto a su programa de rompecabezas.
Si sería buena que fue uno de los "coladores"para la +HCU
con +ORC y +Fravia(a ver si se recupera pronto, leñe)
|
PRIMERA
APROXIMACION Y PRIMER ENFADO |
Empezamos mal, intentamos instalar
el contaplus y nos pide un disquete llave. Joder, ¿no habían
pasado al olvido esas protecciones basadas en discos llave?.
¿Es que no aprenden?. Los discos llave fueron desechados porque
no eran fiables, se podían cascar en el trayecto de la fábrica
al usuario y luego vete a reclamar al maestro armero una vez
que has pagado el producto, eso sin contar
el tiempo de espera del nuevo disquete, y que el que te manden
no esté roto.
Para colmo, estos discos se formatean a medida por lo que
no se pueden
copiar (en general) ni siquiera para sacar una triste copia
de seguridad.
Como veis, una mierda, y los del CONTAPUS dale que dale. |
OBJETIVOS |
Estan claros, cepillarse al
CONTAPLUS y obviar el disco llave.
Pero conseguiremos bastantes cositas más. |
SEGUNDA
APROXIMACION Y SEGUNDA OSTIA. LAS COSAS SE COMPLICAN |
Si intentamos instalar sin disco
llave nos aparece una estúpida ventana:
"Inserte disco llave, Por favor retire el disco actual y bla,bla,bla"
La ventanita tiene pinta de dialogbox, así que nos vamos al
SoftIce y ponemos
unas bonitas trampas para osos.
bpx dialogbox
bpx dialogboxparama
Lanzamos al niño y el que pica es el bpx dialogboxparama.
Con f12 aparece la ventana de error, pulsamos NO y caemos
en kernel!alloc.
Ostias que feo. F12 antes pa asomar el pescuezo en
:10012739 dentro del proceso ~GLC000x. (la x es variable).
Ostias, que mierda es esta, ¿dónde está es fichero ese tan
raro?.
En el directorio del conta no, seguro.
¿Pero entonces dónde?. Si buscamos el ficherito no está en
el disco duro.
Entonces, ¡por la madre de MITRA!, ¿que coño pasa?.
Pensad una posible solución antes de pasar al siguiente párrafo,
que os van a salir almorranas cerebrales. |
LA
SOLUCION A LA PELUA CUESTION |
Pos si, seguro que ya lo habeis
acertado :-)
El puto fichero se crea en tiempo de ejecución y se borra
antes salir.
Por eso no aparece en el directorio de instalación ni en el
disco duro al finalizar.
Pero entonces, segunda e importante cuestión:
¿como mangonearemos si se genera en tiempo de ejecución?
Es vital poder toquetear para saltarse la protección.
Así pues, relegamos el estudio del
para centrarnos en como se puede modificar un fichero que
se crea en tiempo de ejecución. |
MODIFICACION
DE FICHEROS EN TIEMPO DE EJECUCION |
Las variantes que se me ocuren
de menos a más elegantes son:
1 Entender como se crea el fichero y retocarlo antes de que
se cree.
2 Parchearlo en memoria una vez creado
- mediante un parche en tiempo de ejecución.
- Aplicando ingeniería inversa para localizar y redirigir
un trozo de código
inútil dentro del ejecutable y que parchee el fichero.
3 Dejar que se cree en memoria pero redirigirlo a un fichero
en disco ya retocado.
Recuerdo cierta protección del mismo tipo en el Hotmetal 4.0.
antes que los encerraran en la inutilidad del vbox. |
INTENTO
SER UN TIO ELEGANTE PERO NO ESTUPIDO |
Pues eso, intento ser un tio
elegante y opto por la primera opción y descubro lo siguiente:
* Dentro del fichero instalar.exe del contaplus reside el
famoso ~GLC000x.
En tiempo de ejecución se lee un trozo del fichero instalar.exe,
se marea un poco y se construye el nuevo fichero.
El nombre se construye a partir de una cadena constante :~GLC%04x.tmp.
Podeis abrir el fichero instalar.exe y cambiar el nombre por
algo más decente.
Tengo destripado y pasado a C el algoritmo que extrae del
fichero instalar.exe los bytes, los marea un poco y los escribe
en el ~GLC%04x.tmp.
Si quereis más datos del algoritmo mandadme un mail.
* Me quedaba la duda de si el autor de la protección había
encriptado, comprimido o encriptado/comprimido.
La respuesta es sólo comprimido siguiendo un complicado algoritmo
que tengo casi analizado.
Asi pues sólo queda otra semana para crear un compresor (el
descompresor ya lo tengo, está en el propio programa).
* Como la cosa se complicaba, deseche esta vía y me fui a
la opción 2.
Pronto la desistimé porque no sabía cuantos parches tenía
que aplicar.
Así pués, me fui a la vía 3. Ya sé, ya sé, es la más cutre,
pero rula :-) |
CAER
EN LA CUENTA |
Concurrida audiencia, por si
no os habeis dado cuenta, la protección es muy buena.
RESPETAD AL PROGRAMADOR que se ha entretenido en comprimir
sus datos
y descomprimirlos en tiempo de ejecución.
Buen trabajo BBYYMMAARRCCOOSS.
Quizás no esté todo perdido dentro del panorama de programadores
españoles.
Aupa muchachos!!! |
OPCION
3 CAÑERA |
Lo primero es pillar una copia
chachi del ~GLC%04x.tmp pa poder
modificarla tranquilamente y después regirigir el programa
para que cargue nuestra dll y no la que ha creado.
Para ello, lanzamos el instalar y aparece la venta de error
con "si" y "no" .
Nos vamos al explorador de Windows con la teclilla nueva con
el logo del windoze
(ostias, pero si sirve pa algo y to), o bien lo abrimos antes
que el instalar y conmutamos con ALT+TAB.
Estamos seguros que el fichero debe de existir porque aún
no ha acabado el programa (nos da la opción de continuar si
pusamos "si").
Buscamos en el explorador los ficheros que empiezen por ~GLC
y bingo,
lo tenemos en c:\windows. Con mucho cuidado lo copiamos y
lo pegamos en un sitio seguro.
Nuestra cena ya está en la red :-=).
Para los descuidados como yo, habilitarle la opción de sólo
lectura con el botón derecho
del ratón y propiedades. Sino lo perderemos cuando lo utilizemos.
Recordad quitarle lo de sólo lectura para parchearlo.
Do quiera que un fichero se cargue en memoria y se ejecute
en tiempo de ejecución este debe ser una dll.
Ya sé, ya sé, no tiene extendión dll ni ná, pero no es necesario.
Para que un fichero sea considerado dll basta con tener nombre
y extensión, y la constante ~GLC%04x.tmp lo cumple.
Por tanto, instalar debe cargarlo como librería. Si lo desensamblamos,
vemos que usa la función del api KERNEL32.LoadLibraryA y además
sólo una vez.
:004024F7 740A je 00402503
:004024F9 E87E060000 call 00402B7C
:004024FE E9BD000000 jmp 004025C0
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004024F7(C)
|
:00402503 8D85E8FEFFFF lea eax, dword ptr [ebp+FFFFFEE8]
:00402509 50 push eax; Nombre churro de la librería ~GLC%04x.tmp
* Reference To: KERNEL32.LoadLibraryA, Ord:0190h
|
:0040250A FF1534304000 Call dword ptr [00403034]
Ahora hay que aplicar un poco de ingeniería inversa para transformar
y que cargue siempre nuestra librería retocada. Os ahorro
el proceso mental y obtenemos después de verificar que nunca
se pasa por
:004024F9 (con un bpx por ejemplo)
:004024F7 8D85E8FEFFFF lea eax, dword ptr [ebp+FFFFFEE8];Dirección del nombre de la dll a cargar
:004024FD C700432E6100 mov dword ptr [eax], 00612E43 ;Constante .a0 y aprovechamos la c inicial
de [eax] nos queda c.a
:00402503 8D85E8FEFFFF lea eax, dword ptr [ebp+FFFFFEE8];Guardamos las modificaciones.
:00402509 50 push eax
* Reference To: KERNEL32.LoadLibraryA, Ord:0190h
|
:0040250A FF1534304000 Call dword ptr [00403034]
Con esto siempre se carga la librería "c.a". Así pues
renombramos la ~GLC%04x.tmp que habiamos pescado antes como
"c.a" . Ya sé, el nombre es un poco cutre, pero si no os gusta
retocarlo vosotros. No se os olvide indicar que es de sólo
lectura si no lo queréis perder.
Si repetimos lo del bpx dialogboxparama aparecemos en el proceso
C!text (nuestro fichero c.a). Vamos por el buen camino. To
este rollo pa redirigir un puto fichero, la protección debe
ser la ostia. Estoy ansioso :-)
Resumiendo, buscamos en el instalar.exe 74 0A E8 7E 06 00
00 y lo encontramos en 0x18F7 y cambiamos por 8D 85 E8 FE
FF FF C7 00 43 2E 61 00 |
VUELTA
A LA PROTECCION |
Ya podemos mangonear tranquilos
nuestro C.a.
Ahora hay que localizar donde se llama al disco llave y neutralizarlo.
Los accesos al disco se pueden hacer de forma cutre y a alto
nivel con "deviceiocontrol"
o bien usando las interrupciones a pelo. Como podeis sospechar,
se han usado los deviceiocontrol.
Si en el softIce ponemos un bpx deviceiocontrol aparecemos
en una dll mu fea GLfxxxx.tmp.
Esto suena al mismo truquillo de descompresión en tipo de
ejecución.
Si pusamos unas 20 veces f12 reaparecemos en nuestra querida
c.a
:10015244 FF24858E540110 jmp dword ptr [4*eax+1001548E]
:1001524B FF550C call [ebp+0C] ;Llamada a la feisima glfxxxx.tmp
:1001524E E93C010000 jmp 1001538F
:10015253 FF75B4 push [ebp-4C]
:10015256 FF550C call [ebp+0C] ;2º Llamada
Os ahorro el trabajo y os comento como funciona el esquema
de protección a este nivel.
Se crean 2 dll en tiempo de ejecución en el mismo estilo que
ya hemos comentado.
Estas dll se encargan de todo el acceso al disco llave.
Los parámetros a las dll se pasan (agarraos) en cadenas ascii.
Basta con poner un bpx 1001524B y echar un vistazo a esi y
edi.
Obtendremos parámetros del tipo
3HayDisco
3Esdisco
3Instalaciones
|
ESTUPIDO
VELO |
Corramos un estúpido velo en
esta parte de la protección, porque es la más patética.
Baste decir dos cosas, para anular completamente al disco
hay que parchear :1001524B.
En :1001524B se comprueba que existe disco, que el disco tiene
el formato adecuado,
se leen el número de licencias .
Si existe algún error devuelven en eax=0, sino devuelven eax=1
Así pues cambiamos
:10015244 FF24858E540110 jmp dword ptr [4*eax+1001548E]
:1001524B FF550C call [ebp+0C]
:1001524E E93C010000 jmp 1001538F
:10015253 FF75B4 push [ebp-4C]
:10015256 FF550C call [ebp+0C] ;2º Llamada
Por
:1001524B 33 C0 xor eax,eax
:1001524D 40 inc eax
:1001524E E93C010000 jmp 1001538F
:10015253 33 C0 xor eax,eax
:10015255 33 C0 xor eax,eax
:10015257 40 inc eax
:10015257 90 nop
Buscamos FF 24 85 8E 54 01 10 en c.a y lo encontramos
en 0x1464B donde ponemos 33 C0 40 E9 3C 01 00 00 33 C0 33
C0 40 90
Con esto quedan fulminados los accesos a disco.
Si seguimos adelante nos pide un número de serie que se puede
obviar si parcheamos en
:1001525E FF75B8 push [ebp-48]
:10015261 FF75B4 push [ebp-4C]
:10015264 FF550C call [ebp+0C]; eax=0 si todo va bien.
:10015267 E923010000 jmp 1001538F
por
:1001525E 33C0 xor eax, eax
:10015260 33C0 xor eax, eax
:10015262 33C0 xor eax, eax
:10015264 33C0 xor eax, eax
:10015266 90 nop
:10015267 E923010000 jmp 1001538F
Si no parcheamos los push el programa casca.
Resumiendo, buscamos en c.a ff 75 b8 ff 75 b4 ff 55 0C E9
23 01 00 00
y lo encontramos en 0x1465E, cambiándolo por 33 c0 33 c0 33
c0 33 c0 90
Cuando pida el serial podemos introducir cualquier churro
numérico p.e: 111-1-696969-11
En el nombre de la empresa y nombre del usuario introducimos
más de dos caracteres.
Curiosamente todas estas rutinas GLC de acceso a disco y check
del serial, aparecen como
una dll normal spptr.dll en el directorio de instalación.
Para qué, mu sencillo,
para deinstalar y eliminar una licencia del disco llave.
En teoría hay un número límite de instalaciones, cada vez
que se instala
el programa se elimina una licencia del disco llave y cada
vez que se desistala se añade una.
¿ÉXITO?
Si seguimos todos los pasos, la instalación finaliza correctamente
.
Ávidos lanzamos el programa y crash."Aplicación instalada
incorrectamente".
¿En qué nos hemos equivocado?. Pensad un poco. |
SOLUCIONES
VIABLES |
Seguro que habéis llegado a
la misma conclusión que yo.
Las rutinas de manejo de disco que hemos inutilizado, dejaban
algun flag en algún sitio
que indicara que el programa estaba bien instalado.
Así pues hay quedan dos opciones:
1 Saltar la comprobación en el programa principal.
2 Activar ese flag.
|
HORROR
Y ESPANTO |
Seleccionando la opción 1 nos
encontramos en un avispero.
El progrma principal está hecho en CLIPPER.
Qué horror, aún se siguen usando esas herramientas del demonio.
Si queréis pasarlo realmente mál intendad, trazar un programa
en clipper.
El control se realiza por bucles
de salto del tipo call[ax+4] que conducen a otros bucles de
salto call [ebx+6], hasta el inifito.
Todo está dirigido por tabla y en código de 16bits.
Osea nada de usar la potencia de los registros de 32 bits.
Una montaña de mierda, como podreis observar.
Nada recomendabe ni saludable.
Optamos por la opción 2. Para eso llamamos a nuestro amigo
y le pedimos que nos comprima
el CONTAPLUS (bien instalado) en
disquetes para compararlo con el que tenemos. Busque las diferencias.
|
EL
MISTERIO INSONDABLE |
Si descomprimimos el CONTAPLUS
bien instalado en nuestro disco duro nos llevamos
una desagradable sorpresa. "Aplicación mal instalada".
Joder, que coño pasa, pero si lo hemos copiado de uno que
estaba bien instalado.
A ver, a lo mejor accede al registro del sistema buscando
algo raro.
Lanzamos el regmon y vemos que la aplicación accede pero busca
cosas nada importantes.
Podréis pensar, bueno quizás busque un fichero extraño que
no hayamos copiado.
Lanzamos en filemon y sólo accede al win.ini fuera de su directorio.
Miramos el win.ini y no vemos nada sospechoso.
¿To esto está mu bien, pero que coño mira para saber que no
está bien instalado?
Este es el misterio insondable que me ha tenido la noche en
velo y que me ha hecho disfrutar
como un enano cabezón. Pero hay más, si copiamos el directorio
de instalación en el disco duro
donde se instaló originalmnte, el programa deja de funcionar.
Quedan eliminados los flags en el registro del sistema y el
acceso a ficheros raros,
como ya suponíamos. Y el colmo, si copiamos y pegamos el ejecutable
en el directorio de
instalación del disco duro original de instalación el jodio
programa funciona con el
ejecutable original, pero no con la copia. ¿es mágia?
¿hay una explicación razonable o estamos ante un expediente
X ?
Pensad el problema antes de mirad la solución, es apasionante.
Centraos en lo extraño que es que funcione con el ejecutable
original
y no con la copia, cuando son los mismos ficheros. |
EL
EXPEDIENTE X DESVIRGADO |
Lo más curioso de todo es que
el programa funciona con el ejecutable original, pero no con
la copia.
En principio, esto no tiene sentido, a menos, claro está que
exista una diferencia entre el original y el copiado. Exactamente,
la fecha de creación.
Para comprobarlo retrasé el reloj del windoze hasta la fecha
hora y minuto en el que se había
construido el ejecutable original.
En ese preciso momento realizé una copia del origial y BINGO,
la copia del ejecutable funcionaba.
Ya hemos encontrado el flag, pero hace falta saber donde se
guarda.
En el registro del sistema no, porque no realiza ninguna operación
extraña.
Puede guardarlo en algún campo de la base de datos , osea
en los fichero dbf. Para eliminar esta opción copie todos
los ficheros
(excepto el ejecutable) de nuestro CUENTAPLUS al directorio
original, y seguia funcionando.
En conclusión, el flag está dentro del propio ejecutable.
Para comprobarlo, comparé el ejecutable original y el nuestro
y he aquí las diferencias :
FileSize: 2FA780h
DD 2F2726h
DB C7h
DB 7Fh
DD 2F2727h
DB A2h
DB C1h
DD 2F272Dh
DB 9Dh
DB 3Dh
DD 2F272Eh
DB 54h
DB 79h
Cambian 4 posiciones de memoria de un ejecutable a otro.
Así pues una de las rutinas de acceso a disco que hemos
desabilitado introduce en el ejecutable final la fecha de
creación.
Para más inri, esta fecha está encriptada y la llave de la
desencriptación es BBYYMMAARRCCOOSS.
Estos programadores nuncan aprenderán a ser humildes, los
muy jodidos.
Si cazamos las dll de disco que hemos anulado
(copiar y pegar como ya vimos) y desensamblamos, observamos
que
se utiliza una bonita función:
DosDateTimeToFileTime function converts MS-DOS date and time
values to a 64-bit file time.
BOOL DosDateTimeToFileTime(
WORD wFatDate, // 16-bit MS-DOS date
WORD wFatTime, // 16-bit MS-DOS time
LPFILETIME lpFileTime // address of buffer for 64-bit file time
);
Ponemos un bpx DosDateTimeToFileTime y lanzamos el contaplus.
EUREKA, aparecemos en spptr.dll, un par de f12 más y volvemos
a al ejecutable original. No os aburriré indicando como localizar
la rutina de comprobación del flag (ya somos mayorcitos),
doy directamente el parche:
Cambiamos
:10001545 8D542428 lea edx, dword ptr [esp+28]
:10001549 51 push ecx ;BBYYMMAARRCCOOSS
:1000154A 52 push edx
Por
:10001545 8D542428 lea edx, dword ptr [esp+28]
:10001549 51 push ecx ;BBYYMMAARRCCOOSS
:1000154A 51 push ecx ;BBYYMMAARRCCOOSS
Buscamos en spptr.dll 8d 54 24 28 51 52 lo encontramos en
0x154A y lo cambiamos por 51 Listo y a disfrutar.
Ya es hora de volver con la gorda y el peluo para tomar una
cerveza. |
JUGUETEANDO |
*Existe una forma alternativa
de corregir el problema de aplicación mal instalada. Si cogemos
un dbf cualquiera del directorio /emp y lo copiamos con el
nombre menumode.dbf , entramos en la aplicación pero en versión
demostrativa, sin copias de seguridad y sin algunas opciones
más.
* Para convertir las copias de seguridad a la versión profesional,
cambiad el nombre del fichero /emp/versione.dbf por /emp/versionp.dbf
y /emp/menuwine.dbf /emp/menuwin.dbf .
Esto provoca un pequeño error al mirar el "Acerca de" en el
CONTAPLUS, pero no tiene mayor importancia. Sospecho que con
una poyada de estas más podemos pasar del CONTAPLUS élite
al profesional, pero no he dado con la tecla.
* Podemos copiar impunemente el directorio del CUENTAPLUS
de un disco duro a otro sin necesidad de reinstalar.
* Este mismo proceso es aplicable al NOMINAPLUS y FACTURAPLUS
y el resto del paquete y muy probablemente al resto de productos
de la empresa SP. El TVPPLUS está cascado (por lo menos en
el cd) por lo que no se ha podido probar y el PersonalPlus
no necesita retoques. PAra el resto de componenetes del paquete,
simplemente se parchea el instalar.exe, y se copia el c.a
del CONTAPLUS y se comienza la instalación. Una vez instalado,
se copia el spptr.dll del contaplus en el directorio apropiado
para cada producto (NOMINAPLUS: /exe) (FACTURAPLUS: /exe)
* Para pasar una version demostrativa (o educativa) a versión
élite, basta con aplicar el parche al spprt.dll y borrar el
fichro /emp/menumode.dbf |
P.D.
PARA EL AUTOR |
Querido Marco:
Has construido una buena protección.
He estado tentado de guardarme el crack por respeto.
Pero lo que me decidió fue la decepción de ver como usabas
Clipper y tu forma relajada de acceder al disco mediante deviceiocontrol.
La próxima vez esmérate un poco más, aunque he de reconocer
que he disfrutado con tu protección en grande. |
NOTAS
PARA LOS LECTORES |
1.- Los mensajes del tipo "Hazme
el crack para ....", "Dime como se crackea....", "Dime donde
puedo encontrar..." son automáticamente ignorados. El objetivo
de estos artículos es enseñar a crackear no enseñar a ser
unos llorones ineptos que sólo saben mendigar.
2.- Sólo responderé a preguntas teóricas sobre cracks, indicando
algunas pistas que faciliten la labor.
3.- Narices, escribid artículos sobre los programas que crackeeis.
De nada sirve lo que aprendéis si no lo repartís, se os pudre
en el cabeza, palabra.
4.- Lamento no haber contestado a ciertos mails interesantes.
Desde aquí mis excusas.
5.- Si os ha servido para algo mis artículos, no seáis vagos
y mandad un mail indicándomelo.
Estado+Porcino
Esperamos vuestras opiniones, sugerencias y ensayos en
estadoporcino@hotmail.com
Recordad bebed de la fuente, buscad a +ORC
en la red.
|
[
Entrada | Documentos
Genéricos | WkT!
Web Site ] |
[
Todo el ECD | x
Tipo de Protección | x Fecha
de Publicación | x Orden
Alfabético ] |
|
(c)
Whiskey Kon Tekila [WkT!] - The Original Spanish Reversers.
Si necesitas
contactar con nosotros
, lee
esto
antes e infórmate
de cómo puedes ayudarnos |
|
|
|
|
|