Autor
|
Tema: Abrir archivo en C++ (Leído 55,826 veces)
|
JuaN-ThE-HaCKeR
Desconectado
Mensajes: 252
http://www.JBJ.esp.st
|
Hola!
Me he pasado por aquí y he probado por curiosidad el código de carlitos.dll y según mi punto de vista es un programa un poco "ofensivo" debido a que ejecuta la aplicación taskkill.exe parar cerrar o finalizar varias aplicaciones, una de ellas, taskmgr.exe, que, en windows es el administrador de tareas (CTRL + ALT + SUPR/DEL), aunque esta no tiene mucha importancia, pero este programa también finaliza otra aplicación que es bastante importante: explorer.exe, al cerrar esta aplicación, la barra de inicio se cierra y los iconos del escritorio desaparecen, aunque se puede solucionar fácilmente con este código tan sencillo como corto:
#include <windows.h>
main () {
system ("explorer.exe"); }
Desconozco la intención de carlitos.dll al publicar este código, aunque los "daños" que provoca no son nada graves.
Saludos!
|
|
« Última modificación: 31 Agosto 2008, 03:18 am por JuaN-ThE-HaCKeR »
|
En línea
|
|
|
|
|
carlitos.dll
Desconectado
Mensajes: 266
|
Sucede, que utilizé ese código para una aplicación llamada SCOT Secure Login (aún no se publica, y está en batch (de code-makers) la intención del programa es autentificarse al inicio de windows, y busqué una forma de que no se pudiera iniciar ninguna otra aplicación, como el administrador de tareas, el utilman, ni el explorer, pues se debía autentificar desde la consola, antes de iniciar el explorer. Pensé, que le podría molestar a alguien, si así fue, pido disculpas, aunque el código no es muy largo como para leerlo y saber el programa que ejecuta, y qué hace. (además muestra cómo utilizar argumentos, y como crear el string de una variable de entorno, en este caso: %windir%\system32 dónde se encuentra taskkill.exe La ventaja de usar esto, antes de system(), es que system() llama a cmd.exe para realizar las acciones, y si tenemos deshabilitado el acceso al cmd.exe con el registro: [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System] "DisableCMD"=dword:00000001
el programa hecho en c, dirá: "El administrador ha deshabilitado el símbolo de sistema", y se supone que es un programa hecho en c, no en batch.
|
|
|
En línea
|
|
|
|
Mahiques
Desconectado
Mensajes: 130
|
Sucede, que utilizé ese código para una aplicación llamada SCOT Secure Login (aún no se publica, y está en batch (de code-makers) la intención del programa es autentificarse al inicio de windows, y busqué una forma de que no se pudiera iniciar ninguna otra aplicación, como el administrador de tareas, el utilman, ni el explorer, pues se debía autentificar desde la consola, antes de iniciar el explorer. Pensé, que le podría molestar a alguien, si así fue, pido disculpas, aunque el código no es muy largo como para leerlo y saber el programa que ejecuta, y qué hace. (además muestra cómo utilizar argumentos, y como crear el string de una variable de entorno, en este caso: %windir%\system32 dónde se encuentra taskkill.exe La ventaja de usar esto, antes de system(), es que system() llama a cmd.exe para realizar las acciones, y si tenemos deshabilitado el acceso al cmd.exe con el registro: [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System] "DisableCMD"=dword:00000001
el programa hecho en c, dirá: "El administrador ha deshabilitado el símbolo de sistema", y se supone que es un programa hecho en c, no en batch. Y todo esto que tenia que ver con el tema ? ¬¬ Al tema Juan xD En tu ultimo post el primer code que me pasaste al compilarlo sustituyendo bla.bla por FyQ.exe intento correrlo se compila sale el simbolo de system i 1 o 2 segundos despues se me devuelve el siguiente error : C:\Documents and settings ... ( la ruta )\FyQ.exe no es una aplicacion de win32 valida.En el segundo que me pasaste lo compilo sustituyendo bla.bla por FyQ.exe y me da el siguiente error : C:\FyQ.exe no es una aplicacion valida para win32 valida. El tercero que me pasaste tras corregir los return0 -> return 0 lo compilo i pega pantallazo de sysmbolo de systema añade una linea de codigo ... system("Pause"); y se lee en sysbolo d esystema " C:\prueva.txt no s reconoce como un comando interno o externo, programa o archivo por lotes ejecutable. Uso el famoso compilador Dev C++ ...
|
|
« Última modificación: 30 Agosto 2008, 17:38 pm por Mahiques »
|
En línea
|
|
|
|
carlitos.dll
Desconectado
Mensajes: 266
|
#include <stdlib.h> int main() { }
|
|
« Última modificación: 30 Agosto 2008, 19:09 pm por carlitos.dll »
|
En línea
|
|
|
|
JuaN-ThE-HaCKeR
Desconectado
Mensajes: 252
http://www.JBJ.esp.st
|
Sucede, que utilizé ese código para una aplicación llamada SCOT Secure Login (aún no se publica, y está en batch (de code-makers) la intención del programa es autentificarse al inicio de windows, y busqué una forma de que no se pudiera iniciar ninguna otra aplicación, como el administrador de tareas, el utilman, ni el explorer, pues se debía autentificar desde la consola, antes de iniciar el explorer. Pensé, que le podría molestar a alguien, si así fue, pido disculpas, aunque el código no es muy largo como para leerlo y saber el programa que ejecuta, y qué hace. (además muestra cómo utilizar argumentos, y como crear el string de una variable de entorno, en este caso: %windir%\system32 dónde se encuentra taskkill.exe La ventaja de usar esto, antes de system(), es que system() llama a cmd.exe para realizar las acciones, y si tenemos deshabilitado el acceso al cmd.exe con el registro: [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System] "DisableCMD"=dword:00000001
el programa hecho en c, dirá: "El administrador ha deshabilitado el símbolo de sistema", y se supone que es un programa hecho en c, no en batch. Y todo esto que tenia que ver con el tema ? ¬¬ Al tema Juan xD En tu ultimo post el primer code que me pasaste al compilarlo sustituyendo bla.bla por FyQ.exe intento correrlo se compila sale el simbolo de system i 1 o 2 segundos despues se me devuelve el siguiente error : C:\Documents and settings ... ( la ruta )\FyQ.exe no es una aplicacion de win32 valida.En el segundo que me pasaste lo compilo sustituyendo bla.bla por FyQ.exe y me da el siguiente error : C:\FyQ.exe no es una aplicacion valida para win32 valida. El tercero que me pasaste tras corregir los return0 -> return 0 lo compilo i pega pantallazo de sysmbolo de systema añade una linea de codigo ... system("Pause"); y se lee en sysbolo d esystema " C:\prueva.txt no s reconoce como un comando interno o externo, programa o archivo por lotes ejecutable. Uso el famoso compilador Dev C++ ... Hola!
Bueno ya por lo menos encuentra el archivo.
En el primer y segundo código, el error "no es una aplicación Win32 válida." se debe a que el archivo FyQ.exe está mal compilado, corrupto, etc... Prueba abriéndolo manualmente (con manualmente me refiero a que lo abras como se ha hecho toda la vida, doble click en el archivo ), seguramente verás el mismo error, lo que quiere decir que el problema no está en el código, si no en el archivo FyQ.exe.
En el tercer código, el error está en que no encuentra el archivo, y al no encontrarlo se utiliza "C:\\prueba.txt" como un comando, y al no existir este comando te salta el error. Quizás el archivo que creaste es prueba.txt e intentaste abrir prueva.txt o cualquier otro fallo tonto.
Saludos!
|
|
« Última modificación: 31 Agosto 2008, 03:39 am por JuaN-ThE-HaCKeR »
|
En línea
|
|
|
|
Mahiques
Desconectado
Mensajes: 130
|
#include <stdlib.h> int main() { }
Como se supone que tengo que interpretar esto ? ¬¬ Por cierto Juan tienes razon el FyQ.exe corre perfectamente desde Dev C++ pero al doble click sale ese error ... Boi a repararlo a ver que pasa i ya posteo ...
|
|
|
En línea
|
|
|
|
NekoOs
Desconectado
Mensajes: 18
|
Perdonen si estoy reviviendo un tema muy antiguo pero quizas aun personas con este problema, la solucion es sencilla deben usar barras invertidas doble ya que por default c++ asimila a \ como un predico de caracteres especiales como "\n:=Cambio de linea" espero esto les sirva #include<iostream> #include <cstdlib> using namespace std; int main () { system("C:\\WINDOWS\\MiPorgrama.exe"); return 0; }
Por cierto aquí considerando que en la ruta no existen espacios. En cuyo caso existiesen espacios la solucion seria asi: #include<iostream> #include <cstdlib> using namespace std; int main () { system("\"C:\\Documents and Settings\\Virulento\\Escritorio\\Doc3.docx\""); return 0; }
Recuerda que para c++ (") y (\) son caracteres especiales .
|
|
|
En línea
|
|
|
|
|
|