Hola, necesito un code donde no permita cambiar el nombre del archivo ejecutable o si lo cambian que el programa no arranque, trabajo en VC++
gracias.
| ||||
Re: Nombre de ejecutable VC++ Cita: Jajajajajaaj...ya me habia olvidado de eso..."tienes todo nuestro apoyo, sigue asi" Cita: Si quieres mayor seguridad a la hora de hacer eso trata de buscar una funcion para que "encriptes" o escondas de alguna manera el nombre del ejecutable dentro del ejecutable (valga la redundancia), asi sera mas dificil de romper la seguridad que le quieres dar a tu programa.Solo checa que el argv[0] conincida con lo que buscas. Saludos
__________________ Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: |
| ||||
Re: Nombre de ejecutable VC++ Vale, que lo haga con valores en int. Digo, con eso si alguien habre el exe en un editor hexadecimal, no aparecera el texto asi nomas, sino "encriptado". Hay muchas maneras de esconder el texto. hay que ser creativos. Saludos |
| ||||
Re: Nombre de ejecutable VC++ Cita: Justamente eso es lo que hace tan entretenida la programacion.Hay muchas maneras de esconder el texto. hay que ser creativos. Saludos
__________________ Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: |
| ||||
Re: Nombre de ejecutable VC++ Y lo mas entretenido es que con un par de bytes modificados la proteccion desaparece totalmente. No permitir cambiar el nombre es algo mucho mas complejo, tenes que interceptar los intentos de cambio y bloquearlos. Se puede hacer tanto en modo Usuario como en modo Kernel, en el primer caso tenes que inyectar codigo en todos los procesos en ejecucion y los que se vayan creando (interceptando CreateProcess* tambien por ejemplo). En modo Kernel podes hacer un filtro de file system que seria la manera limpia, correcta y portable o sino unos hooks que serian el metodo "hack".
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| ||||
Re: Nombre de ejecutable VC++ Cita: si si, tienes razon. Esa es la manera mas correcta y y es mucho mas segura.
Iniciado por Eternal Idol Y lo mas entretenido es que con un par de bytes modificados la proteccion desaparece totalmente. No permitir cambiar el nombre es algo mucho mas complejo, tenes que interceptar los intentos de cambio y bloquearlos. Se puede hacer tanto en modo Usuario como en modo Kernel, en el primer caso tenes que inyectar codigo en todos los procesos en ejecucion y los que se vayan creando (interceptando CreateProcess* tambien por ejemplo). En modo Kernel podes hacer un filtro de file system que seria la manera limpia, correcta y portable o sino unos hooks que serian el metodo "hack". Pero vamos...... dependeria del nivel de seguridad que quiere para su aplicacion. No cualquier pelele puede abrir la aplicacion en un editor hexadeciaml o en un ensamblador y cambiar el codigo. Digo, si es para una aplicacion tipo servidor de algo, pues concuerdo con Eternal Idol, sino pues mejor una manera facil como la que mencionamos. Todo depende de la necesidad y la creatividad. Saludos |
| |||
Re: Nombre de ejecutable VC++ na, con una forma simple me basta
Código:
con eso sale esto: fatal error C1004: unexpected end of file found bool WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved ) { char tmpName[255]; GetModuleFileName(hinstDLL, tmpName, 255); strlwr(tmpName); if (!strstr(tmpName, "program.dll")) { ExitProcess(0); } |
| ||||
Re: Nombre de ejecutable VC++ Al codigo tal como lo mostras le falta una llave (}). ¿Que compilador estas usando? Muy probablemente necesites incluir windows.h ...
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Re: Nombre de ejecutable VC++ la llave ya se la inclui pero igual no compila y uso Vc++ mira te dejo el source donde esta el code que yo necesito http://rapidshare.com/files/12583286/main.cpp.html |
| ||||
Re: Nombre de ejecutable VC++ Bueno, eso por lo que veo son hooks aunque de otra cosa ... este codigo compilado con cl /c archivo.cpp genera el obj correctamente:
Código:
#include <windows.h> bool WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved ) { if (fdwReason == DLL_PROCESS_ATTACH) { char tmpName[255]; GetModuleFileName(hinstDLL, tmpName, 255); strlwr(tmpName); if (!strstr(tmpName, "joolzcheat.dll")) { MessageBox(NULL, "Illegal DLL Name Change Detected", "Unable to launch HL", MB_OK); ExitProcess(0); } } return true; }
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |