Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - /d3v/nu11

#1
Diseño UX/UI / Re:Pide tu firma Underc0de V3.
Abril 16, 2015, 06:55:00 PM
me gusta mucho yo tambien quiero una firma con mi nick
#2
Android / Re:CCNDroid Wiper
Abril 12, 2015, 08:09:30 AM
Buen post Orlok,  la verdad es que no sabia nada de estas apps,  ya estoy descargando CCNDroid Wiper y Crypter.

Gracias por compartir.

Un saludo.
#3


La verdad es que hasta hace poco andaba algo perdido en cuanto a distribuciones de linux, he probado debian, fedora, ubuntu, lubuntu, kubuntu, linux mint, etc. Pero ninguna me convencía completamente, hasta que probé elementary OS y me encantó al tener ésta una interfaz muy amigable y estar basada en ubuntu. Para el tema wireless suelo usar Wifislax, y para Pentesting y demás Bugtraq2.

Se que mucha gente verá una tontería usar tres distros distintas en vez de tener todas las herramientas en una pero a mi me gusta así, lo veo todo como más ordenado jejeje.
#4
Hay tienes compañero.
Código: cpp

#include <iostream>

using namespace std;

bool esPar(int x){
    if(x%2 == 0){
        return true;
    }
    else{
        return false;
    }
}

void mostrarArreglo(int arreglo[], int tam){
    for (int i = 0 ; i < tam ; i++)
        cout << arreglo[i] << " ";
}

int main(){
    int pares[20] = {0};
    int nones[20] = {0};
    int i, j;

    for(i = 5, j=0; i<=100; i += 5, j++){
        if(esPar(i) == true){
            pares[j] = i;
        }
        else{
            nones[j] = i;
        }
    }

    cout << "Arreglo de numeros pares: ";
    mostrarArreglo(pares, 20);
    cout << endl;
    cout << "Arreglo de numeros impar: ";
    mostrarArreglo(nones, 20);
    return 0;
}

Lo único que debías hacer era inicializar a 0 los arreglos, para que estos no almacenasen ningún valor "basura".

Un saludo!!
#5
C / C++ / Re:Ejercicios C
Abril 11, 2015, 06:27:18 PM
Para compilar uso el gcc con la opcion de compilacion automatica que usa codeblocks.
#6
Java / Re:[Java] Maquina Tragaperras
Abril 11, 2015, 01:04:44 PM
La verdad es que no estoy muy puesto en el tema de interfaces graficas. Pero lo intentare de todos modos.

Un saludo compañero!!!
#7
La mia la ordeno por temas pero algunas cosas por nombre de la revista, libro, editorial, etc. 
#8
C / C++ / Re:Ejercicios C
Abril 10, 2015, 04:59:28 PM
De nada hombre estamos para ayudar y si, soy de la umu jejjejeje. Espero que si tu tambien lo eres no te limites a hacer un copy/paste.


#9
yo te recomendaria wifislax 4.10.1,  que para seguridad wireless es el mas adecuado (en mi opinion). Y otra cosa, el programa que ataca con los pines (Reaver) no vulnera el protocolo wpa,  este ataca el wps. Si wps no esta activado o esta bloqueado tu unica opcion es diccionario/fuerza bruta.

Un saludo compañero!!!
#10
Si, reaver lo que hace es probar pins WPS y si en vez de usar reaver a secas usas algun script como gemini auditor este te automatiza todo el proceso buscando patrones conocidos y probando pins genéricos. En caso de no funcionar los pins genericos hace uso de la fuerza bruta para probar todos los posibles pins. Pero reaver no hace uso de diccionarios, o eso tengo entendido yo. No se si podras pasarle un diccionario de pins o algo asi.
#11
No uso antivirus cracked, ya que como tu dices no son buena idea. En el avast tengo instalada una licencia que encontré por internet que es válida hasta 2016.
#12
Java / [Java] Maquina Tragaperras
Abril 08, 2015, 08:39:12 PM
Ejercicio de Maquina tragaperras que he hecho para la universidad.

1. Main
Código: java

import java.util.Scanner;
import java.util.Arrays;

public class Programa {
public static void main(String[] args) {

// 1. Declara dos variables locales de tipo Premio
Fruta[] combinacion1 = {Fruta.FRESA, Fruta.FRESA, Fruta.FRESA};
Premio premio1 = new Premio(combinacion1, 20);
Fruta[] combinacion2 = {Fruta.SANDIA, Fruta.FRESA,Fruta.SANDIA};
Premio premio2 = new Premio(combinacion2, 10);

/* 2. Crea una máquina con un tamaño de combinación de 3 frutas,
* un precio por partida de 0,5 euros
* y los dos premios declarados previamente
*/
Maquina maquina = new Maquina(3, 0.5, premio1, premio2);

/* 3. Solicita al usuario que introduzca por teclado la cantidad
* de crédito para jugar.
*/
System.out.println("Introduzca el crédito: ");
Scanner teclado = new Scanner(System.in);
double credito = teclado.nextDouble();
teclado.nextLine();
maquina.incrementarCredito(credito);
System.out.println(credito);


// 4. Jugamos mientras haya crédito disponible
Fruta[] combinacion;
maquina.setCredDisp(credito);
while (maquina.getCredito() > 0){

//4.1 Realiza la jugada
combinacion = maquina.jugar();

//4.2 Muestra la combinación obtenida y el crédito
System.out.println(Arrays.toString(combinacion)+" --- "+maquina.getCredito());

//4.3 Pide al usuario que pulse intro para continuar
System.out.println("Pulse intro para volver a jugar");
teclado.nextLine();
}
System.out.println("Fin del juego: no dispone de credito suficiente");
}
}


2. Maquina
Código: java

import java.util.Random;
import java.util.Arrays;

public class Maquina {
private int casillas;
private double precJug;
private double credDisp;
private Premio[] coleccion;

public Maquina(int nCasillas, double precio, Premio... premio) {
precJug=precio;
casillas=nCasillas;
coleccion=premio;
}

public double getPrecJug() {
return precJug;
}
public void setPrecJug(double precio) {
precJug = precio;
}
public double getCredito() {
return credDisp;
}
public void setCredDisp(double credito) {
credDisp = credito;
}
public int getnCasillas() {
return casillas;
}
public Premio[] getColeccion() {
return coleccion;
}

public double incrementarCredito(double incremento) {
return credDisp + incremento;
}

public double cobrar() {
System.out.println("Retirando "+credDisp+" euros de la maquina");
credDisp = 0;
return credDisp;
}

public Fruta[] jugar() {
setPrecJug(precJug);
if (getCredito() >= precJug) {
credDisp = credDisp - precJug;

Random generador = new Random();
Fruta[] frutas;
frutas = new Fruta[casillas];
Fruta[] frutas_aleatorias=Fruta.values();

for (int i = 0;i<casillas; i++){
int index = generador.nextInt(5);
frutas[i]=frutas_aleatorias[index];
}

int n = 1; // n = numero de premios
for (int i = 0; i <= n; i++) {
//comprueba si combinación esta en premios registrados
if (Arrays.equals(frutas, coleccion[i].getCombGanad()) == true){
credDisp = credDisp + coleccion[i].getPremio();
}
}
return frutas;
}
return null;
}
}


3.Premio
Código: java

public class Premio {
private Fruta[] CombGanad;
private int premio;

public Fruta[] getCombGanad() {
return CombGanad;
}

public int getPremio() {
return premio;
}

// CONSTRUCTORES
public Premio(Fruta[] combinacion, int p) {
CombGanad=combinacion;
premio=p;
}
}


4.Frutas
Código: java

public enum Fruta {
FRESA, SANDIA, PLATANO, MELOCOTON, PERA
}
#13
Hacking / Re:Underc0de Spy 1.1 LIBERADO AL FIN!!!!
Abril 08, 2015, 08:32:30 PM
Muchisimas gracias por el aporte compañero!!! Ahora mismo me pongo a testearlo.

Un saludo!!!!
#14
Java / [Java] Uso de la clase Regex
Abril 08, 2015, 08:23:38 PM
Les dejo este programa que hice para la uni. Lo que hace es comprobar mediante expresiones regulares si los datos introducidos son válidos, en caso de ser todos los campos válidos los añade a un fichero .csv y pregunta si sigue añadiendo o termina.

Código: java

import java.io.IOException;
import java.util.Scanner;
import java.util.regex.*;

public class ValidacionBOE {

static Scanner leer = new Scanner(System.in);
static Matcher validador;
static Pattern patron;
static boolean ok;

static String pedirNombre(){
boolean terminado = false;
String nombrepaciente = null;
while (terminado == false){
System.out.print("Nombre completo del paciente: ");
nombrepaciente = leer.nextLine();

// Validación de la expresión regular
// Nombre Apellido1 Apellido2(opcional)
patron = Pattern.compile("(\\p{Lu}\\p{Ll}+) +(\\p{Lu}\\p{Ll}+)( +\\p{Lu}\\p{Ll}+)?");
validador = patron.matcher(nombrepaciente);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return nombrepaciente;
}

static String pedirDNI(){
boolean terminado = false;
String DNI = null;
while (terminado == false){
System.out.print("DNI/NIE: ");
DNI = leer.nextLine();

// Validación de la expresión regular
// 8 numeros 1 letraMayus
// 1 letraMayus 7 numeros 1 letraMayus
patron = Pattern.compile("\\d{8}\\p{Lu}|\\p{Lu}\\d{7}\\p{Lu}");
validador.usePattern(patron);
validador.reset(DNI);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return DNI;
}

static String pedirSS(){
boolean terminado = false;
String SS = null;
while (terminado == false){
System.out.print("Número de la seguridad social: ");
SS = leer.nextLine();

// Validación de la expresión regular
// Diferentes posibles números de seguridad social
patron = Pattern.compile("(66|53|50|[0-4][0-9])-?\\d{8}-?\\d{2}");
validador.usePattern(patron);
validador.reset(SS);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return SS;
}

static String pedirFechaCaducidadTS(){
boolean terminado = false;
String fecha = null;
while (terminado == false){
System.out.print("Fecha de caducidad de la tarjeta sanitaria individual: ");
fecha = leer.nextLine();

// Validación de la expresión regular
// mes/año
patron = Pattern.compile("((0?[0-9])|([01][012]))/\\d\\d");
validador.usePattern(patron);
validador.reset(fecha);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return fecha;
}

static String pedirTLF(){
boolean terminado = false;
String TLF = null;
while (terminado == false){
System.out.print("Número de teléfono: ");
TLF = leer.nextLine();

// Validación de la expresión regular
// 695 934 429
// 654 23 24 24
// +34 654234525
patron = Pattern.compile("(\\(\\+\\d{1,3}\\)|(\\+\\d{1,3} ))?((\\d{3} \\d{3} \\d{3})|(\\d{9})|(\\d{3} \\d{2} \\d{2} \\d{2}))");
validador.usePattern(patron);
validador.reset(TLF);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return TLF;
}

static String pedirCIPSNS(){
boolean terminado = false;
String CIPSNS = null;
while (terminado == false){
System.out.print("Código CIPSNS: ");
CIPSNS = leer.nextLine();

// Validación de la expresión regular
//1110123456789111
patron = Pattern.compile("(\\d{3})\\d{10}\\1");
validador.usePattern(patron);
validador.reset(CIPSNS);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return CIPSNS;
}

static String pedirCITE(){
boolean terminado = false;
String CITE = null;
while (terminado == false){
System.out.print("Código CITE: ");
CITE = leer.nextLine();

// Validación de la expresión regular
patron = Pattern.compile("80(AFG|ALA|ALB|DEU|AND|AGO|AIA|ATA|ATG|SAU|DZA|ARG|ARM|ABW|AUS|AUT|AZE|BHS|BGD|BRB|BHR|BEL|BLZ|BEN|BMU|BLR|MMR|BOL|BIH|BWA|BRA|BRN|BGR|BFA|BDI|BTN|CPV|KHM|ZMR|CAN|UAT|BES|TCD|CHL|CHN|CIP|COL|COM|PRK|KOR|CIV|CRI|HRV|CUB|CUW|DNK|DMA|ECU|EGY|SLV|ARE|ERI|SVK|SVN|ESP|USA|EST|ETH|PHL|FIN|FJI|FRA|GAB|GMB|GEO|GHA|GIB|GRD|GRC|GRL|GLP|GUM|GTM|GUF|GGY|GIN|GNB|GNQ|GUI|HTI|HND|HKG|IND|IDN|IRQ|IRN|IRL|BVT|IMN|CXR|NFK|ISL|CYM|COK|FRO|SGS|HMD|FLK|MNP|MHL|PCN|SLB|TCA|UMI|VGB|VIR|ISR|ITA|JAM|JPN|JEY|JOR|KAZ|KEN|KGZ|KIR|KWT|LAO|LSO|LVA|LBN|LDR|LBY|LIE|LTU|LUX|MAC|MDG|MYS|MWI|MDV|MLI|MLT|MAR|MTQ|MUS|MRT|MYT|MEX|FSM|MDA|MCO|MNG|MNE|MSR|MOZ|NAM|NRU|NPL|NIC|NER|NGA|NIU|NOR|NCL|NZL|OMN|NLD|PAK|PLW|PSE|PAN|PNG|PRY|PER|PIF|POL|PRT|PRI|GBR|CAF|CZE|MKD|COG|COD|DOM|REU|RWA|ROU|RUS|ESH|WSM|ASM|BLM|KNA|SMR|MAF|SPM|VCT|SHN|LCA|STP|SEN|SRB|SYC|SLE|SGP|SXM|SYM|SOM|LKA|SWZ|ZAF|SDN|SSD|SWE|CHE|SUR|SJM|THA|TWN|TZA|TJK|IOT|ATF|TLS|TGO|TKL|TON|TTO|TUN|TKM|TUR|TUV|UKR|UGA|URY|UZB|VUT|VAT|VEN|VNM|WLF|YEM|DJI|ZMB|ZWE)\\d{2}(\\d)\\d{2}\\2");
validador.usePattern(patron);
validador.reset(CITE);
ok = validador.matches();

if (ok)
terminado = true;
else
System.out.println("***Formato incorrecto***");
}
return CITE;
}

public static void main(String[] args) {

boolean terminado = false;
String nombre = null;
String dni = null;
String ss = null;
String fecha = null;
String tlf = null;
String cipsns = null;
String cite = null;
StringBuffer sb = new StringBuffer();

while (!terminado){
nombre = pedirNombre();
dni = pedirDNI();
ss = pedirSS();
fecha = pedirFechaCaducidadTS();
tlf = pedirTLF();
cipsns = pedirCIPSNS();
cite = pedirCITE();

// Escribimos y guardamos el fichero
try {
LEfichero.escribirFichero("NC,DNINIE,NSS,FC,TEL,CIPNS,CITE"+System.getProperty("line.separator")
+sb.append(nombre+","+dni+","+ss+","+fecha+","+tlf+","+cipsns+","+cite
+System.getProperty("line.separator")).toString(),"pacientes.csv");
}
catch (IOException error) {
//captura excepción
System.out.println("***Error de escritura "+error);
}

// Comprobación de la respuesta
boolean respuestaTerminada = false;
while (!respuestaTerminada){
System.out.print("Pulse <S> salir o <A> añadir:");
String respuesta = leer.nextLine();

patron = Pattern.compile("S|A");
validador.usePattern(patron);
validador.reset(respuesta);
ok = validador.matches();
if (ok && respuesta.equals("S")){
respuestaTerminada = true;
terminado = true;
}
else if (ok && respuesta.equals("A"))
respuestaTerminada = true;
else
System.out.println("Respuesta incorrecta");
}
}

leer.close();

System.out.println("SALIDA pacientes.csv:");
System.out.println();
System.out.println("NC,DNINIE,NSS,FC,TEL,CIPNS,CITE");
System.out.println(sb);
}
}
#15
C / C++ / Ejercicios C
Abril 08, 2015, 08:06:46 PM
Aquí les dejo algunos ejercicios que he tenido que hacer para la uni.

1. Simular un sistema de autenticacion de usuarios.
Código: c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

// Registra usuario con contraseña pwd en el fichero de
// lectura/escritura apuntado por f.
// Devuelve 1 si el usuario ya existe, y 0 en caso contrario.
int Registro(FILE* f, char* usuario, char* pwd){
    char u[50];
    char p[50];
    while(!feof(f)){
        fscanf(f,"%s",u);
        fscanf(f,"%s",p);
        if(strcmp(u,usuario) == 0)
            return 1;
    }
    fprintf(f,"%s %s\n", usuario, pwd);
    return 0;
}

// Comprueba si usuario ha sido registrado con contraseña pwd en
// el fichero de lectura apuntado por f.
// Devuelve 1 si el usuario no existe, 2 si la contraseña es
// incorrecta y 0 en caso contrario.
int Autenticacion(FILE* f, char* usuario, char* pwd){
    char u[50];
    char p[50];
    while(!feof(f)){
        fscanf(f,"%s",u);
        fscanf(f,"%s",p);
        if(strcmp(u, usuario) == 0){
            if (strcmp(p, pwd) == 0)
                return 0;
            else
                return 2;
        }
    }
    return 1;
}

void Imprime_Menu(){
    printf("Elige una opcion:\n");
    printf("1) Registro\n");
    printf("2) Autenticacion\n");
    printf("3) Salir\n");
}

// Gestiona el menu, según la opción elegida por el usuario
char Gestion_Menu(char opc){
    Imprime_Menu();
    fflush(stdin);
    opc = getchar();
    switch(opc){
        case '1':{
            FILE* f = fopen("registro.txt","r");
            char user[50];
            char pass[50];
            if (f != NULL)
                f = fopen("registro.txt","r+");
            else
                f = fopen("registro.txt","w+");
            printf("Introduce el usuario a registrar: ");
            scanf("%s",user);
            printf("Introduce la contrasenya: ");
            scanf("%s",pass);
            if (Registro(f, user, pass) == 1)
                printf("Error: usuario ya existente.\n");
            else
                printf("Usuario registrado correctamente.\n");
            if (fclose(f) != 0)
                printf("%s",strerror(errno));
            printf("------------------------------------------------\n");
            break;
        }
        case '2':{
            FILE* f = (fopen("registro.txt","r") == NULL)?NULL:fopen("registro.txt","r");
            char user[50];
            char pass[50];
            if (f != NULL){
                f = fopen("registro.txt","r+");
                printf("User: ");
                scanf("%s",user);
                printf("Password: ");
                scanf("%s",pass);
                switch(Autenticacion(f, user, pass)){
                    case 0:{
                        printf("Login correcto, entrando al sistema.\n");
                        break;
                    }
                    case 1:{
                        printf("El usuario no existe, para registrar nuevo usuario use la opcion 1.\n");
                        break;
                    }
                    case 2:{
                        printf("Contrasenya incorrecta.\n");
                        break;
                    }
                    default:{
                        printf("Error de autenticacion.\n");
                    }
                }
            }
            else
                printf("Error: %s",strerror(errno));
            if (fclose(f) != 0)
                printf("Error: %s",strerror(errno));
            printf("------------------------------------------------\n");
            break;
        }
        default:{
            if (opc != '3') printf("Por favor, introduce un numero del 1 al 3\n");
            printf("------------------------------------------------\n");
        }
    }
    return opc;
}

int main(){
    char opcion = 0;
    do{
        opcion = Gestion_Menu(opcion);
    }while(opcion != '3');
    printf("Saliendo...");
    return 0;
}


2.Torres de Hanoi
Código: c

#include <stdio.h>
#include <time.h>


int cont = 0;
int Hanoi (char origen, char destino, char auxiliar, int n){
    if (n > 0){
        ++cont;
        Hanoi(origen, auxiliar, destino, n-1);
        printf("Mueve disco de %c a %c\n", origen, destino);
        for(int i=1; i<= 1000;i++);
        Hanoi(auxiliar, destino, origen, n-1);
    }
    return cont;
}

int main(){
    FILE * f = fopen("Hanoi.txt", "w");
    int n = 10;
    for(int i=1; i<=n; i++){
        long t1 = clock();
        long Nmov = Hanoi('A','B','C',i);
        long t2 = clock();
        long t = t2-t1;
        fprintf(f,"n: %d\tt: %d\tNºmov.: %d\n",i,t,Nmov);
    }
    fclose(f);
    return 0;
}


3. Generador del triángulo de Pascal
Código: c

#include <stdio.h>
#include <windows.h>

int coeficiente(int n, int k){
    if(n==k || k==0)
        return 1;
    else
        return coeficiente(n-1,k-1)+coeficiente(n-1,k);
}

void triangulo(int N){
for(int n=0; n<=N; n++){
    printf("\t");
        for(int k=0; k<=n; k++){
            printf(" %d",coeficiente(n,k));
        }
        printf("\n");
}
}

int main(){
    int a;
    printf("+--------------------------------------------+\n");
    printf("| Programa generador del triangulo de Pascal |\n");
    printf("+--------------------------------------------+\n");
    printf("  Numero de filas a generar: ");
    scanf("%d",&a);
    printf("-----------------------------------------------\n");
    triangulo(a);
    printf("-----------------------------------------------\n");
    system("PAUSE");
return 0;
}
#16
Debates, Reviews y Opiniones / Que antivirus usas?
Abril 08, 2015, 07:05:01 PM
Yo en windows uso avast premier ya que viene con multitud de herramientas como administracion remota de equipos,    borrado del disco duro,  analisis inteligente tanto del pc como de la red,  etc.  y en linux no uso ninguno ya que no lo considero necesario,  al estar al tanto en todo momento de las conexiones entrantes/salientes.
#17
Seguridad Wireless / Re:Crackear WPA desde Windows
Abril 08, 2015, 06:01:42 PM
Yo la verdad odio hacer ataques por diccionario/fuerza bruta. Estos me parecen un malgasto de tiempo y recursos. Me limito a buscar alguna WPA con WPS activado y sacar la pass con  Reaver.
#18
Debates, Reviews y Opiniones / Re:¿Que OS usas?
Abril 05, 2015, 07:10:23 PM
Windows 8.1 pro como SO principal (600 GB), Elementary OS (100GB) y por último wifislax 4.10 (20 GB). Todos ellos de 64 bits.
#19
Gracias,  lo estoy descargando para iniciarme con php.
#20
Muchas gracias Cronos por el post,  la verdad es que varias veces he tenido ese problema y no he sabido como solucionarlo.