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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 [161] 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 ... 185
1601  Programación / Programación C/C++ / Re: [aporte]c++ cifrar/descifrar archivos comando en: 10 Junio 2013, 22:08 pm
Con qué estándar y/o compilador te compila esto? :

Código
  1. char buf[tamano];

Sé que en C99 se puede, pero no creo recordar que se pudiera en C++.

En todo caso, un array estático es normalmente ubicado en la stack. Si tratas de cifrar un archivo de algunos MB, se te puede desbordar la stack y crashear el programa.

Saludos.

tienes razon me lo compilo el gcc en codeblocks con windows .
lo hice rapido casi con afan :P luego lo corrijo
1602  Foros Generales / Foro Libre / Re: ¿Qué comandos utilizáis más y cuales echáis más de menos? en: 10 Junio 2013, 20:40 pm
windows
echo
start
for
goto
ping
more

linux
nano
apt-get
sudo-su
nmap
wget
top
service


extraño:
choice :(

1603  Programación / Programación C/C++ / Re: Como cifrar letra por letra en C++ en: 10 Junio 2013, 20:03 pm

(Excelente Foro ;)
si que lo es  ;D
1604  Programación / Programación C/C++ / [aporte]c++ cifrar/descifrar archivos comando en: 10 Junio 2013, 20:00 pm
 :P
Código
  1.  
  2. #include <iostream>
  3.    #include <string>
  4.    #include <cstring>
  5.    #include <fstream>
  6.  
  7.    using namespace std;
  8.  
  9.  
  10.    void ayuda()
  11.    {
  12.    cout << "formato: cifrar.exe parametro \"archivo a cifrar\" \"archivo cifrado\"" << endl;
  13.    cout << "parametros:"<< endl << "-c cifrar" << endl << "-d descifrar" << endl;
  14.    }
  15.  
  16.  
  17.  
  18.    int main(int argc,char *argv[])
  19.       {
  20.       if(argc==4)
  21.           {
  22.               char *buf;
  23.               int tamano;
  24.               int n=1;
  25.  
  26.               char letra;
  27.               ifstream archivo(argv[2],ios::binary);
  28.               if(archivo.fail())
  29.                   {
  30.                   cout << "no fue posible abrir el archivo"<< endl;
  31.                   return 1;
  32.                   }
  33.               //-----------------------------
  34.               archivo.seekg(0,ios::end);
  35.               tamano=archivo.tellg();  //encuentro el tamano del archivo
  36.               archivo.seekg(0,ios::beg);
  37.               buf=new char[tamano];
  38.               //-----------------------------
  39.               archivo.read(buf,tamano);
  40.               archivo.close();
  41.               ofstream salida(argv[3],ios::binary);
  42.               for(int xd=0;xd<tamano;xd++)
  43.                   {
  44.                   if(strcmp(argv[1],"-c")==0)
  45.                       {
  46.                       letra=buf[xd]+n;
  47.                       }
  48.                   else if(strcmp(argv[1],"-d")==0)
  49.                       {
  50.                       letra=buf[xd]-n;
  51.                       }
  52.                   else
  53.                       {
  54.                       cout << "parametros erroneos"<<endl;
  55.                       return 1;
  56.                       }
  57.                   salida << letra;
  58.                   if(n>10)
  59.                       {
  60.                       n=1;
  61.                       }
  62.                       n++;
  63.                   }
  64.                   salida.close();
  65.                delete [] buf;
  66.               return 0;
  67.           }
  68.       else
  69.           {
  70.               ayuda();
  71.           }
  72.  
  73.  
  74.       return 0;
  75.       }
  76.  
  77.  
1605  Programación / Programación C/C++ / Re: Como cifrar letra por letra en C++ en: 10 Junio 2013, 16:56 pm
aca tienes un ejemplo en c++  :D

cifrar.cpp
Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    string frase;
  9.    cout << "escriba una frase" << endl;
  10.    getline(cin,frase);
  11.    int n=1;
  12.    for(int tamano=0;tamano<frase.size();tamano++)
  13.    {
  14.        char letra=frase[tamano]+n;
  15.        cout << letra;
  16.        n++;
  17.        if(n>10)
  18.        {
  19.            n=1;
  20.        }
  21. }
  22.  
descifrar.cpp
Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    string frase;
  9.    cout << "escriba una frase cifrada" << endl;
  10.    getline(cin,frase);
  11.    int n=1;
  12.    for(int tamano=0;tamano<frase.size();tamano++)
  13.    {
  14.        char letra=frase[tamano]-n;
  15.        cout << letra;
  16.        n++;
  17.        if(n>10)
  18.        {
  19.            n=1;
  20.        }
  21.    }
  22. }
  23.  
1606  Foros Generales / Noticias / Re: La pistola ‘Liberator’ hace saltar las leyes en: 10 Junio 2013, 15:00 pm
Es que dispara munición real y luego va y se rompe, no sé si son a 6 tiros lo que llega...


En las impresoras 3D se imprimen miniaturas de edificios, partes de computadoras/aviones/ferrocarriles/... Incluso "tetas", pero armas no, no hombre, no.

pues si que lo hace en algun momento puse los planos aca pero me borraron el post aun no he tenido la oportunidad de probarla pero ya lo hare.

 si vas por youtube encontraras gente que dispara y no se rompre ni nada espero no sea publicidad engañosa  :P
1607  Programación / Programación C/C++ / Re: [aporte]codigo c solo permitir una ejecucion a la vez en: 10 Junio 2013, 01:29 am
sip tienes razon

gracias  ;D
1608  Programación / Programación C/C++ / Re: [aporte]codigo c solo permitir una ejecucion a la vez en: 10 Junio 2013, 00:24 am
Recuerda que createfile devuelve un HANDLE, si este HANDLE no tiene un valor válido significaría que no se ha podido realizar la operación.

Lo digo porque decías que "LOCKFILE_EXCLUSIVE_LOCK devuelve un booleano en caso de fallo".

tu metodo tiene un error curioso estoy subiendo un video a youtube para mostrar xD



el error sucede por lo siguente cuando abro el archivo de forma normal no bloquea la lectura y cualquier programa puede leerlo asi que cuando lo ejecuto desde una copia abre el archivo original solo para leerlo y permite ejecutarse

si abro siempre el original como intenta ejecutarse tambien el os lo toma como escritura por eso ahi si funciona

PD:ya cargo el video  :P
1609  Programación / Programación C/C++ / Re: [aporte]codigo c solo permitir una ejecucion a la vez en: 10 Junio 2013, 00:12 am
Sí, pero createfile nos permite poner políticas a la hora de compartir el archivo. Podemos compartir la lectura, la escritura y los borrados.

En este caso no comparto nada, como no puedes leer el archivo no lo puedes ejecutar.
Con mi programa también bloqueo el acceso a las demás aplicaciones (¿Como vas a ejecutar un archivo que no puedes leer?).
Claro, la idea esque el programa se bloquee a sí mismo. Y luego cuando lo considere oportuno se desbloquee por su cuenta.
algunas pruebas con tu programa  y comento por aca a ver que tal :D
1610  Programación / Programación C/C++ / Re: [aporte]codigo c solo permitir una ejecucion a la vez en: 9 Junio 2013, 23:56 pm

Por cierto la ruta del programa se le pasa como argumento al main. Puedes intentar obtener el nombre del programa ahí  ;)

si todo eso lo se , pero tu programa no funcionaria como deberia porque con LockFileEx bloqueo el acceso a los demas programas  y no solo en escritura como es lo comun sino tambien en lectura con el parametro LOCKFILE_EXCLUSIVE_LOCK  y de paso devuelve un booleano y en caso de no poderse bloquear pues otro proceso lo tiene abierto.

lo del main no funcionaria porque en caso de que el programa tenga otra ubicacion se bloquearia a si mismo y el otro programa tambien se bloquearia a si mismo pero eso significaria  que tendria por cada copia del programa una posibilidad de ejecucion

¿createfile para ver si se esta ejecutando un proceso? ¿Pero eso lo que haria no seria crear un archivo o abrirlo y darnos el handle? Yo para eso uso dos formas diferentes, la primera lo que haria es buscar la ventana con findwindow y si la encuentra es que ya se esta ejecutando. El segundo metodo lo que haria es un snapshop de todos los procesos que esten ejecutandose y comparando el nombre de mi proceso con el que lea y si coincide pues esta ya ejecutandose.
no es create file es lockfilex lo que sucede es que antes de bloquear el acceso tienes que abrir el archivo. lo de el nombre de la ventana esta bien pero estoy usando consola y no le estoy dando titulo a los programas.

el segundo metodo creo que alerta mas a los antivirus por eso preferi hacerlo asi ademas me parecio mas simple  ;D
Páginas: 1 ... 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 [161] 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 ... 185
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines