elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6
31  Programación / Programación C/C++ / Re: contar numero de letras en una palabra de un arreglo. en: 6 Marzo 2017, 00:18 am
tenes que hacer un bucle que recorra caracter por caracter la cadena hasta llegar al final (caracter nulo, 0x00 o '\0').

por cada caracter que analizes, lo comparas con un espacio, o sea ' '. este caracter nos va a indicar el final de una palabra.

lo que tenes que hacer es llevar dos contadores, uno para la cantidad de palabras desiguales a 4, y otro para la cantidad de caracteres que tiene la palabra acutal. ademas, si queres ignorar multiples espacios, (ejemplo: "hola    mundo asd"), deberias guardar el ultimo caracter analizado y compararlo con el actual en caso de que sea un espacio, para ignorarlo.

cuando se encuentre un espacio, tomas el contador de caracteres y te fijas si es igual a 4. si no lo es, sumas uno al contador de palabras, caso contrario nada. en ambos casos deberas reiniciar el contador de caracteres para que este en 0 para la proxima palabra.

como dijimos que un espacio va a indicar el final de una palabra, es posible que en la ultima palabra ese espacio no este, entonces deberas chequear eso tambien. al final de la funcion, si el ultimo caracter es un espacio, retornas el numero de palabras normalmente. en caso de que no sea un espacio, te fijas si la ultima palabra es desigual a 4, y si es asi retornas numero de palabras mas uno, caso contrario numero de palabras normalmente.
32  Seguridad Informática / Seguridad / Re: ¿Que consideran mas seguro ? en: 5 Marzo 2017, 20:34 pm
¿Una contraseña alfanumérica o una contraseña  binaria?

como dijo el admin, una contrase;a binaria seria demasiado facil de crackear.
con fuerza bruta la podrias sacar en minutos, aunque depende del largo y la persona tendria que saber que tu contrase;a solo contiene 2 caracteres para probar con solo esos caracteres y no con todo el conjunto alfanumerico.

una buena idea seria usar la contrase;a cifrada. ejemplo, tu contrase;a es "gato123", la encriptas a base64 y usas la contrase;a cifrada.

eso si, habria que memorizar la cadena a la perfeccion o tenerla anotada.

cuanto mas larga sea la contrase;a mas tiempo tomaria adivinarla por fuerza bruta. y bueno, no usar contrase;as sencillas que podrian estar en cualquier diccionario.





33  Sistemas Operativos / GNU/Linux / Re: Que distro de GNU/Linux me conviene para programar en pc antigua en: 5 Marzo 2017, 20:29 pm
aprovecho el tema para pedir una recomendacion.

ultimamente ubuntu me esta funcionando para la *****, hay un proceso llamado kiddle_inject que se come todo el cpu, y cada vez que inicio la pc tengo que ejecutar "sudo rmmod intel_powerclamp" para que dejen de molestar. tambien el navegador firefox me consume todo el cpu, ya probe reinstalandolo y purgando pero no hay caso.

que distro me recomiendan?
la voy a necesitar nada mas para programacion, busco rendimiento, no user-friendly ni una gui atractiva.
34  Programación / Programación C/C++ / Re: Detectar linea en blanco en C en: 5 Marzo 2017, 20:20 pm
tambien podrias leer caracter por caracter desde el archivo con la funcion fgetc(), y ir metiendo los caracteres uno por uno en un buffer llevando un contador, hasta encontrar el caracter '\n'.
cuando encuentres \n asumis que termino una linea, entonces copias el contenido del buffer (la linea) a donde la tengas que copiar, limpias el buffer, reinicias el contador y seguis leyendo caracteres.

el truco esta en que si encontrase el caracter \n, y el contador esta en 0 (es el primer caracter de la linea) asumis que la linea esta vacia y reinicias el buffer y el contador sin copiar nada, para seguir leyendo caracteres y repitiendo el proceso hasta EOF.
35  Programación / Programación C/C++ / Re: enteros de 12 bits en: 5 Marzo 2017, 20:12 pm
A ver, he encontrado esto: http://www.disc.ua.es/~gil/FAT12Description.pdf

Según el paper los 12 bits se consiguen de esta forma:

Suponiendo que 3 bytes consecutivos tienen la siguiente información (supongamos también que cada bit del byte puede alojar un número decimal):

PosiciónByte
076543210
154321098
232109876

Bien, pues el primer número de 12 bits sería el 109876543210
y el segundo número de 12 bits sería el 321098765432

Esto es así porque la FAT se hizo para máquinas IBM, y esas son little-endian, lo que quiere decir que el LSB se encuentra en la parte baja de la memoria. Traducido:
Para formar la representación de los 12 bits del primer número debes tomar
· Del 2º byte los 4 bits menos significativos : 1098
· Del 1er byte todos los bits : 76543210

Para formar la representación de los 12 bits del segundo número debes tomar
· Del 3er byte todos los bits : 321098765432
· Del 2º byte los 4 bits más significativos

que tal hermano
gracias por tu respuesta. ya habia visto ese PDF, la informacion sobre el formato FAT12 ya la tenia, mi duda era sobre las operaciones binarias en c lo cual ya lo solucione.

claro que la operacion que yo hago en el codigo que publique recientemente parte el segundo byte al reves, es decir:

XXXX XXXX
XXXX XXXX
XXXX XXXX

pero ahora que tengo en claro como hacer operaciones con bits, solo queda modificar el codigo para leerlo de la manera correcta y arreglar mi funcion que lee la FAT. o sea

XXXX XXXX
XXXX XXXX
XXXX XXXX
36  Programación / Programación C/C++ / Re: enteros de 12 bits en: 5 Marzo 2017, 09:40 am
Tienes 2 enteros cada 3 bytes.
En el primer bytes, obtienes el primer entero (accediendo, además, al siguiente byte)
En el segundo byte, obtienes el segundo entero (accediendo también al siguiente byte)
El tercer byte es, en su totalidad, parte del anterior entero. Aquí no hay anda que hacer

Y repites. 3 bytes, 2 acciones.

ahora si, lo entiendo perfectamente.

esto sucedia si chequeaba par o impar:

1111 1111 // byte 0 = 1111 1111 1001
1001 0110 // byte 1 = 0110 1011 1011
1011 1011 // byte 2 = 1011 1011 1100
1100 0011

ahora cada 3 bytes el byte es salteado.

muchas gracias por tu ayuda amigo !!!
37  Sistemas Operativos / GNU/Linux / Re: distribuciones ubuntu en: 4 Marzo 2017, 23:19 pm
yo en general trato de deducir el nombre del paquete.
escribo apt-get install supuestonombre.

a veces te dice "no se ha encontrado x paquete. quizas quiso decir X paquete?"
y ya tenes el nombre.

si no podes usar:

apt-cache search cadenaaabuscar

o de ultima, googleas el nombre del programa y buscas el nombre del paquete.
prefiero hacer eso que usar una interfaz grafica, se me hace mas molesto por alguna razon.

si no desde el centro de software ubuntu podes buscar las aplicaciones y descargarlas sin tocar la terminal.
38  Programación / Programación C/C++ / Re: enteros de 12 bits en: 4 Marzo 2017, 22:59 pm
No depende de si el byte es par o impar. Depende del resto de dividir entre 3:

Código
  1. int main()
  2. {
  3. for(int i=0; i<9; i++)
  4. {
  5. if(i % 3 == 1){
  6. short x = ((a[i] & 0xF) << 8);
  7. x |= ((a[i+1] & 0xFF));
  8. printf("%d\n", x);
  9.  
  10. } else if(i % 3 == 0) {
  11.  
  12. short x = (a[i] << 4) | ((a[i+1] >> 4) & 0xF);
  13. printf("%d\n", x);
  14. }
  15. }
  16. }

ahora si, funciona perfecto.

pero no me quedo claro, que tiene que ver el resto de la division con 3? me podrias explicar asi logro entenderlo?

te agradezco
39  Comunicaciones / Redes / Re: Internet gratis en: 4 Marzo 2017, 20:47 pm
no existen servicio para "internet gratis" hasta probé los dns de google y al menos a mi no me funcionaron en el celu., lo mas economico hoy en dia es pagar una linea de telefonia celular (preferiblemente movistar) y si uno tiene Android, compartir la señal 3g o 4g del celular via wifi para captarla en la compu ó en la notebook

creo que estas confundido, el servidor DNS de google funciona perfectamente. es un servidor DNS, (Domain Name System) que se encarga de transmitirte informacion sobre los dominios. ejemplo: si entras a google.com.ar le estarias mandando una consulta a tu servidor DNS, este te devolveria la direccion IP enlazada al dominio google.com.ar y ahi podrias comunicarte con los servidores de google.

un servidor DNS no te provee de servicios de internet, simplemente resuelve los dominios.

para el que publico el tema, la unica forma de tener internet gratis es usando el servicio que alguien mas esta pagando, ya sea pidiendole la clave a un vecino de buena fe, o crackeando su red mediante diferentes metodos.
a menos que en tu pueblo/ciudad haya una red publica gratuita, o te sientes en la vereda de una cafeteria o bar para captar su se;al.  jajaja
40  Programación / ASM / [DUDA] Pares de registros en: 4 Marzo 2017, 15:27 pm
hola, queria ver si alguien me podia aclarar esta duda.

estoy aprendiendo ASM x86, mas especificamente la sintaxis de intel. (utilizo NASM).

estuve viendo la instruccion MUL, que sirve para hacer operaciones de multiplicacion.

segun esta pagina: http://x86.renejeschke.de/html/file_module_x86_id_210.html

Opcode    Mnemonic    Description
F6 /4    MUL r/m8    Unsigned multiply (AX = AL * r/m8).
F7 /4    MUL r/m16    Unsigned multiply (DX:AX = AX * r/m16).
F7 /4    MUL r/m32    Unsigned multiply (EDX:EAX = EAX * r/m32).

para hacer una operacion de multiplicacion con un BYTE, tengo que mover el numero a multiplicar al registro AL, y me devuelve el resultado en AX.

Código:
    mov al, 5
    mul 5
    ; ahora ax = 25

para hacer una multiplicacion con un WORD, deberia mover el valor a AX:

Código:
    mov ax, 5
    mul 25
    ; ahora DX:AX vale 125

trabajando con DWORDS, seria:

Código:
     mov eax, 5
     mul 1000
     ; ahora EDX:EAX vale 5000

mi duda es, que significan esos pares de registros?
el resultado se aloja en el registro EDX o en el registro EAX?
o en ambos?
como hago para manipular el resultado, teniendo en cuenta que se guardan en pares de registros?

no logro entender cual es el significado de esas expresiones.
que seria un par de registros y cual es su utilidad?
si me podrian dar algun ejemplo.

gracias.

Páginas: 1 2 3 [4] 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines