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 - AlbertoBSD

#1551
Gracias, buscaba ideas o ver si habia alguno para numeros de N bits pero al parecer tendre que hacerlo como comentas con modulos y divisiones entre 10, usando las funciones que ya tengo de modulo y división.

Saludos
#1552
Muy buen dia.

Tengo entre manos el siguiente problema.

Tengo en memoria un buffer que contiene números de gran longitud, puedo sumarlos, restarlos, dividirlos etc.

Ahora necesito imprimirlos en formato decimal, actualmente solo tengo forma de visualizarlos en formado hexadecimal.

ejemplo:

numero 1: 0000000000000020a7c0a09f032703
numero 2: 00000000000000000000000000000021a45141d6351f
numero 3: 00000000000000001ed31c62dfa50b
numero 4: 00000000000000000000000000000044b5f2b7695b70
numero 5: 00000000000000000040ab08571d224107
numero 6: 000000000000000000000000000000003ac807630f6218
numero 7: 00000000000000000000000072b11568f28c2a
numero 8: 000000000000000000000000000000000000607fe65ec43bdf


Numeros en Little Endian.


Lo anterior lo hago solo imprimiendo byte a byte en hexadecimal.

La pregunta aqui es.. ¿debo de busca el algoritmo ya hecho para convertir de entero a "Cadena Decimal" usado por itoa?

O recomiendan algun otro algoritmo que sea mas adecuado para números largos, repito el numero ya lo tengo en memoria y es de N cantidad de bits

El algoritmo itoa es el siguiente:

http://opensource.apple.com//source/groff/groff-10/groff/libgroff/itoa.c

y al aprecer no funciona para numeros como el que tengo.

#define INT_DIGITS 19 /* enough for 64 bit integer */

char *itoa(i)
     int i;
{
  /* Room for INT_DIGITS digits, - and '\0' */
  static char buf[INT_DIGITS + 2];
  char *p = buf + INT_DIGITS + 1; /* points to terminating '\0' */
  if (i >= 0) {
    do {
      *--p = '0' + (i % 10);
      i /= 10;
    } while (i != 0);
    return p;
  }
  else { /* i < 0 */
    do {
      *--p = '0' - (i % 10);
      i /= 10;
    } while (i != 0);
    *--p = '-';
  }
  return p;
}


Saludos
#1553
Cita de: El_Andaluz en 14 Mayo 2016, 23:10 PM
Para aprender y compartir creo que no importa la edad ni el sexo.

Concuero que no importan eso datos.

Ni el pais.

Saludos
#1554
Los numeros de las imagenes son los siguientes en hexadecimal  :silbar: :silbar:

numero 1: 0000000000000020a7c0a09f032703
numero 2: 00000000000000000000000000000021a45141d6351f
numero 3: 00000000000000001ed31c62dfa50b
numero 4: 00000000000000000000000000000044b5f2b7695b70
numero 5: 00000000000000000040ab08571d224107
numero 6: 000000000000000000000000000000003ac807630f6218
numero 7: 00000000000000000000000072b11568f28c2a
numero 8: 000000000000000000000000000000000000607fe65ec43bdf


Correspondientes a los valores binarios de:

Imagen 4
00000000000000000000000000000000000000000000000000000000000001001110010100000011000001011111100111000000111001001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000100001001011000101010000010011010111010110011111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Imagen 5
00000000000000000000000000000000000000000000000000000000000000000111100011001011001110000100011011111011101001011101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010101011010100111111101101100101101101101000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Imagen 6
00000000000000000000000000000000000000000000000000000000000000000000000000000010110101010001000011101010101110000100010010000010111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111000001001111100000110001101111000001000110000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Imagen 7
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001110100011011010100000010110010011110011000101010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110111111100110011101111010001000111101110011111011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


Todavía no tengo los números en decimal.

Saludos
#1555
La finalidad es que esten disponibles.El uso que les quieran dar.

Lei el algoritmo que me recomendaste pero aun no he tenido chance de aplicarlo.

De que son primos son primos.
Fueron divididos contra los primos menores que la raiz cuadrada del numero dado y ninguno de los restos fue 0. Solo se evaluaron los numeros impares del 3 en adelante, la lista inicio exclusivamene con el numero 2.
#1556
Aqui dejo un ejemplo para alinear cuando ya los tienes en cadena alineados a la izquiera, te los alinea a la derecha.

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

int main() {
int len; //Longitud
int desplazamiento; //
char *temp,*resultado;
temp = calloc(20,1);
resultado = calloc(30,1);
double a = 123.45;
double b = 6.5;
snprintf(temp,20,"%.2f",a); // Guardamos 123.45 en la cadena alineado a la izquierda
len = strlen(temp); // almacenanamos la longitud de temp
desplazamiento = 30 - len;
memset(resultado,' ',30); // Generamos la variable resultado de forma espaciada para linear la variable temp
memcpy(resultado+desplazamiento,temp,len); // Copiamo temp a resultado pero desplazado; para que este alineado
printf("%.2f\n",a); // Mostramos el resultado sin alinear
printf("%s\n",resultado);
// Repetimos ahora con b
memset(temp,0,20); // Limpiamos el valor de temp
memset(resultado,' ',30); // Limpiamos el valor de resultado
snprintf(temp,20,"%.2f",b);
len = strlen(temp);
desplazamiento = 30 - len;
memcpy(resultado+desplazamiento,temp,len);

printf("%.2f\n",b);
printf("%s\n",resultado);
}


Salida:

123.45
                        123.45
6.50
                          6.50


La primera linea es antes de estar alineado y la segunda linea es ya alineado.

Saludos
#1557
Si lo queuieres es que tengan la misma cantidad de digitos despues del punto puedes usar los formato de cadena.

#include<stdio.h>

int main() {
double a = 123.45;
double b = 6.5;
printf("%f\n",a);
printf("%f\n",b);
printf("%.2f\n",a);
printf("%.2f\n",b);
printf("%.4f\n",a);
printf("%.4f\n",b);
}


Salida:

123.450000
6.500000
123.45
6.50
123.4500
6.5000


Si lo que quieres es alinearlos a la derecha y la misma cantidad de decimales necesitas manejar los números a cadenas de texto manualmente.

Podrías Almacenar la cadena del resultado en una variable sin alinear y despues moverla para que este alineada.

Saludos.
#1558
Criptografía / Archivos con numeros Utiles
13 Mayo 2016, 20:31 PM
Dejare una lista de números útiles y sus respectivos archivos:

Tabla de Numeros enteros y sus respectivos cuadrados.


Lista de Números primos:


  • Números primos de un byte del 2 al 251 en total 54 : 1
  • Números primos de dos bytes del 257 al  65521 en total  6488 : 2
  • Numeros primos de tres bytes del 65537 al  16777213 en total  1071329: 3

Seguiré subiendo los archivos mientras los compruebo que no tengan errores.

Los números anteriores están en formato Litte Endian y solo necesitan la cantidad de bytes que indica el archivo.

También agregare el código necesario para búsqueda / leerlos a memoria y lo que se necesite.


Saludos
#1559
Seguridad / Re: backdoor o rootkit en router
13 Mayo 2016, 19:44 PM
Ok, descartado no estas paranoico, lo siento pero esa era la impresión.

Para saber si el router tiene algo habría que hacer un DUMP del firmware y analizarlo con IDA.

Otra opción es... Instalar un IDS entre tu conexión de Internet y el router y asi poder analizar todo el trafico que pasa por la red.

Y si, si es posible que si lograron comprometer el router puedan comprometer cualquier PC en la red Interna.

Se puede detectar el root también analizando el trafico de red.

En caso contrario necesitas Arrancar el equipo desde algun Sistema Linux y analizar manualmente ya deben de existir algunos scripts que hagan el trabajo pesado.

La siguiente lectura tiene un ejemplo muy similar a lo que cuentas, pero lo usaron para atacar con éxito a un equipo de hackers y funciono, la falla fue un Router, el que ataco a los hacker hizo su propio exploit/firmware para el router en cuestion.

http://pastebin.com/raw/0SNSvyjJ

Noticia relacionada:
http://arstechnica.co.uk/security/2016/04/how-hacking-team-got-hacked-phineas-phisher/

Saludos!
#1560
Cita de: xochimilco en 13 Mayo 2016, 19:11 PM
Estas usando Visual Studio, para realizar este ejemplo?


En ese momento no lo tenia:

Cita de: AlbertoBSD en 27 Abril 2016, 00:27 AM

Tengo el IIS instaldo y el codigo lo pongo desde el block de notas en el directorio correspondiente.
Uso windows 8.1 en este momento.



Ahora ya lo tengo y se ejecuta sin problemas.  :silbar:

Gracias por el interés de todos modos.