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

#31
Foro Libre / Re: Enseña tu teclado.
19 Febrero 2017, 03:44 AM
Cita de: Songoku en 17 Febrero 2017, 00: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!
#32
Foro Libre / Re: Enseña tu teclado.
15 Febrero 2017, 10:40 AM
Yo como te dije uso el Genius ese y tengo record de 143 WPM, 130 WPM mi promedio en http://10fastfingers.com/typing-test/spanish

¿Cuál es tu puntaje ahí?, este teclado me hace escribir muy rápido porque las teclas no están tan levantadas.
https://10fastfingers.com/user/997002/ , se van borrando los records ahí abajo.

Una crítica constructiva espero no te tomes a mal, "doctorman ¿pero as probado alguna vez un teclado de es ...", en realidad debería ser "¿pero has ..."

Quizás ya lo sabías pero escribías así igual.

Saludos.
#33
Aaah, no sé porque pero cuando probé cambiar el tiempo estaba como bloqueado el tiempo, perdón.

Gracias por contestar de todos modos, saludos.
#34
¿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
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 C/C++ / Re: variable global
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
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
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
ASM / Re: Shellcode to HEX (BOF)
28 Enero 2017, 19:42 PM
Si lo aplico objdump a lo que me diste me tira esto:

Código (asm) [Seleccionar]

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í:
Código (asm) [Seleccionar]
.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
ASM / Re: ASM to HEX (BOF)
28 Enero 2017, 04:40 AM
Ya está lo solucioné haciendo esto:
Código (asm) [Seleccionar]
   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!