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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: 1 2 [3] 4
21  Programación / Programación C/C++ / [C] char * vs char [] en: 22 Marzo 2016, 01:26 am
¿Es lo mismo hacer esto?

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main (void){
  5.  
  6.        char *s;
  7.        s=(char *) malloc (3);
  8.  
  9.        s[0]='1';
  10.        s[1]='2';
  11.        s[2]='3';
  12.  
  13.  
  14.        printf ("%s\n",s);
  15.  
  16.        return 0;
  17. }
  18.  

Que

Código
  1. #include <stdio.h>
  2.  
  3. int main (void){
  4.  
  5.        char s[3];
  6.  
  7.        char s[0]='1';
  8.        char s[1]='2';
  9.        char s[2]='3';
  10.  
  11.        printf ("%s\n",s);
  12.  
  13. }
  14.  

¿Podría hacer lo mismo utilizando char * pero sin utilizar malloc?

Otra duda
Código
  1. char *s="aloja"; char s[]="aloja";
¿Qué diferencias tienen?

Saludos!

22  Programación / Programación C/C++ / ¿Concurso de programación? en: 15 Febrero 2016, 09:24 am
Hola a todos!  :D

¿Existe alguna competencia de programación o alguna lista larga de problemas para programar, problemas de cualquier tipo?

Saludos!
23  Foros Generales / Sugerencias y dudas sobre el Foro / [Sugerencia] Dar votos a artículos/respuestas en: 24 Diciembre 2015, 21:50 pm
Hola a todos!

Estaría bueno agregar algún plugin para dar votos a un artículo.
¿Hay algún plugin para dar negativos o positivos a ciertos artículos?
Y también a respuestas del propio artículo.

Saludos!
24  Programación / Programación General / [Haskell] Ejemplos de funciones: tail, reverse, zip, etc. en: 24 Diciembre 2015, 03:33 am
Hola a todos!

He creado estas funciones con el fin de entender como funcionan cada una de ellas.
Por eso algunas ya están definidas como por ejemplo tail,reverse, zip, ...

Código
  1. fac 0 = 1
  2. fac n = n * fac (n-1)
  3.  
  4. replicate' 0 n = [n]
  5. replicate' x n = n:replicate (x-1) n
  6.  
  7. take' 0 xs = []
  8. take' n [] = []
  9. take' 1 xs = [head xs]
  10. take' n xs = head xs:take (n-1) (tail xs)
  11.  
  12. reverse' [] = []
  13. reverse' (x:xs)=last (x:xs):reverse'(init (x:xs))
  14.  
  15. haycero [] = False
  16. haycero (x:xs) = (x==0) || haycero (xs)
  17.  
  18. todosceros [] = error "No está definido para una lista vacía"
  19. todosceros [x] = (x==0)
  20. todosceros (x':x:xs) = (x'==0) && todosceros(x:xs)
  21.  
  22.  
  23. maximo n x = if (n>x) then n else x
  24. minimo n x = if (n>x) then x else n
  25.  
  26. maximo' n x
  27.  | n>=x = n
  28.  | n<x = x
  29.  
  30. zip' xs []         = []
  31. zip' [] ys         = []
  32. zip' (x:xs) (y:ys) = [(x,y)]  ++  zip' xs ys
  33.  
  34. zip'' xs [] = []
  35. zip'' [] ys = []
  36. zip'' (x:xs) (y:ys) = (x,y) : zip'' xs ys
  37.  
  38. nth [] n = error "No está definida para lista vacía"
  39. nth xs n = if (length xs > n) then xs !! n else error "No se puede acceder a esa posición ya que no existe"
  40.  
  41.  
  42.  
  43. {-
  44. Comprueba si un elemento dado está en la lista
  45. -}
  46.  
  47. elem' n []     = False
  48. elem' n (x:xs) = (n==x) || elem' n xs
  49.  
  50. {-
  51. ANALISIS POR CASOS
  52. -}
  53.  
  54. elem'':: Eq a => a -> [a] -> Bool
  55. elem'' n xs
  56.  | length xs==0  = False
  57.  | otherwise     = (n==head xs) || elem'' n (tail xs)
  58.  
  59. {-
  60. quicksort [10,2,5,3,1,6,7,4,2,3,4,8,9] = [1,2,2,3,3,4,4,5,6,7,8,9,10]
  61. -}
  62.  
  63.  
  64. {-
  65. zip [] []= []
  66. zip [2] [5] = [(2,5)] ++ zip [] []
  67. zip [1,2] [4,5] = [(1,4)] ++ zip[2][5]
  68. -}
  69.  
  70. length' [] = 0
  71. length' (x:xs) = 1 + length' xs
  72.  
  73. {-
  74. repeat' 0
  75. repeat'
  76. -}
  77.  
  78. map' f [] = []
  79. map' f (x:xs) = f x : map' f xs
  80.  
  81. tail' [] = []
  82. tail' (x:xs) = xs
  83.  
  84. {-
  85. filter (>3) [1,2,3,4,10,10,10,20,20,20] = [4,10,10,10,...]
  86. -}
  87.  
  88. sumatoria [] = 0
  89. sumatoria (x:xs) = x+sumatoria xs
  90.  
  91. multiplicar [] = 1
  92. multiplicar (x:xs) = x*multiplicar xs
  93.  
  94. sumatoria' xs
  95.  | length (xs) == 0 = 0
  96.  | otherwise = head xs+sumatoria' (tail xs)
  97.  
  98. multidos [] = []
  99. multidos (x:xs) = 2*x : multidos xs
  100.  
  101. multiPor n [] = []
  102. multiPor n (x:xs) = n*x : multiPor n xs
  103.  
  104. h [] = [1]
  105. h (x:xs) = (x+1) : h xs
  106.  
  107. test [] = []
  108. test (5:[]) = error "Tu lista empieza por 5"
  109.  
  110. h' [] = [1]
  111. h' (x:xs) = [(x+1)] ++ h xs
  112.  
  113. g 0 = error "El numero es cero"
  114. g n = error "El numero no es cero"
  115.  
  116. multiplicar' xs
  117. | length xs == 0 = 1
  118. | length xs /= 0 = head xs*multiplicar'(tail xs)
  119.  
  120.  
  121. filter' f [] = []
  122. filter' f (x:xs)
  123.      | f x =  x:filter' f xs
  124.      | otherwise = filter' f xs

Ejecutan ghci y lo cargan con :l <nombre-del-archivo>
Después hagan los llamados que quieran.

Perdón como se ve, no hay una etiqueta para Haskell.

Saludos!
25  Programación / Programación General / ¿Qué pasó con el "kernel" Luxur? en: 9 Diciembre 2015, 14:39 pm
Hola a todos!,


¿El proyecto sigue en pie?, la página está caída.

¿Qué pasó?
¿Existe algún otro proyecto parecido en el foro?

Saludos!
26  Programación / Programación C/C++ / [C] ¿Qué hace este while de una sola linea? en: 25 Noviembre 2015, 01:31 am
Código
  1. #include <stdio.h>
  2.  
  3. int main (void){
  4.  
  5.  int a,c;
  6.  a=c=3;
  7.  
  8.  while ((a=c=getchar()) == '1');
  9.  
  10.  printf ("c:%c\n",c);
  11.  printf ("a:%c\n",a);
  12.  
  13.  return 0;
  14. }


Código:
[dresuer@emachine TRABAJILLO]$ echo '3' | ./TEST
c:3
a:3
[dresuer@emachine TRABAJILLO]$ echo '1' | ./TEST
c:

a:

[dresuer@emachine TRABAJILLO]$

¿Qué hace este programa?

¿Por qué a y c valen una nueva linea?

¿a=c='\n'?

No entiendo.
27  Programación / Programación C/C++ / [C] Memoria dinámica. Malloc, Realloc en: 19 Noviembre 2015, 00:47 am
Hola a todos!

Me tira un error, en realidad no sé bien como usar realloc.

Código
  1. /*
  2. Escribir un programa que lea enteros y los almacene en un arreglo
  3. sin conocer de antemano la cantidad de valores que se leerán.
  4. El programa deberá completar el arreglo hasta que se ingrese un número negativo,
  5. valor que no se agregará a la mencionada estructura de datos. Finalmente deberá imprimir
  6. el promedio de los elementos del arreglo.
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11.  
  12.  
  13. int main (void){
  14. int a,promedio;
  15. int i;
  16. int *AR=malloc (1*sizeof(int));
  17. int *tmp_AR;
  18.  
  19. i=promedio=0;
  20. printf ("Number no negative: \n");
  21. scanf ("%d",&AR[i]);
  22. while (AR[i]>=0) {
  23. promedio+=AR[i];
  24. scanf ("%d",&AR[i]);
  25.  
  26. tmp_AR=realloc(AR,(1+i)*sizeof(int));
  27. if (tmp_AR == NULL){
  28. // Falló la asignación de memoria.
  29. exit (-1);
  30. }
  31. else {  
  32. // Asignar memoria a AR
  33. AR=tmp_AR;
  34. }
  35. i++;
  36. }
  37.  
  38. printf ("Average: %f\n",(double)promedio);
  39.  
  40.  
  41.  
  42.  
  43. return 0;
  44. }

Me tira este error : Error in `./12': realloc(): invalid next size: 0x0000000001a63010 ***

Y encima después me acepta numeros negativos no entiendo por qué

¿Cómo lo debería hacer?
Saludos!
28  Programación / Programación C/C++ / [C] Estructuras en: 18 Noviembre 2015, 22:21 pm
Buenas!  ;D

Código
  1. /*Escribir un programa que defina el tipo Persona, con nombre, edad y nacionalidad; solicite al
  2. usuario el ingreso de los datos de 8 personas y los guarde en un arreglo con elementos de tipo Persona,
  3.  para finalmente extraer del arreglo los datos de la persona más joven e imprimirlos en pantalla.
  4. Sugerencia: para probar el programa rápidamente se pueden guardar datos de personas
  5. en un archivo de texto y redirigir el contenido del mismo, usando la consola de Linux, al binario del programa.*/

¿Alguien me ayuda con esto por lo menos me guia un poco?
No digo que lo hagan todo.

Hice tantos ejercicios que llegué a este y me trabé, ya estoy algo cansado.
Apreciaría mucho que mas o menos me den una idea o como debería pensarlo.

Saludos.
29  Programación / Programación C/C++ / [C] (void*) ¿Para qué sirve? en: 18 Noviembre 2015, 15:55 pm
Hola a todos!, ¿para que sirve usar (void*) ahí?

Código
  1. #include <stdio.h>
  2.  
  3. void imprimir_dir(int x) {
  4.  
  5. printf("La direccion de memoria de a es: %p.\n", (void*) &x);
  6. }
  7.  
  8. int main(void) {
  9. int n;
  10.  
  11. printf("Introduzca un valor entero: ");
  12. scanf("%d", &n);
  13.  
  14. printf("La direccion de memoria de a es: %p.\n", (void*) &n);
  15.  
  16. imprimir_dir(n);
  17. return 0;
  18. }
  19.  

¿Qué pasa si yo hago esto?

Código
  1. /*
  2. Definir una simple función imprimir_dir(int x) cuyo único propósito sea imprimir la dirección del entero
  3. x que se le pasa. Crear una variable entera en main, imprimir su dirección ahí mismo y
  4. luego pasar la variable a imprimir_dir. Comparar los resultados. ¿Es el comportamiento esperado?
  5. */
  6.  
  7. #include <stdio.h>
  8.  
  9. void imprimir_dir(int x){
  10.  
  11. printf ("%p\n",&x);
  12.  
  13. }
  14.  
  15. int main (void){
  16. int a;
  17. a=20;
  18. printf ("%p\n",&a);
  19.  
  20. imprimir_dir(a);
  21.  
  22. return 0;
  23. }


Lo que se me pide es: Definir una simple función imprimir_dir(int x) cuyo único propósito sea imprimir la dirección del entero x que se le pasa. Crear una variable entera en main, imprimir su dirección ahí mismo y luego pasar la variable a imprimir_dir. Comparar los resultados. ¿Es el comportamiento esperado?

Saludos!
30  Seguridad Informática / Hacking / [How] Bypassing chrome XSS protection en: 18 Octubre 2015, 16:16 pm
Hola a todos,

cómo dice el título como puedo saltearme filtros anti-xss de Chrome?, busqué información en internet pero no la entendí del todo, ¿alguien me lo podría dejar más claro y si puede ser darme un ejemplo?

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