elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:34  


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Ocultar File
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ocultar File  (Leído 1,206 veces)
sowher

Desconectado Desconectado

Mensajes: 203


Programar es un arte diseñemos arte


Ver Perfil
Ocultar File
« en: 19 Febrero 2006, 18:06 »

Aca les dejo un code q oculta file's

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char dir[70];
    char orden_dir[50];
    char nomFile[30];
    char barra[] = "\x5C";
    char orden[54];
    int op;
 
    do
    {
       
        system("cls");
       
        system("Title Ocultar File Gedzac - by sowher");
        system("color 7");

        printf("\n\t----------Menu------------\n");
        printf("\t[1]. Ocultar Archivo\n");
        printf("\t[2]. Mostrar Archivo Oculto\n");
        printf("\t[3]. Salir\n");
        printf("\t-----------------------------\n");
        printf("\tElija la opcion: ");
       
        fflush(stdin);
        scanf("%d", &op);
        fflush(stdin);

        switch (op)
        {
            case 1:
                system("cls");
               
                printf("\n\tEscriba el ruta del File (Ej: C:%sruta ): ", barra);
                fflush(stdin);
                gets(dir);
   
                printf("\tLa ruta elegido es: %s\n", dir);
                strcpy(orden_dir,"cd ");
                strcat(orden_dir,dir);
               
                while (system(orden_dir) == 1)
                {
                    printf("\tLa ruta no existe, vuelva a intentarlo\n");
                    printf("\tEscriba el ruta del File (Ej: C:%sruta): ", barra);
                    gets (dir);
                   
                    printf("\tLa ruta elegido es: %s\n", dir);
                    strcpy(orden,"cd ");
                    strcat(orden,dir);
                }

                strcpy(orden_dir,"cd ");
                strcat(orden_dir,dir);
                system(orden_dir);
               
                fflush(stdin);
                printf("\n\tIntroduzca el nombre del File (Ej: file.txt): ");
                gets(nomFile);

printf("\tEl File elegido es: %s\n", nomFile);
strcpy(orden,"dir ");
strcat(orden,dir);
strcat(orden,barra);
strcat(orden,nomFile);

while (system(orden) == 1)
{
  printf("El File no existe, vuelva a intentarlo");

  printf("Introduzca el nombre del File(Ej: file.txt): ");
  gets(nomFile);

  printf("El archivo elegido es: %s\n", nomFile);

  strcpy(orden,"dir ");
  strcat(orden,dir);
  strcat(orden,barra);
  strcat(orden,nomFile);
}

                strcpy(orden,"attrib ");
                strcat(orden,dir);
                strcat(orden,barra);
                strcat(orden,nomFile);
                strcat(orden," +h");
               
                system(orden);

                break;

            case 2:
                system("cls");
               
                printf("\n\tEscriba el ruta del File (Ej: C:%sruta ): ", barra);
                fflush(stdin);
                gets(dir);
   
                printf("\tLa ruta elegido es: %s\n", dir);
                strcpy(orden_dir,"cd ");
                strcat(orden_dir,dir);
               
                while (system(orden_dir) == 1)
                {
                    printf("\tLa ruta no existe, vuelva a intentarlo\n");
                    printf("\tEscriba el ruta del File (Ej: C:%sruta): ", barra);
                    gets (dir);
                   
                    printf("\tLa ruta elegido es: %s\n", dir);
                    strcpy(orden,"cd ");
                    strcat(orden,dir);
                }

                strcpy(orden_dir,"cd ");
                strcat(orden_dir,dir);
                system(orden_dir);
               
                fflush(stdin);
                printf("\n\tIntroduzca el nombre del File (Ej: file.txt): ");
                gets(nomFile);

printf("\tEl File elegido es: %s\n", nomFile);
strcpy(orden,"dir ");
strcat(orden,dir);
strcat(orden,barra);
strcat(orden,nomFile);

while (system(orden) == 1)
{
  printf("El File no existe, vuelva a intentarlo");

  printf("Introduzca el nombre del File(Ej: file.txt): ");
  gets(nomFile);

  printf("El archivo elegido es: %s\n", nomFile);

  strcpy(orden,"dir ");
  strcat(orden,dir);
  strcat(orden,barra);
  strcat(orden,nomFile);
}

                strcpy(orden,"attrib ");
                strcat(orden,dir);
                strcat(orden,barra);
                strcat(orden,nomFile);
                strcat(orden," -h");
               
                system(orden);

                break;

            case 3:
                exit (0);
                break;

            default:
                printf("\tOpcion no valida");
        }
    }while (op!=3);
   
    return 0;
}

Saludos


En línea
Kasswed
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.202


Andalucía


Ver Perfil
Re: Ocultar File
« Respuesta #1 en: 19 Febrero 2006, 19:16 »

¿Qué significa esto?

Código:
char barra[] = "\x5C";

¿Para qué sirve?

Saludos!


En línea

"He who allows himself to be insulted, deserves to be."

Repórtame cualquier falta a las normas del foro por mensaje privado.
rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: Ocultar File
« Respuesta #2 en: 19 Febrero 2006, 19:55 »

¿Qué significa esto?

Código:
char barra[] = "\x5C";

Es una forma bastante extraña de utilizar el caracter "barra invertida". En C una forma mas sencilla de utilizar el susodicho caracter es:
Código:
printf("\tEscriba el ruta del File (Ej: C:\\ruta): ");

Un saludo
En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
sowher

Desconectado Desconectado

Mensajes: 203


Programar es un arte diseñemos arte


Ver Perfil
Re: Ocultar File
« Respuesta #3 en: 19 Febrero 2006, 20:56 »

Solo es una bara inebertida (\), pero como tu sabes q el cmpilador mas rapido trabaja con numeros q con char, es pro ello q solo lo colocoo en hex...
En línea
blak.ks

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Ocultar File
« Respuesta #4 en: 19 Febrero 2006, 22:46 »

simplemente es para optimizar, pero la optimización conseguida con eso es mínima e, igualmente, algo debe optimizar...
En línea
rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: Ocultar File
« Respuesta #5 en: 20 Febrero 2006, 01:52 »

No me lo tomen a mal pero no hay tal optimizacion ya que en C los caracteres son numeros enteros, al compilador de C le da lo mismo que utilizemos cualquiera de estas constantes:
Código:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   putchar('\134');
   putchar('\n');
   
   putchar('\x5C');
   putchar('\n');
   
   putchar('\\');
   putchar('\n');
   
   return EXIT_SUCCESS;
}

Ya que solo son distintas representaciones del mismo numero.

Un saludo
En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
InfiniteLoop

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Ocultar File
« Respuesta #6 en: 20 Febrero 2006, 20:33 »

No es ninguna optimización como bien dice rir lo único que cambia es que el compilador lo interprete de un modo u otro, en el binario final aparecerá lo mismo.
Ahún si haciera la conversión el propio ejecutable la optimización sería computacionalmente inapreciable. Hay que tener en cuenta que la eficiencia se mide en potencias.
Además tampoco me parece útil el programa, no es mas fácil utilizar directamente attrib +h desde la shell?

Un saludo
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines