Cargar tu programa desde otro programa
Buenas Tardes amigos, espero que el titulo se entienda un poco, en realidad la pregunta se debe a como dificultar un poco el trabajo de un hacker para sabotear un programa realizado por uno, es decir, se puede en delphi hacer alguna rutina que sea capaz de cargar en memoria o poner en ejecucion un programa tambien compilado en delphi? la idea principal es tener un exe principal, pequeno y que su trabajo principal sea solo en cargar y descargar de memoria este otro programa principal (es decir, el programa que se desea proteger), bien sea usando hilos u otra forma. Tambien pudiese ser que el programa compilado en delphi se modifique en forma binaria y se aplique algun algoritmo de encriptacion para que este pueda estar fisicamente con el programa loader, por denominarlo asi. De ser asi, pues el trabajo de loader es pues desencriptar el programa y ponerlo en ejecucion directamente en memoria real, y pues al terminar solo tendria que liberar la memoria y terminar.
Pienso que de esta forma se les hace un poco mas dificil a los hackers crackear nuestro trabajo. Espero su respuesta. Saludos. Ing. Reinaldo Mendoza. |
Tal vez utilizar paquetes de ejecución (Runtime Packages), también llamados BPLs podría servirte para lo que quieres.
Tendrías un achivo.exe que se encargaría de cargar y descargar bpls y serían los bpls los que contendrían toda la información de tu programa. |
No tengo mucha idea del tema, pero piensa que los programas se "atancan" una vez que están cargados en memoria para "debuggarlos", por lo tanto una vez que tu programa esté cargado en memoria todo el trabajo que has hecho estará "perdido" por decirlo así.
Lo más apriximado a lo que comentas son los empaquetadores/encriptadores de ejecutables, que una vez el programa se ejecuta, los desempaquetan en memoria para ejecutarlos (UPX, AsPack, Armadillo, Petite, Shrinker, y una larga lista...), aunque como la mayoría no son muy efectivos, para alguien con experiencia. El hecho de trabajar con DLL, OCX, BPL,... puede dificular un poco el trabajo, pero cuanquiera de ellos se puede empequetar/desempaquetar y debuggar. También debes tener en cuenta que el hecho de desempaquetar en memoria, y lanzar otros programas así como modificarlos tal como comentar te puede acarrear algun que otro quebradero de cabeza con algun que otro antivirus :(. Que conste que no es mi idea desanimarte, ni mucho menos, pero por lo que se: * Un sistema muy complejo de protección tal vez evite al 95% de los piratas. * Un sistema relativamente sencillo de protección siguiendo unas pautas básicas (digo sencillo, no tonto:D) tal vez evite al 90% de los piratas. Mi opinión es que ese por 5% no vale a pena gartar mucho tiempo, y complicar mucho las cosas y que posteriormente los clientes tengan problemas con los programas. Además, piensa que el sistema de protección es algo que puedes ir mejorando con las versiones, si consideras que es necesario. Un saludo. |
Cita:
Lo que me parece es que quieres es hacer un virus, downloader, troyano, polimorfo... y aunque las apariencias engañen, los antivirus no sabrán la diferencia. |
Cita:
Te explico un poco como debe ser este proyecto. Es un sistema que se desea que sea 100% adaptable al usuario, y pues se tiene una dll con codigo abierto para que los analistas que esten con los clientes puedan hacer modificaciones sobre esta dll y no sobre el fuente principal, se entiende? quisiera utilizar esta idea de la bpl para que estos puedan usar las distintas clases que ya estan desarrolladas, la idea es que reutilicen y no reimplementen. me entiendo? Saludos y gracias por el comment. |
Cita:
Respecto a estos desencriptadores pues es exactamente a lo que me refiero y quisiera hacer, pero no quiero algo ya desarrollado, quisiera yo mismo desarrollarlo en delphi. Tendra alguna idea de como se haria esto? por los algoritmos de encriptacion no te preocupes, de eso me encargaria yo y pues si logro hacerlo lo subire al site como un aporte. Saludos. Cita:
Gracias y Saludos. |
Cita:
no trabajas en Monterrey, ¿o si? :D |
Cita:
|
La franja horaria es GMT +2. Ahora son las 01:43:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi