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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 354
71  Programación / Programación C/C++ / Re: Letras aleatorias en una matriz en: 21 Junio 2021, 16:07 pm
Citar
1 generar una gran cantidad de letras aleatorias en una matriz.
2 El tema es que esas letras no se pueden pisar,
El punto 1 está reñido con el punto 2. Es decir no queda nada claro, que si generas una 'gran cantidad de letras', pués obivmanete cuado ese número sea tan pequeño como 26, para cumplir el paso 2, el punto 1 deja de cumplrirse y se repiten...

Admitiendo ambas cosas a la vez (aunque creo recordar que ya alguna vez o más ahbré puiesto lo mismo o muy parecido).

Código:
entero constante MAX_LETRAS = 26
 char bufferChars() = "abc...xyz"  //un array de chars con las 26 letras minusculas, añade si quieres las mayusculas (o remplazaa)
 entero Index = MAX_LETRAS    ' el tamaño

  // Cuando el array está barajado (desordenado), simplemente se recorren en orden...
 // ...y al llegar al final se vuelve a barajar.
 function GetRandomChar
     si (index = MAX_LETRAS)
         Llamada a RandomSort
         indedx =0
     sino
         index +=1
     fin si

     devolver bufferchars(index)
 fin funcion
  
 // batajar el array usando el algoritmo de Fisher-Yates
 funcion RandomSort
     entero index
     char tmp

     bucle para k desde (MAX_LETRAS-1) hasta 1 retrocediendo
         k = random(entre 0 y k)
         tmp = bufferchars(k)  
         bufferchars(k) = bufferchars(index)
         bufferchars(index) = tmp
     siguiente
 fin funcion
72  Sistemas Operativos / Windows / Re: Me puede descargar windows 11 gratis en mi ordenador arquitectura 64? en: 18 Junio 2021, 23:38 pm
Me puede descargar windows 11 gratis en mi ordenador arquitectura 64?
Mi portatil es un acer aspire 5733Z
No. Incluso aunque estuviere disponible.

A ti no te resuelve ningún problema instalar un S.O. de m omento desconocido, con posibles problemas desconocidos (que nadie te va a poder resolver).

Un programa beta, o 'exfiltrado', solo es recomendable para personas capacitadas para poder solventar cualquier problema que pueda acontencer, que como mínimo será volver a su S.O. motivo por el cual, cualquiera (de éstos), sabe que es conveniente instalar de forma virtual o a lo sumo  un equipo destinado exclusivamente a eso, a pruebas...

No basta con tener un equipo 'apto', se requiere también tener conocimientos 'aptos'. Si te pierdes en simplezas por las que preguntas, como crees que nadie te vaya a solventar problemas que de entrada nadie conoce?. No sea culo inquieto. el dicho claramente asegura que: "...quien sentado esté bien, que no se levante..."
73  Seguridad Informática / Seguridad / Re: Youtube movil hackeado en: 18 Junio 2021, 23:08 pm
Borra desde 'ajustes' , 'aplicaciones', 'google'  (la localización en el tf. puede variar con la versión de android) borrar datos y memoria cachés, para esta aplicación que es la general de Android, te lleva al historial de búsqueda de Google (administrar espacio y borrar memoria caché).

Borra también datos y caché de los navegadores que tengas y por supuesto de youtube.

Pudiera ser que esa persona tenga tus datos de login de Youtube (o peor, de tu cuenta de correos, esto pudiera ser posible aún que tu no lo supieras si fue tu pareja, pues tuvo sguramente oportunidad de hacerlo)?. Si fuera así, visionar youtube desde tu login desde otro dispositivo, almacena en la nube (aparte de local) lo que se ha visto desde esa cuenta, que luego se utiliza para sincronizar dispositivos...

Sugiero, ciertos cambios un poco molestos de llevar a cabo, porque uno siempre se resiste a cambiar cuentas que tiene para acceso a muchos sitios, etc... Sin embargo, son el principal punto de 'control y conflicto' y por tanto la solución para ciertos problemas persistentes.

0 - Revisa si tu correo actual asociado con android tiene una cuenta alternativa asociada para rescate. Avisos de login incorrecto y de cambios de contraseña llegan a esa cuenta asociada y desde ella se puede solicitar contraseña a tu correo.
Se intenta ver si actualmente existe una cuenta desconocida (u olvidada) por ti, asociada y en tal caso desvincularla o (preferiblemente) remplazarla por otra tuya de plena confianza (por ejemplo un familiar, hermano/hermana) o algún amigo. Con plena confianza, aquí se refiere uno a que sea alguien que no se lleve bien (o le caiga mal) con esa persona de modo que tengas la absoluta seguridad de que no le van a convencer de ninguna manera para nada relacionado con tu cuenta.

1 - Luego, cambia la contraseña de tu correo actual, el asociado con Android.

2 - Crearte una nueva cuenta de correos y luego asociarlo con tu teléfono. Esto puede ser algo drástico que puede dar algún problema si uno no conoce bien la implicación de lo que supone. Pero a lo que se pretende es la medida más eficaz. Tendrás que escribir un correo a tus contactos (que quieras conservar), para que a partir de entonces te escriban a ese correo (ahora si tienes contacto por otras aplicaciones, basta que les digas que esa cuenta ya no la usas, de momento no la borres ni la elimines, hasta que pasado unos meses veas que no hay rastro de problemas, aún así puede que prefieras descargarte a tu PC, los correos que contiene o eliminarlos definitivamente, aunque te diría que es preferible dejarla inactiva (no la uses)).

3 - Reasocia otras cuentas (solo cuando veas que la asociación al teléfono ya funciona bien) a esa nueva cuenta. Incluyendo youtube, etc... esa asociación debería incluir un cambio de contraseña de las que lo precisan para prevenir el caso de que tengan login a ella sin tu saberlo.

4 - Si esa persona además es alguien a olvidar en tu vida, que no quieres tenerla presente para nada, podrías solicitar de último un cambio de número de teléfono a tu proveedor, en tal caso haz coincidir el paso 2 con éste.

5 - Si el paso 4 es una opción, pudiera ser preferible, acometer el paso 2 el primero (Crearte una nueva cuenta de correo) y comprar un nuevo tf. y que sea éste el que ahora se asocie con tu nuevo tf, con tu nuevo número.
Esto te permite tener el otro tf. con los datos vigentes hasta 'ayer', que con paciencia puedes importar al nuevo teléfono, de preferencia manualmente, las formas automáticas exigen sincornización y por ahí siempre se publican o exigen una cuenta previamente conocida, que puede ser un punto débil. Todo creado nuevo desde cero, evita filtraciones a cambio de la molestia que implica crear nuevas cuentas, olvidar las viejas (poco a poco, aunque seguirás teniendo acceso desde el tf. viejo), y entrar contactos...

No quieras hacer todos los pasos el mismo día, date tiempo para ver posibles problemas derivados con cada paso.  Cuando se hacen muchos pasos de una vez y surgen problemas, es fácil no saber de dónde viene el problema y es también en fácil olvidar cada uno de los pasos dados. Haz un cambio cada semana (por ejemplo).

Si todo se reduce a lo meramente incicado (que te aparecen sugerencias de búsquedas que no corresponden con tu historial), debría bastar con lo primero. Borrar datos y caché de Google. A veces uno lo resume de forma simple, porque no quiere señalar públicamente a desconocidos otros problemas derivados... pero si fuera el caso, el resto de puntos, son la solución.
74  Programación / Programación C/C++ / Re: Frustracion en: 17 Junio 2021, 23:48 pm
La cualidad que distingue una palabra de otra, es que medie un separador entre las palabras, cuando son más de una.

A su vez esto exige definir palabra y separador:
letra = 0|1|2|3...8|9|A|B|C...Y|Z|a|b|c|d...y|z| ...etc, si se precisan más
separador: espacio|tabulador|,|.|:|;|"| ...etc... si se precisan más
separadores = separador+   //uno o más separadores
palabra = letra+ // una o más letras
palabras = palabra [separador palabra]*

Una vez claro que letras pueden (son admitidas para) formar palabras y qué caracteres son un separador, se crean un array de 256 bytes indicando para cada uno, si es letra, separador (o no se admite = 0). Ese valor se toma de una enumeración y el array se crea al iniciar la aplicación.

Código:

array bytes Letras(256)

enumeracion ValorPalabra
    CARACTER_NO_APROBADO =0
    CARACTER_ES_LETRA = 1
    CARACTER_ES_SEPARADOR = 2
fin enumeracion

funcion inicializar
     ...
     Letras(09) =  CARACTER_ES_SEPARADOR  // el tabulador horizontal
     Letras(32) =  CARACTER_ES_SEPARADOR  // el espacio
     ...
     Letras(34) =  CARACTER_ES_LETRA   // comillas dobles
     ...
     Letras(48) =  CARACTER_ES_LETRA   // el dígito 0...
     ...
     Letras(65) =  CARACTER_ES_LETRA   // la letra A...
     ...
     Letras(97) =  CARACTER_ES_LETRA   // la letra a...
     ...
Fin funcion
La función se puede simplificar si se mete cada caracter aceptado como letra en un string y cada caracter admitido como separador en otro, y luego en sendos bucles, simplemente se toma cada carácter de dicho string y se le asigna el valor que toca.
El resto de caracteres tendrá el valor 0, señalando que o bien es un error o bien que se ignorará... (al gusto).

Finalmente puedes crear tu función, que sí, que puede ser recursiva, aunque es el tipo de casos que claramente no lo requiere, pero que para prácticas es adecuado.
En cuyo caso, convendría

Código:
entero BuscarPalabra(string Texto, entero Inicio, entero NumChars)
    entero j = inicio

    si (inicio = numchars) devolver 0 // impide buscar más allá del tamaño del texto.

    Hacer mientras  (texto(inicio) <> CARACTER_ES_SEPARADOR)  //caracteres no aprobados entre letras los ignora como si fueran letras.
        inicio +=1
        si (inicio = numchars) devolver 1
    repetir
    
    Hacer mientras  (texto(inicio) <> CARACTER_ES_LETRA)  // caracteres no aprobados entre separadores los ignora como separadores.
        inicio +=1
        si (inicio = numchars) devolver 1
    repetir
    
    si (inicio > j)   // caracteres no aprobados, pueden falsear esto.
        devolver  BuscarPalabra(texto, inicio, numChars) +1
    sino
        devolver  BuscarPalabra(texto, inicio, numChars)
    fin si
fin funcion

La función se invocaría tal que así:
Código:
texto = "Hola, esto es "..." 0001 ejemplo de pru3ba."
numPalabras = BuscarPalabra(texto, 0, texto.length)
mostrarMensaje "El texto: " + saltodelinea + texto + saltodelinea + "contiene: " + numpalabras + " palabras."
Cada llamada a la funcion BuscarPalabra, reconoce una palabra (o ninguna cuando se alcance el final).

Es del todo importante decidir qué caracteres pertencen a cada uno de los 3 grupos. Idealmente el grupo 'CARACTER_NO_APROBADO' no debería existir. Pero como nada es perfecto, ahi están. Se pueden ignorar o marcar como error, en el pseudocódigo se ignoran, pero su aparición puede arrojar error bajo determinadas condiciones, no se contempla evitar dicho errror, so pena de un código más complejo que luego interferirá con la comprensión.

Por supuesto, no necesitas construir el array ni tirar de la enumeración, sino del propio lenguaje, pero igualmente es preciso ilustrar dichos conceptos, sea que luego se construya o no. Para comprender el asunto, es preferible recrearlo y ver lo sencillo que es resolverlo.

El pseudocodigo está escrito al vuelo, pudiera hacerle falta un repaso, que queda a tu esfuerzo... lo mismo que entenderlo, y convertirlo a código.

...y no, no es necesario eliminar letras... imagina un texto de 100 millones de palabras, si con cada letra tienes que reconstruir otra cadena donde sea idéntica excepto en que ahora no tiene el que antes era el carácter primero/o ultimo (lo mismo me da, que me da lo mismo)... se haría eterno... simplemente avanza el puntero de lectura del char sobre el texto.
75  Foros Generales / Foro Libre / Re: Por un juego de rol realista. en: 17 Junio 2021, 18:01 pm
Tener muy detallado un esquema es útil (análisis) para conocer el comportamiento final y poder programarlo acorde a lo esperado.
Sin embargo, luego viene la fase de síntesis... en videojuegos se resume en 'nivel de vida', da igual el nombre que se le dé y típicamente se cuantifica en una escala 1-100 (por ejemplo).

En tu exposición la síntesis simplemente exigiría cuantificar diferentes aspectos (que añaden otras características si se ve preciso):
- Vitalidad: Afectado en el corazón, cabeza, pulmones. No requiere mucha explicación.
- Movilidad: Afectado en las piernas o columna vertebral (implica pérdida en velocidad de movimiento y pérdida en el manejo de armas o herramientas que exijan el uso de piernas, como andar, correr, mantenerse en pie, remar, pedalear, luchar, etc...)
- Maniobravilidad: Afectado en las manos brazos, piernas, cuello y cadera (implican pérdida de: giro, capacidad prensil, fuerza, flexión y extensión. Van a determinar que ciertas acciones no se puedan realizar y que otras  tomen más tiempo o haya falta en la precisión de su aplicación (pongamos puntería, por ejemplo))
- Raciocinio/razonamiento: Afectado por casi todo, pero en mayor medida por afectaciones del cerebro y en general del 'nivel de vida (implica pérdida de la capacidad cognitiva, hasta llegar incluso al desmayo. Desde el simple dolor a problemas de memoria, cálculo y anticipación, en definitiva al final afecta a la capacidad operativa. Si te duele mucho alguna parte del cuerpo, pués no vas a poder pensar con claridad, incluso aunque algo ya estuviera bien planeado y por tanto no requiera ser 'calculado' al instante, sino que baste seguir ciertos pasos, si lo que te duele es la rodilla, pués algo como saltar no es una opción, pero si nadar... etc...).

Dicho de otra manera, toda tu lista debería desembocar en un porcentaje de afectación a cada una de estas áreas. Y cada una de estas áreas son las que determinan la capacidad general del personaje.
Luego esa lista en realidad no se precisa, porque tras un ataque directamente se infiere el procentaje de daños infligido a cada una de estas áreas.

No es necesario determinar si te duele la muñeca (por ejemplo). Aunque si sería más realista la posibilidad de perder un miembro, también añadiría la posibilidad de tener restricciones por la visión de situaciones 'cruentas' durante el desarrollo del juego, que afectarán a la calificación de la audiencia del videojuego.
Al final ninguna empresa espera perder público potencial que compre sus productos porque esté marcado como 'para mayores de 18 años', solo por que los gráficos puedan mostrar a gente con miembros amputados (y que no añade más jugabilidad, solo un realismo que se reduce a morbosidad)...
76  Foros Generales / Foro Libre / Re: Mis dudas existenciales yo win_7 en: 17 Junio 2021, 17:24 pm
Me han cobrado 800€ por un seguro del hogar! Madre mía el banco!

Este seguro que me han cobrado de adesla por el seguro de hogar es obligatorio? Se puede cancelar? (por favor alguien que entienda)
Es un seguro cada 3 años me descuentan de la libreta eso
En principio me parecía demasiado caro, pero luego al señalar que es por 3 años, ya no lo es... aunque 800 no es divisible por 3 (supongo que has redondeado).

Creo que es preferible que te cobren anualmente, no cada 3 años.

En realidad para saber si aún así es o no caro, conviene ver qué cubre el seguro. Si cubre el contenido cuánto es el límite (algunos por ejemplo cubren hasta 10.000 euros sea cual sea el daño de la casa (esto es, aunque el daño supere ese valor varias veces, ese es el valor máximo que te darían), lo que puede dar para ciertas averías y arreglos, pero quizás no para arreglar la casa tras un incendio). Y con el valor máximo, tu sabrás si las cosas que tienes en casa alcanzan o superan ampliamente ese valor (por ejemplo alguien que apenas tiene más muebles de los imprescindibles: una mesa y 4 sillas para comer, una cama, lavadora, frigorífico y cocina... pués no llega el valor de todo ello nuevo de 10.000 euros, luego quizás el precio de la prima sea excesivo para ese ejemplo.
En fin como casi siempre hay varios condicionantes y sin conocimiento de los mismos, es imposible aventurar si es caro o barato, tan solo decir que el precio entra dentro de lo habitual en una casa 'habitual'. Otros condicionantes suelen ser los metros cuadrados de la casa, numeor de habitaciones y su antigüedad.

Cámbialo a pago y renovación automática anual y de momento déjalo así... ya a futuro te tomas en serio ponerte al día de precios de otras compañías y comparas (de momento el cobro supone la cobertura hasta x fecha, luego cualquier posible cambio no lo hagas antes de una fecha próxima a dicho vencimiento (estarías pagando a dos compañías por mismo para un mismo período, que por supuesto en caso de daños, ambas deberían cubrir)). Considera también las condiciones del contrato, si no lo entiendes deberías pedirle a tu tío que lo mire y te lo explique aunque sea por encima.

Ahora tu tío, pasa a ser tu 'persona favorita', aunque parezca no hacerte mucha gracia. Pese a todo, seguro que te quiere más de lo que tu crees, pero tu condición te impide reconocerlo en personas, si no es con halagos y 'favores' contínuos (que te dediquen).
77  Informática / Software / Re: Sabéis si puedo descargar algún programa para ordenador Windows de Spotify premium free igual con Netflix? en: 17 Junio 2021, 16:52 pm
Sabéis si puedo descargar algún programa para ordenador Windows de Spotify premium free igual con Netflix?
Netflix, no dispone de versión 'free'...
El precio de 11euros por mes (hay varias tarifas con diferencias mínimas en precio), creo que es algo asequible a todo el mundo, y teniendo en cuenta que se la misma cuenta vale para al menos 2 dispositivos a la vez (incluso 4 por un precio irrisoriamente mayor), divide el precio entre 2 personas...
Lo que siempre insistimos aquellos que defendimos el p2p, que era posible.

Netflix, en cambio lo que si ha tenido es un período de prueba de 3 meses. Ignoro si seguirá disponible después de varios años, si aún dispone de ello y nunca lo has consumido, tal vez puedas reclamar a tu proveedor de móvil, si pueden ofrecerte esos 3 meses de promoción gratuita antes de decidirte si lo contratas o no.

Y hay algun programa de streaming o de música etc que se pueda escuchar offline? (aunque no tenga Internet)
Claro. Con Spotify, si creas tus listas de reproducción se suelen descargar (vía p2p) en tu equipo, luego puedes desconectar la red y todo eso descargado 8más lo que tengas tú mismo en tu equipo) podrás escucharlo sin conexión. Ese mismo contenido es el que luego tu mismo 'ofreces' como un nodo p2p para otros que soliciten justo las canciones que tú tengas en esa caché (si no han cambiaod mucho las cosas, claro). En el caso de Spotify, creo que el tamaño máximo de descarga está limitado (no sé si modificable, no lo recuerdo pues hace años que no lo uso). Yo recuerdo haber mirado que me ocupaba alrededor de 2Gb. el volumen compartido, pero soy de los que siempre personaliza las opciones dle programa para que no abusen, luego ése, puede ser perfectamente el límite que yo le impuse.

El propio Netflix, te deja también descargar contenido para poderlo visualizar luego en cualquier momento que no tengas conexión (muy útil por ejemplo para viajes, cuando vas a un sitio que sabes que no tiene o tiene mala conexión).

Ahora, si con 'aunque no tenga conexión', te refieres a que nunca tengas conexión... tendrás que esperar a ver si 'Ilom Rusk', inventa y produce un 'PredictorMusicNeuralLink'.  :laugh: :laugh: :laugh:
78  Programación / Scripting / Re: Error de selenium - Python en: 17 Junio 2021, 16:35 pm
Muchos lenguajes utilizan el carácter '\' como un carácter de 'escape', cuando es así, y  el string contiene como parte del string ese mismo carácter, debe remplazarse por doble barra '\\' entonces al hacer el parsing del string se reconocen si forman pares contínuos como el propio carácter y 1 solo contínuo como el carácter de escape y podrá procesar el string correctamente.

Esa regla se aplica también a las cadenas que van entre comillas simples o dobles:
'casa's del monte' tendría que escribirse como 'casas''del monte'.
"caso del "monte"", tendría que escribirse como: "caso del ""monte""".

Hay que conocer al detalle la especificación del lenguaje para reconocer cuando se espera. Es frecuente que aún cuando un lenguaje no lo utilice expresamente, sí lo requiera alguna extensión/librería a la que se invoca desde el propio lenguaje usado, en cuyo caso la documentación de dicha extensión/librería lo explicará explícitamente.
79  Foros Generales / Foro Libre / Re: VIDEO: Primeras palabras de Putin y Biden durante su reunión en Ginebra en: 16 Junio 2021, 22:37 pm
Yo tengo la extraña sensación como si se hubieran puesto en pie de guerra para lanzarse mutuamente piedras (digo) carton piedra. Algo muy raro.
80  Sistemas Operativos / Windows / Re: Windows 11 en: 16 Junio 2021, 22:24 pm
Ms, tiene experiencia con los nombres... cuando estaban con el nuevo tras el 3.1, ya había equipos que salína con la coletilla "Preparado para Windows-4"... y como no eran ni uno ni dos (loa fabricantes descarados), al final le cambiaron el nombre por el de "win-95".

La historia se ha repetido alguna que otra vez, así que no hay que fiarse de ese 11. Al momento de salir a la luz, seguramente tenga un nombre distinto del usado internamente. ...qué sé yo, quizás "Win-evolution", por ejemplo  :laugh: :laugh: :laugh:
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 354
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines