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


 


Tema destacado: Página de elhacker.net en Google+ Google+


  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 24 25 26 27 28 29 30 ... 49
141  Programación / Programación C/C++ / Re: Programas para calcular fechas en: 24 Mayo 2017, 17:49
El código es susceptible a errores, porque aunque o tratas bien, lo complicas... cometes el error de querer tratarlo en 'formato humano'....
Abstráete todo lo que puedas del asunto humano, y hazlo desde una perspectiva más matemática...entonces la solución queda sencilla (y el código más breve y legible)

Veamos... los meses son 12, el problema aparecerá pués en los días... que cada mes tiene su tela, icluído los años bisiestos...

Código:
//Entonces creamos un string que represente los meses. Y su contenido sean 12 caracteres
MESES= "@ABCDEFGHIJK" // empiezo en la arroba, si no es tu gusto, cambia como prefieras. En realidad, no lo usamos, se pone solo para que se vea de donde proceden los valores de las dos siguientes variables (sino quedaría oscuro).

//Ahora creamos otras también como string constantes
MesesDe31Dias = "@BDFGIK"  //esto es: enero, marzo, mayo, julio, agosto, octubre, diciembre
MeseeDe30Dias ="CEHJ" // esto es: abril, junio, septiembre, noviembre,
//MesesMenos30 = "A" //esto es, febrero... no se utiliza, se pone por claridad  

Ahora creamos la función: Básicamente simplifica la verificación de los meses y la actualización delos díasy mes, se invoca a otra función.

Código:
Funcion FechaSiguiente(Mes, Dia) boolean  //devolvemos false, si los datos de entrada no están en el rango...
   string M

   Si mes esta en el rango 1-12 luego
       M = (Mes + 63) //porque @ es el ASCII 64, y +63 porque mes está en el rango 1-12, no en rango 0-11
       Si MesesDe30Dias.Contiene(M) luego
           Si Dia esta en el rango 1-30 luego
                llamada FijarMesYDia(Dia, 30, Mes)
                Return TRUE
           Fin si
       Si no
           Si MesesDe31Dias.Contiene(M) luego
               Si Dia esta en el rango 1-31 luego
                   llamada FijarMesYDia(Dia, 31, Mes)
                   Return TRUE
               Fin si    
           Si no // el mes es febrero: porque está en rango y no es ninguno de los anteriores...
               Si Dia es menor de 28 luego
                       Incrementar Dia
               Si no //es día 28 ó 29, falta saber si es bisiesto
                    Si Año no es bisiesto // not ((año mod 4 = 0)   and (año mod 100 <> 0)) //falta la comprobación múltiplo de 400...
                        llamada FijarMesYDia(Dia, 28, Mes)
                    Si no // el año es bisiesto, es día 29?
                        llamada FijarMesYDia(Dia, 29, Mes)                                          
                    Fin si
                    Return TRUE
               Fin si    
           Fin si  
       Fin si
   Fin si
Fin funcion

Funcion FijarMesYDia( Dia, DiaLimite, Mes)
    si Dia < Dialimite luego
         Incrementar Dia
    Si no
        Si Mes < 12 luego   // MesLimite
            Incrementar Mes
        Si no
            Mes = 1
        Fin si
        Dia =1
    Fin si
Fin Funcion

Si necesitas velocidad (no parece quesea el caso, esto no se va allamar miles ni millones devecescadavez, supongo), puedes a la entrada cortar con una comprobación en la que la mayor parte delas veces va a caer, y solo unas pocas veces haría el restode comprobaciones:

Código:
Funcion FechaSiguienteRapido(Mes, Dia) boolean
     Si dia <28 luego
         Incrementar Dia
         Return TRUE
    Si no
        // el resto de veces, deberá comprobar los casos según meses, tal como se hace más arriba, pero solo cuando sean días 28,29,30 y 31
    Fin si
Fin Funcion
142  Informática / Juegos y Consolas / Re: Me gustaria instalarme emuladores de consolas antiguos. en: 24 Mayo 2017, 16:21
Tengo muchos nervios y me gustaría desfogarme con unos buenos emuladores de todo tipo de consolas antiguas.
 
Me gustaría me recomendarais algunos de buenos,donde haya variedad y pueda jugar a muchos juegos antiguos míticos.

El MAME32... no puede faltar a todo amante de máquinas recreativas de los 70-80...
http://mamedev.org/
143  Foros Generales / Noticias / Re: Hackers burlan el escáner de iris del Galaxy S8 con una foto impresa en: 24 Mayo 2017, 15:28
Para muchos esto será una noticia sorprendente... para mi ni siquiera es 'hackear'... es tan obvio que estos sistemas no tienen nada de seguro...

Qué algo pueda ser identificado como unívoco a una persona, no indica que sea seguro, sólo que ese 'algo' y esa persona están directamente relacionados (la huella dactilar, la del iris, el gráfica del ritmo cardíaco o el cerebro, etc... da igual). Pero de NINGUNA manera, eso implica que sea difícilmente adquirible-copiable. que es lo que otorga la seguridad.

Complejidad no necesariamente implica seguridad. Y es vergonzoo, que gente que se supone que tiene muchos estudios, no acaben de entender la tan sencilla ecuación que subyace en todo esto.

Hoy por hoy, y por mucho tiempo, lo más seguro seguirá siendo usar contraseñas... pero claro, no es seguro no saber crear contraseñas. Dado que poner 123456 como contraseña es algo sencillo, es fácil dejarse llevar en que algo verdaderamente único como el iris del ojo que es único para cada persona y que tiene 100.000 puntitos será difícil de traspasar, pero eso es tan difícil como usar una contraseña como: "Yf38:H+O9>RTd06MOh&7K#4(?gR3G6B=4k57W213n" si lo llevas escrito en la frente...
144  Foros Generales / Foro Libre / Re: 'El abecedario del diablo': el nuevo juego peligroso que se populariza entre ... en: 24 Mayo 2017, 14:50
Citar
Una amiga de la mujer decidió alertar del caso a través de Facebook y la Asociación Contra el Acoso Escolar (ACAE) de la región dio a conocer su publicación.
...y así, lo que seguramente solo era un 'juego' entre 4 amigos, en un colegio aislado, de repente se convierte en lo que temen... un 'juego' que se expande por todo el mundo...
Difícil, saber si lo más acertado para esa mujer es 'darle' las gracias, o una bofetada...
145  Programación / Ejercicios / Re: Ejercicio Bucle While en Python en: 24 Mayo 2017, 04:33
Pués a mi me sale... lo complicado es entender correctamente el enunciado.

He puesto como valor para n = 100000 y para a= 350 y la respuesta me da 449.
Probaré con más valores para a...
' a = 350 ' 449
' a = 65  ' 449
' a = 165 ' 446
' a = 43  ' un primo a ver que pasa 449
a = 255 ' 447

- Posiblemente tu valor para n sea tan bajo, que a no tenga oportunidad de encontrarse en ese rango...

- Bueno mirando de nuevo tu código, lo que veo es que fuerzas el while, dentro del primer bucle For, por lo que es incapaz de regresar allí e incrementar x, que siempre valdrá 0. (NOTA: Esto sin embargo, no inutiliza mi comentario previo, sobre un límite demasiado bajo de n).

Reescríbelo así:
Código
  1.    n=int(raw_input("introduce n: "))
  2.    a=int(raw_input("introduce a: "))
  3.    x=0
  4.    sumaintx=0
  5.    sumaintn=0
  6.  
  7.    x=-1
  8.    while(x<n):
  9.        x= (x +1)
  10.        sumaintx=0
  11.        sumaintn=0
  12.        #while(sumaintn-sumaintx!=a):
  13.          i= n-x
  14.          for i in range(n-x,n):
  15.              sumaintn=sumaintn+i
  16.              for j in range(0,x):
  17.                  sumaintx=sumaintx+j
  18.        if(sumaintn-sumaintx==a):
  19.            print x
146  Programación / ASM / Re: Soluciones para cifrar mi propio codigo fuente en: 24 Mayo 2017, 04:00
¿Qué crees que es la protección de procesos????.
- Si un programa en memoria y ejecutándose pudiera modificarse alegremente, los problemas de seguridad serían enormes.

- De todos modos, incluso escribiendo drivers propios, existen límites y complicaciones:

- ¿Puede una báscula pesarse a sí misma?
- ¿..qué si tienes en la pila una serie de retornos y a la vuelta se deben hacer los correspondientes POPs?... tu código cifrado, ahora sería rescrito e indescifrable por tí mismo.
- ¿..qué si el registro IP, está apuntando a la instrucción pongamos 9999, y tu te empeñas en cambiar la dirección 9999?... supongamos que la consigues cambiar... ahora que se ejecutará...? ¿Cómo seguir cifrando el resto del programa cuando el algoritmo de cifrado, ya ha sido sobrescrito, las instrucciones que se encargan de cifrarlo ( y que ya están cifradas)?

- Supongamos que aún así se consiguiera cifrar por completo el programa... hemos dicho que el programa está ejecutando la instrucción 9999, pero el procesador, que como sabes (o deberías saber), tiene una cascada de instrucciones en diferentes estados (esto es, la 9999, se está ejecutando, pero la 10000 y la 10001 y... también, de hecho hay varias instrucciones que mientras una se está ejecutando, están en diferentes fases de la decodificación... incluso hay instrucciones que se ejecutan en paralelo, aunque nosotros las vemos o consideramos que se ejecutan en serie... si hay un salto, desde luego, se rompe la cascada que es despreciada... pero que pasaría con esas instrucciones que ya están fuera de nuestro control?. Bueno, al menos ya te indico que para descartarlas, deberías hacer un salto, para que sean descartadas, pero cómo hacer un salto y a dónde, si el código ha sido rescrito, por un contenido cifrado, quién le da las siguientes órdenes si ya no existen?

- Vamos un paso más allá, y olvidemos también la pipeline... Si hubieras logrado 'cifrar' todo tu programa, y estábamos en que la siguiente instrucción posterior a la 9999, empieza a decodificarse... No crees que no habrá modo de saber que sucederá?. Dando por cierto... que es cifrado y no simplemente remplazo de código 'sano' por otro 'malicioso', es decir si realmente es cifrado, el contenido en memoria para ser ejecutado, será pseudoaleatorio, luego el procesador puede 'volverse loco', impredecible.... podrías incluso borrar el disco sin darte cuenta, lo menos grave es que el cifrado se decodificara curiosamente como un bucle for, con un incremento del contador de 0, es decir un bucle infinito... en fin, aún suponiendo que nada te impidera cifrarlo tal como tu quieres, el resultado sería impredecible...

...y eso que soy generoso y doy por bueno, que solo quieras cifrarlo, y no remplazarlo por código   ::)>:D ::) >:D

Para terminar, ¿podrías decirme cuál es el objetivo de cifrar un ejecutable (en ejecución) en memoria y no en disco????
147  Programación / Java / Re: Abrir archivo, leer datos y modificarlos en otro archivo. en: 24 Mayo 2017, 03:41
No se rompe el ordenador por 'probarlo'...

Si, ese es el sitio exacto donde va.

Yo solo añadiría tras el "write", otro System.out.println(linea); así ves como era la línea a la entrada y tras la conversión... y ahí si observas error, corrige según veas que error arroja... después de todo, siempre cuando se está emepezando es buena práctiva añadir líneas de código extra a modo de debug, para ir probando no solo errores, si no incluso ideas nuevas...

p.d.: de haber sabido antes que era un ejercicio de clase, te lo hubiera dejado para que pensaras un poco más... pero creo sinceramente que lo hubieras hecho, en general la gente es perezosa y no se lo toma demasiado en serio, parece que tú sí...
148  Foros Generales / Foro Libre / Re: ¿documetacion sobre gramática básica? en: 24 Mayo 2017, 03:08
Pero, ¿gramática de qué lenguaje. Del español? o de algún lenguaje de informática?
149  Foros Generales / Foro Libre / Re: Y con ustedes... Windows 11!!! en: 24 Mayo 2017, 00:05
Hummm... Microsoft, se suma a la actualicitis, siguen a la cabeza: Flash-player de adobe, Facebook de Facebook, Firefox de Mozilla, y Android de Google (por ese orden). Curioso, lo encabezan 3Fs.: Flash-Facebook-Firefox

Parece una pelea de gallos a ver quien saca más versiones en menos tiempo. No cuaja la nata, no hay calidad, es un coladero de bugs, que nunca se acaban de resolver, porque... la siguiente versión, está esperando tras cruzar el semáforo... y vuelta a empezar... las cosas cambian de sitio, vuelta aperder tiempo buscando lo que sabías perfectamente donde estaba...

Luego se queja Mocosoft, de que la gente no se actualiza a la siguiente versión... para qué, para volver a reaprender, lo que ya sabías?. Convénceme, haciendo lo mismo, pero mejor y más veloz, con menos fallos y más sencillo, y no cambiando las cosas de sitio, complicándolo todo y para colmo, dejándolo más feo. Lo siento, pero el minimalismo le va a quien le va, a los demás, nos parece horrible... dejad elegir a la gente.
150  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Es vergonzoso que todos los threads que abro los cerréis ... en: 23 Mayo 2017, 23:41
Interesante la estadística... solo le falta, que ponga  :silbar: :silbar: los hilos que se le han cerrado  :laugh: :laugh: al usuario, para saber el alcance de la queja de Constance  :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 24 25 26 27 28 29 30 ... 49
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines