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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17
41  Seguridad Informática / Bugs y Exploits / Re: [Bug] CMD Se crashea con un codigo en: 19 Enero 2015, 16:25 pm
Bueno, parece que lo parcharon ?, ahora abre archivos nomas , parece ser inestable, al ponerlo solo en una carpeta con otro archivo allí si se crashea.
42  Programación / Programación C/C++ / Re: Crear proceso con nombre basado en cmd en: 17 Enero 2015, 19:39 pm
http://sourceforge.net/projects/batchcompiler/ Ese es muy pero muy bueno en mi opinion, yo estoy haciendo un código que traduce realmente el bat a un c, podrías poner el código de tu bat y quizás te podamos ayudar mas.
43  Programación / Programación C/C++ / Re: Crear proceso con nombre basado en cmd en: 17 Enero 2015, 16:14 pm
Recomendaría que lo hagas desde C/C++ todo, hasta lo que pude entender.
44  Foros Generales / Foro Libre / Re: Cuanto tiempo pasas en la computadora? en: 15 Enero 2015, 19:06 pm
Con mis aparatos tecnológicos cuando NO paso, solo te puedo decir que no estoy mas de 6 horas sin ellos.
45  Foros Generales / Foro Libre / Re: Cuenta de twitter en: 15 Enero 2015, 19:04 pm
No entiendo porque hay gente que borra sus cuentas, yo personalmente no uso mas que facebook y jamas lo borraría por nadie, como dejar que te vean el celular, es la forma de demostrarles que te tienen agarrado de los huevos.
46  Programación / Programación C/C++ / Re: [C][Bug] Problema al con mi código de traducción. en: 15 Enero 2015, 17:55 pm
En la consola ingreso:
Código:
echo Prueba pause
PAUSE
echo Prueba pause>nul
PAUSE>NUL
FIN

Y da de resultado:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main( int argc, char **argv)
  4. {
  5.        //La primera linea ¿En donde esta? //MAL
  6. printf("Presione una tecla para continuar."); //OK
  7. getchar(); //OK
  8. system("echo prueba pausenul"); //OK
  9. getchar(); //OK
  10. }

Gracias igualmente por corregir el código.
¿Sera porque use el gets con el scanf?
----------
EDIT: La solución era borrar la linea '163' que estaba allí por un despiste de novato que soy, yo pensando que era el bug que sucede al combinar gets con scanf, por algún lado había leído que se salteaba lineas y demás.
47  Programación / Programación C/C++ / [C][Bug][SOLUCIONADO] Problema al con mi código de traducción. en: 14 Enero 2015, 23:19 pm
Hola nuevamente foro, tengo un problema que me dificulta seguir con mi código, digo que es un bug porque hice mi código aparte, el cual funciona perfectamente, luego lo implemente a mi código y falla:

Código donde se presenta la falla:

Código
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5.  
  6. // Limpiador de pantalla
  7. void clrScr()
  8. {
  9. //Windows/Linux
  10. if (system("CLS")) system("clear");
  11. /* Modo realmente multiplataforma (malo).
  12.     int n;
  13.     for (n = 0; n < 10; n++)
  14.     printf( "\n\n\n\n\n\n\n\n\n\n\n\n\n" );
  15. */
  16. }
  17.  
  18. // Mensaje "propagandistico"
  19. void Mensaje()
  20. {
  21. printf("\t+----------------------------+\n");
  22.    printf("\t|BATCH TO C SOURCE CONVERTER |\n");
  23.    printf("\t+----------------------------+\n");
  24. }
  25. // Limpiador de ENTER
  26. void EnterLimp()
  27. {
  28. while ( getchar() != '\n' );    /* limpia el caracter ENTER de la entrada estandar */
  29. }
  30.  
  31. int main()
  32. {
  33. int oculto;
  34. int clave;
  35.  
  36.    FILE *fp;
  37. char *cPtr;
  38.    char filename[30];          //filename for source code
  39.    //for command
  40.    char cmd[150];
  41.    //la clave
  42.    char cmb[350];
  43.  
  44. // Nombre archivo final
  45. Mensaje();
  46. printf("\nEntre el nombre que le quiere dar al codigo saliente(.c): ");
  47. scanf("%s",filename);
  48. EnterLimp();
  49.  
  50. clrScr();
  51.  
  52. // Tipo de clave
  53. Mensaje();
  54. printf("AVISO: (No es posible modo oculto con clave externa) (2)\n ");
  55. printf("1: Para modo clave consola.\n 2: para clave externa (-pass clave) \n 0: sin clave");
  56. scanf("%d" ,&clave);
  57. EnterLimp();
  58. clrScr();
  59.  
  60. // Modo clave 1
  61. if( clave== 1 ){
  62. Mensaje();
  63.    printf("\nLa clave de mas de 3 caracteres: ");
  64.    scanf("%s",cmb);
  65. EnterLimp();
  66. }
  67. // Modo clave 2
  68. if( clave== 2 ){
  69. Mensaje();
  70.    printf("\nLa clave: ");
  71.    scanf("%s",cmb);
  72. EnterLimp();
  73. }
  74. clrScr();
  75.  
  76. //Modo "oculto"
  77. if( clave== 2 ){
  78. Mensaje();
  79. printf("No es posible modo oculto con clave externa\n");
  80. printf("Enter para continuar\n");
  81. getchar(); //pausa multiplataforma
  82. }else{
  83. Mensaje();
  84. printf("Para modo oculto escriba 1 (solo windows) o 0 para normal : ");
  85. scanf("%d" ,&oculto);
  86. EnterLimp();
  87. }
  88. clrScr();
  89. /*
  90. //Concatenado
  91. Mensaje();
  92.     printf("\nMetodo de concatenado : ");
  93.     printf("\n1 para metodo modo inteligente (beta) : ");
  94.     scanf("%d",&concatenado);
  95. EnterLimp();
  96.  
  97. clrScr();
  98. */
  99. //Codigos
  100. fp = fopen(filename,"w");
  101.    if (fp==NULL)
  102.    {
  103.     printf("Ocurrio un error al intentar abrir el archivo");
  104.     getchar();
  105.     exit(1);
  106.    }
  107.    else
  108.    {
  109. // includes normales
  110. fprintf(fp,"#include <stdio.h>\n");
  111.        fprintf(fp,"#include <stdlib.h>\n");
  112. if( clave== 2 ){
  113. fprintf(fp,"#include <string.h>\n");
  114. }
  115. if( oculto== 1 ){
  116. // modo oculto
  117.        fprintf(fp,"#include <windows.h>\n");
  118. }
  119.  
  120. if( oculto== 1 ){
  121.        fprintf(fp,"int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\n");
  122.        fprintf(fp,"PSTR szCmdLine, int iCmdShow)\n");
  123. }
  124. // int argc, char **argv
  125. fprintf(fp,"int main( int argc, char **argv)\n");
  126.        fprintf(fp,"{\n");
  127.  
  128. if( clave== 1 ){
  129. // modo clave
  130.  
  131.        fprintf(fp,"\nchar clave[6];\n");
  132.        fprintf(fp,"printf(\"Escriba su clave: \");\n");
  133.        fprintf(fp,"scanf(\"%%s\",clave);\n");
  134.        fprintf(fp,"if(strcmp(clave,\"%s\")==0)\n",cmb);
  135.        fprintf(fp,"{\n");
  136. }
  137. if( clave== 2 ){
  138. // modo consola
  139.        fprintf(fp,"\tchar clave[21];\n");
  140.        fprintf(fp,"\tchar clave2[21] = \"%s\";\n",cmb);
  141.        fprintf(fp,"\tif ( argc < 3 ) {\n");
  142.        fprintf(fp,"\tprintf(\"USO: programa -pass clave\");\n");
  143.        fprintf(fp,"\treturn 1;\n");
  144.        fprintf(fp,"}\n");
  145.        fprintf(fp,"\tif ( !strcmp( argv[1], \"-pass\" ) ) {\n");
  146.        fprintf(fp,"\tstrncpy( clave, argv[2], 20 );\n");
  147.        fprintf(fp,"\tclave[21] = '\\0';\n");
  148.        fprintf(fp,"}\n");
  149.        fprintf(fp,"\telse\n");
  150.        fprintf(fp,"return 1;\n");
  151.        fprintf(fp,"\n");
  152.        fprintf(fp,"\tif ( !strcmp(clave, clave2) )\n");
  153.        fprintf(fp,"{\n");
  154. }
  155. clrScr();
  156.  
  157. Mensaje();
  158.  
  159.        printf("\nComience a escribir los comandos : \n");
  160.        printf("Cuando finalice, ecriba 'FIN' para terminar\n");
  161.        printf("\nComandos :\n\n");
  162.  
  163.        gets(cmd);
  164.        while (1)
  165.        {
  166.  
  167. fgets( cmd, 150, stdin );
  168. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  169.  
  170. while (!strcmp(cmd,"PAUSE\>NUL"))
  171. {
  172. fprintf(fp,"\tgetchar();\n");
  173. fgets( cmd, 150, stdin );
  174. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  175.                 }
  176.  
  177. while (!strcmp(cmd,"PAUSE"))
  178. {
  179. fprintf(fp,"\tprintf(\"Presione una tecla para continuar.\");\n");
  180. fprintf(fp,"\tgetchar();\n");
  181. fgets( cmd, 150, stdin );
  182. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  183.                 }
  184. if (!strcmp(cmd,"FIN"))
  185.                 {
  186.                 break;              //if end is typed, get out of loop
  187.                 }
  188.              fprintf(fp,"\tsystem(\"%s\");\n",cmd);
  189. }
  190. if( clave== 0 ){
  191.        fprintf(fp,"}");
  192. }
  193.  
  194. if( clave== 1 ){
  195. // modo clave
  196.        fprintf(fp,"\t}\nelse\n{\n");
  197.        fprintf(fp,"\tprintf(\"Clave no valida\");\n}\n");
  198.        fprintf(fp,"\treturn 0;\n}");
  199. }
  200.  
  201. if( clave== 2 ){
  202. // modo clave
  203.        fprintf(fp,"\t}\nelse\n{\n");
  204.        fprintf(fp,"\tprintf(\"Clave no valida\");\n}\n");
  205.        fprintf(fp,"\treturn 0;\n}");
  206. }
  207. fclose(fp);
  208.    }
  209. }


Código que funciona perfectamente y es similar:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. int main()
  6. {
  7. char *cPtr;
  8.  
  9.    FILE *fp;
  10.    char filename[30];
  11.    char incs[200] = "#include <stdio.h>\n#include <stdlib.h>\nint main()\n{\n";
  12.    char end[50] = "}\n";
  13.    char cmd[150];
  14.  
  15.    printf("\nArchivo a crear: ");
  16.    scanf("%s",filename);
  17.    fp = fopen(filename,"w");
  18.    if (fp==NULL)
  19.    {
  20.     printf("Some error occurred while opening file");
  21.     getchar();
  22.     exit(1);
  23.    }
  24.    else
  25.    {
  26.        fprintf(fp,"%s",incs);
  27.  
  28.        printf("\nIngrese sus codigos: \n");
  29.  
  30.        gets(cmd);
  31.        while (1)
  32.        {
  33. fgets( cmd, 150, stdin );
  34. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  35.  
  36. while (!strcmp(cmd,"PAUSE\>NUL"))
  37. {
  38. fprintf(fp,"\tgetchar();\n");
  39. fgets( cmd, 150, stdin );
  40. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  41.                 }
  42.  
  43. while (!strcmp(cmd,"PAUSE"))
  44. {
  45. fprintf(fp,"\tprintf(\"Presione una tecla para continuar.\");\n");
  46. fprintf(fp,"\tgetchar();\n");
  47. fgets( cmd, 150, stdin );
  48. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  49.                 }
  50. if (!strcmp(cmd,"FIN"))
  51.                 {
  52.                 break;
  53.                 }
  54.              fprintf(fp,"\tsystem(\"%s\");\n",cmd);
  55. }
  56.  
  57.        fprintf(fp,"\n%s",end);
  58.  
  59.        fclose(fp);
  60.    }
  61.    getchar();
  62. }

Lo que pasa es que en el ultimo me devuelve el código perfectamente y el primero de todos, ese es el que falla y no se porque, funciona pero se saltea las lineas, aveces anda otras no ¿Se le puede hacer algo?.

SOLUCIONADO Y CORREGIDO UN POCO.

Código
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5.  
  6. // Limpiador de pantalla
  7. void clrScr()
  8. {
  9. //Windows/Linux
  10. if (system("CLS")) system("clear");
  11. /* Modo realmente multiplataforma (malo).
  12.     int n;
  13.     for (n = 0; n < 10; n++)
  14.     printf( "\n\n\n\n\n\n\n\n\n\n\n\n\n" );
  15. */
  16. }
  17.  
  18. // Mensaje "propagandistico"
  19. void Mensaje()
  20. {
  21. printf("\t+----------------------------+\n");
  22.    printf("\t|BATCH TO C SOURCE CONVERTER |\n");
  23.    printf("\t+----------------------------+\n");
  24. }
  25. // Limpiador de ENTER
  26. void EnterLimp()
  27. {
  28. while ( getchar() != '\n' );    /* limpia el caracter ENTER de la entrada estandar */
  29. }
  30.  
  31. int main()
  32. {
  33. int oculto;
  34. int clave;
  35.  
  36.    FILE *fp;
  37. char *cPtr;
  38.    char filename[30];          //filename for source code
  39.    //for command
  40.    char cmd[150];
  41.    //la clave
  42.    char cmb[350];
  43.  
  44. // Nombre archivo final
  45. Mensaje();
  46. printf("\nEntre el nombre que le quiere dar al codigo saliente(.c): ");
  47. scanf("%s",filename);
  48. EnterLimp();
  49.  
  50. clrScr();
  51.  
  52. // Tipo de clave
  53. Mensaje();
  54. printf("AVISO: (No es posible modo oculto con clave externa) (2)\n ");
  55. printf("1: Para modo clave consola.\n 2: para clave externa (-pass clave) \n 0: sin clave:\n\t");
  56. scanf("%d" ,&clave);
  57. EnterLimp();
  58. clrScr();
  59.  
  60. // Modo clave 1
  61. if( clave== 1 ){
  62. Mensaje();
  63.    printf("\nLa clave de mas de 3 caracteres: ");
  64.    scanf("%s",cmb);
  65. EnterLimp();
  66. clrScr();
  67. }
  68. // Modo clave 2
  69. if( clave== 2 ){
  70. Mensaje();
  71.    printf("\nLa clave: ");
  72.    scanf("%s",cmb);
  73. EnterLimp();
  74.  
  75. clrScr();
  76.  
  77. //Modo "oculto"
  78. Mensaje();
  79. printf("No es posible modo oculto con clave externa\n");
  80. printf("Enter para continuar\n");
  81. getchar(); //pausa multiplataforma
  82. }else{
  83. Mensaje();
  84. printf("Para modo oculto escriba 1 (solo windows) o 0 para normal : ");
  85. scanf("%d" ,&oculto);
  86. EnterLimp();
  87. }
  88. clrScr();
  89. /*
  90. //Concatenado
  91. Mensaje();
  92.     printf("\nMetodo de concatenado : ");
  93.     printf("\n1 para metodo modo inteligente (beta) : ");
  94.     scanf("%d",&concatenado);
  95. EnterLimp();
  96.  
  97. clrScr();
  98. */
  99. //Codigos
  100. fp = fopen(filename,"w");
  101.    if (fp==NULL)
  102.    {
  103.     printf("Ocurrio un error al intentar abrir el archivo");
  104.     getchar();
  105.     exit(1);
  106.    }
  107.    else
  108.    {
  109. // includes normales
  110. fprintf(fp,"#include <stdio.h>\n");
  111.        fprintf(fp,"#include <stdlib.h>\n");
  112. if( clave== 2 ){
  113. fprintf(fp,"#include <string.h>\n");
  114. }
  115. if( oculto== 1 ){
  116. // modo oculto
  117.        fprintf(fp,"#include <windows.h>\n");
  118. }
  119.  
  120. if( oculto== 1 ){
  121.        fprintf(fp,"int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\n");
  122.        fprintf(fp,"PSTR szCmdLine, int iCmdShow)\n");
  123. }
  124. // int argc, char **argv
  125. fprintf(fp,"int main( int argc, char **argv)\n");
  126.        fprintf(fp,"{\n");
  127.  
  128. if( clave== 1 ){
  129. // modo clave
  130.  
  131.        fprintf(fp,"\nchar clave[6];\n");
  132.        fprintf(fp,"printf(\"Escriba su clave: \");\n");
  133.        fprintf(fp,"scanf(\"%%s\",clave);\n");
  134.        fprintf(fp,"if(strcmp(clave,\"%s\")==0)\n",cmb);
  135.        fprintf(fp,"{\n");
  136. }
  137. if( clave== 2 ){
  138. // modo consola
  139.        fprintf(fp,"\tchar clave[21];\n");
  140.        fprintf(fp,"\tchar clave2[21] = \"%s\";\n",cmb);
  141.        fprintf(fp,"\tif ( argc < 3 ) {\n");
  142.        fprintf(fp,"\tprintf(\"USO: programa -pass clave\");\n");
  143.        fprintf(fp,"\treturn 1;\n");
  144.        fprintf(fp,"}\n");
  145.        fprintf(fp,"\tif ( !strcmp( argv[1], \"-pass\" ) ) {\n");
  146.        fprintf(fp,"\tstrncpy( clave, argv[2], 20 );\n");
  147.        fprintf(fp,"\tclave[21] = '\\0';\n");
  148.        fprintf(fp,"}\n");
  149.        fprintf(fp,"\telse\n");
  150.        fprintf(fp,"return 1;\n");
  151.        fprintf(fp,"\n");
  152.        fprintf(fp,"\tif ( !strcmp(clave, clave2) )\n");
  153.        fprintf(fp,"{\n");
  154. }
  155. clrScr();
  156.  
  157. Mensaje();
  158.  
  159.        printf("\nComience a escribir los comandos : \n");
  160.        printf("Cuando finalice, ecriba 'FIN' para terminar\n");
  161.        printf("\nComandos :\n\n");
  162.  
  163.        while (1)
  164.        {
  165. fgets( cmd, 150, stdin );
  166. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  167.  
  168. while (!strcmp(cmd,"PAUSE\>NUL"))
  169. {
  170. fprintf(fp,"\tgetchar();\n");
  171. fgets( cmd, 150, stdin );
  172. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  173.                 }
  174.  
  175. while (!strcmp(cmd,"PAUSE"))
  176. {
  177. fprintf(fp,"\tprintf(\"Presione una tecla para continuar.\");\n");
  178. fprintf(fp,"\tgetchar();\n");
  179. fgets( cmd, 150, stdin );
  180. if ( ( cPtr = strchr( cmd, '\n' ) ) != NULL ) *cPtr = '\0';
  181.                 }
  182. if (!strcmp(cmd,"FIN"))
  183.                 {
  184.                 break;              //if end is typed, get out of loop
  185.                 }
  186.              fprintf(fp,"\tsystem(\"%s\");\n",cmd);
  187. }
  188. if( clave== 0 ){
  189.        fprintf(fp,"}");
  190. }
  191.  
  192. if( clave== 1 ){
  193. // modo clave
  194.        fprintf(fp,"\t}\nelse\n{\n");
  195.        fprintf(fp,"\tprintf(\"Clave no valida\");\n}\n");
  196.        fprintf(fp,"\treturn 0;\n}");
  197. }
  198.  
  199. if( clave== 2 ){
  200. // modo clave
  201.        fprintf(fp,"\t}\nelse\n{\n");
  202.        fprintf(fp,"\tprintf(\"Clave no valida\");\n}\n");
  203.        fprintf(fp,"\treturn 0;\n}");
  204. }
  205. fclose(fp);
  206.    }
  207. }

El error era muy básico, había utilizado un gets en donde no tenia que estar antes del bucle, lo elimine y el problema esta resuelto.
48  Programación / Programación C/C++ / Re: Eclipse no me reconoce las funciones getch() y cls() en: 13 Enero 2015, 01:20 am
Hola. Estoy empezando con C++ y Eclipse no me reconoce las funciones getch() ni cls().
¿Es normal? Gracias.

Un poco malo pero yo utilizaría
Código
  1. void BorraPantallas(){
  2. if( system("cls") )
  3. system("clear");
  4. }

Y getchar() para el getch() que generalmente lo reemplaza muy bien.
49  Programación / Programación C/C++ / Re: [AYUDA] Con que libro comenzar? en: 13 Enero 2015, 00:59 am
También recomendaría, (soy muy pero muy nuevo pero tenlo en cuentas) algo que me sirvió mucho http://www.cplusplus.com/ también tomar un código de algo básico como un "traductor" de batch a C en mi caso e ir agregándole cosas que se te ocurran, funciones, metrodos de traducción, etc, te vas a sentir con ganas aprender, otro método muy bueno es mirando youtube, por ejemplo un tipo que explica muy bien es este https://www.youtube.com/watch?v=ztEsa-dtn3E.

PD: Excelente web http://www.minidosis.org/#/
50  Seguridad Informática / Criptografía / Re: 343110 en: 13 Enero 2015, 00:26 am
El 343110 hace alusion al numero escrito por Eva Blanco en su diario, repetidas veces, distintos colores. Lo que no conozcan el caso, hay muchisima informacion por internet, pero en resumen dire que fue una chica que desaparecio hace 17/18 años, la cual, segun creo fue encontrado su cadaver, pero ni la policia ni la guardia civil, han dado con el asesino. El hecho de aparecer ese numero en su diario, puede dar valiosa informacion, sabiendo su significado. Si alguien tuviese una pista, idea, por descabellada que parezca, comuniquenla al cuerpo nacional de policia, o guardia civil. Un saludo.

Debe ser alguna contraseña quizás o tarea ? Por lo que veo eso no es una palabra por el solo hecho de que el doble 1 no tiene sentido, almenos que el 11 o el 10 sea una letra especifica y acordate que el "CH" no es una letra, aunque quizás para ella si.

FIJATE:
Código:
A B C D E F G H I J  K   L   MNÑOPQRSTUVWXYZ
0 1 2 3 4 5 6 7 8 9  10  11

343110:
DEDBBA = debería en italiano

¿Debería hacer eso?
¿Me debe querer...?
¿Se entiende lo que quiero decir?


Esto quede claro que esta hecho sin mirar web alguna para no contaminar las conclusiones, yo siempre juego a hacer eso, pensé que era el único. No creo que sepa Hexadecimal la chica, quizás era muy tímida por eso lo escribió asi.
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines