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 - Micah Genji

#1
Hacking / Re: Clave de Notebook.
15 Noviembre 2010, 05:17 AM
Pues ese proceso lo conozco, habia sacado la pila por unos 30 min y nada  :xD

La gracias es que lo llevaron a uno de esos lugares piratas, y terminaron combrandole unos 100 dolares.

No se como lo hicieron pero lo lograron.  :P
#2
bueno gracias por su interes en este pequeño problema.
estuve verificando la sugerencia de ignorantev1.1; en:
Código (csharp) [Seleccionar]
aux = lista.sgte creo
bien creo ahora veo por que no usaba while primero.
en fin el algoritmo sigue erroneo.
revise con la prueba de escritorio y siempre el nuevo nodo termina siendo el segundo nodo de la lista:
Código (csharp) [Seleccionar]
aux.sgte = nuevo;
nuevo.sgte = lista;


por lo que veo el aux avanza hasta llegar  a la misma lista, y crea el paradigma de todo este problema.

con la sugerencia de ignorantev1.1 termina asi:
lista: 1 2 3 4
entonces muestra asi: 1 4

bien hasta ahora el algoritmo anteriormente planteado sigue siendo valido dado a q muestra los numeros ingresados.

bueno a seguir observando este paradigma  :rolleyes:

a bueno la clase nodo solo es una enlazada simple:
Código (csharp) [Seleccionar]
public class nodo
    {
        public int nro;
        public nodo sgte;
    }


saludos
#3
Holas  :D

Bueno explico: tengo desarrollado el metodo de insercion en una lista circular, aunque lo desarrolle segun la teoria de esta accion (ingresar)

Veamos:
Código (csharp) [Seleccionar]
static nodo insertar(nodo lista, int n)
        {
            nodo nuevo = new nodo();
            nuevo.nro = n;
            if (lista == null)
            {
                lista = nuevo;
                lista.sgte = nuevo;
            }
            else
            {
                nuevo.sgte = lista.sgte;
                lista.sgte = nuevo;
            }
            return lista;
        }

Y bueno mi metodo mostrar que va asi:
Código (csharp) [Seleccionar]
static void mostrar(nodo lista)
        {
            nodo aux = lista;
            if (lista == null) Console.Write("Lista vacia !!!");
            else
            {
                do
                {
                    Console.Write(aux.nro + " ");
                    aux = aux.sgte;
                } while (aux != lista);
            }
            Console.ReadLine();
        }


Bien el detalle, es que este muestra de manera incorrecta.
Pero estuve realizando pruebas de escritorio y mi error esta en ingresar sobre todo en el "else", solo que no puedo implementarlo correctamente.

Por ejemplo: ingreso -> 1 2 3 4
entonce muestra: Lista: 1 4 3 2

Alguna idea, recomendacion de hacerlo.

Gracias  :)
#4
Hola a todos ustedes, me presento: Micah Genji.

Estoy empezando a ingresar a este mundo de la criptografia.
En si estoy leyendo un libro: Una Introduccion a la CRIPTOGRAFIA
Autores: Eugenio Garcia, Miguel Angel Lopez, Jesus Ortega.

Y bueno solo estoy muy contento por un taller como este, y con vision a crear un algoritmo, en si necesita de matematicas (aunque no soy nada bueno en esta rama) que dan mayor motivacion a estudiarlas y entenderlas.

Gracias por el taller.

Preguntas:
1.En caso de las claves privadas, que a mi entender tiene a uno de los factores usados en la clave publica y asi poder descifrar.
estos factores son administradas por los diferentes algoritmos de ciframiento ( como una RSA que tengo entendido que es la mas robusta )?

#5
Hacking / Clave de Notebook.
15 Septiembre 2010, 21:45 PM
Hola a todos :)

Mi intencion es sacar la clave en la BIOS de un notebook sony vaio vgp, que la prestaron a un compañero y este le puso passwd ahora ni la recuerda.

Bueno estuve viendo al manera de hacer uso de killCmos pero esta no me deja bootear nada a pesar de puedo ver q reconoce medios usb cd pero no paso al booteo.

Estuve viendo que tambien tra claves backdoor pero parece para el modelo del esta laptop o de esta Bios ue viene con ella no esta disponible o no tengo info alguna.

modelo de bios: Phoenix TrustedCore

Bien agradezco todo tipo de ifnormacion. :)
#6
excelente lo estuve revisando y esta comprensivo.
si pusieras algunos ejemplos con cadena de caracteres seria la joya :)

en fin te mando mi forma de resolverlo el ejercicio, me decis q hago mal

saludos
#7
agradezco al aporte a ambos :)

pero tengo unas dudas, si pueden aclararme:

Código (cpp) [Seleccionar]
int **vector_a
esta instruccion es acaso: doble puntero.

Código (cpp) [Seleccionar]
vector_a = new int*[LIM];
-la instruccion new no tengo una idea de que es lo que hace.

agradezco a q me expliquen su forma de uso.

La verdad es que muy poco programo en c++. conozco mas la algoritmia pero en la implementacion estoy pesimo.

Ah Littlehorse gracias por la sugerencia pero casi siempre eh obviado el int. creo que mi teoria dice que esta funcion no retorna algun valor valido, por eso ya ni hago return o estoy equivocado.

Saludos.
#8
hola a todos :D

Hoy tengo un problema grave; hasta al momento no tengo la idea especifica de como poder leer el limite de espacio que quiero separar y asi mismo usarlo para cada una de mis funciones a usar:
Código (cpp) [Seleccionar]
#include<iostream>
#define LIM 3

using namespace std;

int vector_a[LIM][LIM];
int vector_b[LIM][LIM];
int vector_r[LIM][LIM];

int insertar(){
    int fila, columna;
    //vector a
    for (fila=0; fila<LIM; fila++){
        for (columna=0; columna<LIM; columna++){
            cout<<"\nIngrese valor a vector a["<<fila<<"]["<<columna<<"] :";
            cin>>vector_a[fila][columna];
        }
    }
    //vector b
     for (fila=0; fila<LIM; fila++){
        for (columna=0; columna<LIM; columna++){
            cout<<"\nIngrese valor a vector b["<<fila<<"]["<<columna<<"] :";
            cin>>vector_b[fila][columna];
        }
    }
}

int calcular(){
    int fila, columna, aux;
        for(fila=0; fila<LIM; fila++){
                for(columna=0; columna<LIM; columna++){
                    vector_r[fila][columna]=0;
                    for(aux=0; aux<LIM; aux++){
                        vector_r[fila][columna] += vector_a[fila][aux]*vector_b[aux][columna];
                        }
                    }
            }
}

int mostrar(){
    //matriz a
    int fila,columna;
    cout<<"\nVector a: \n";
    for (fila=0; fila<LIM; fila++){
        for (columna=0; columna<LIM; columna++){
            cout<<vector_a[fila][columna]<<"\t";
            if(columna == (LIM-1)){
                cout<<"\n";
            }
        }
    }
    //matriz b
    cout<<"\nVector b: \n";
    for (fila=0; fila<LIM; fila++){
        for (columna=0; columna<LIM; columna++){
            cout<<vector_b[fila][columna]<<"\t";
            if(columna == (LIM-1)){
                cout<<"\n";
            }
        }
    }
    //matriz resultado
    cout<<"\nVector resultado: \n";
    for (fila=0; fila<LIM; fila++){
        for (columna=0; columna<LIM; columna++){
            cout<<vector_r[fila][columna]<<"\t";
            if(columna == (LIM-1)){
                cout<<"\n";
            }
        }
    }
}

main(){
    insertar();
    calcular();
    mostrar();
    cin.get();
}


alguna idea de como hacerlo, por que cada vez pongo un LIM para poder ingresarlo desde teclado tengo errores en STD.

lo que quiero lograr es lo siguiente:
Código (cpp) [Seleccionar]

...
leer(LIM)
desde i <--0 hasta LIM hacer
         leer (V[i])
fin_desde
...


saludos
#9
Bueno gracias por los jalones de oreja, ya repase un poco si no que lo hice directamente sin tener en cuenta como trabaja las funciones con punteros, en fin tengo algo terminado, alguna sugerencia o por si otro jalon de orejas pasen el dato:

Código (cpp) [Seleccionar]
#include<iostream>
#include<cmath>
#define MAX 50
using namespace std;

//funcion ingresar angulo
int ingresar(int *anguloprincipal, int LIM){
   for (int i=0; i<2; i++){
       cout<<i+1<<" Ingrese angulo: ";
       cin>>anguloprincipal[i];
   }
}

//funcion calcular
float calcular(int *anguloprincipal,float *auxiliar, int LIM){
   for (int i=0; i<5; i++){
           auxiliar[i]=cos(anguloprincipal[i]);
       }
}

//funcion mostrar
float mostrar(float *auxiliar, int LIM){
   for (int i=0; i<2; i++){
       cout<<i+1<<" "<<auxiliar[i]<<endl;
}
}

main(){
   int angulo[MAX];
   float auxiliar[MAX];
   int *ang=angulo;
   ingresar(ang, MAX);
   calcular(ang, auxiliar, MAX);
   mostrar(auxiliar, MAX);
   cin.get();
}


ahora estoy en el ingreso de n veces que se quiera ingresar bueno eso ya lo implemento y meto mas funciones matematicas.

saludos
#10
bueno amigos estuve casi 2 horas tratando de implementar un codigo algo sencillo en con array simple, pero ahora que lo pienso quiero implementarlo con punteros pero no se que ocurre:

Código (cpp) [Seleccionar]
#include<iostream>
#include<cmath>
#define MAX 10
using namespace std;

//funcion ingresar angulo
int ingresar(int *anguloprincipal, int LIM){
    int angle[MAX];
    for (int i=0; i<5; i++){
        cout<<i+1<<" Ingrese angulo: ";
        cin>>angle[i];
    }
    return angle[MAX];
}

//funcion calcular
float calcular(int *anguloprincipal,int *aux, int LIM){
    int angle[MAX];
    float auxi[MAX];
    for (int i=0; i<5; i++){
        for (int j=0;j<i;j++){
            auxi[j]=cos(angle[i]);
        }
    }
    return angle[MAX],auxi[MAX];
}

//funcion mostrar
int mostrar(int *auxi, int LIM){
    int aux[MAX];
    for (int j=0; j<5; j++){
        cout<<aux[j];
    }
    return aux[MAX];
}

main(){
    int angulo[MAX],auxiliar[MAX] cal;
    int *ang=angulo;
    int *aux=auxiliar;
    ingresar(ang, MAX);
    calcular(ang, aux, MAX);
    mostrar(aux, MAX);
    cin.get();
}


la verdad no se donde estoy cometiendo el error si en mi funcion calcular o en el paso de valor al puntero auxiliar :(

saludos