Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
Auto Borrar Aplicacion / Cambiar Privilegios Aplicacion / Ejecutar como Administrador

Buenas...

Estoy haciendo una aplicacion que se conecta a un servidor, cuando yo coloco en éste un archivo con un formato especifico y mi aplicacion lo lee ésta debe borrarse completamente, para lo cual lo que hago es crear un archivo .bat con algo como: ERASE "aplicacion.exe" y ERASE "archivoBAT.bat"....

Éste método funciona correctamente en mi computador, el problema se presenta en otras computadoras, donde el Ejecutable no se borra... Me di cuenta, haciendo manualmente lo que el .bat desde el cmd.exe del windows que éste responde con "access is denied", por lo que el problema recide en los privilegios de la Aplicacion.exe que quiero borrar...

Al abrir las propiedades de la Aplicacion.exe en otro PC me doy cuenta que en la parte de PERMISOS dice: "Leer y Ejecutar"... si cambio ésto a: "Control Total" el .bat funciona correctamente....

Entonces observo que hay varias soluciones:

1) Cambiar la configuracion de Aplicacion.exe para que tenga Control Total (sea bajo código desde la propia aplicacion ó nosé si se pudiera modificar de forma manual de forma que se tenga Control Total sin importar el PC)

2) En vez de crear un .bat, descompilar o crear un .exe en tiempo de ejecucion el cual sea ejecutado como administrador y el cual de esta forma puede borrar cualquier archivo (ya lo probé compilando otra aplicacion aparte, pero nosé como crear el .exe en tiempo de ejecucion ni como ejecutarlo como administrador via código sin que me pida confirmar, ya que con 'runas' y ShellExecute se puede pero pide confirmación)...

3) Otro método para borrar la Aplicacion al instante (sin tener que reiniciar la PC)....

Espero me ayuden lo antes posible Gracias
Responder Con Cita
  #2  
Antiguo 23-10-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Te interesa?

Saludos.
Responder Con Cita
  #3  
Antiguo 24-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
Hola, gracias por el link escafandra...

ya lo habia encontrado en una busqueda anterior....

Al 'runas' no le veo mucha lógica, ya que pide confirmacion por el usuario, es decir, el usuario debe confirmar que desea abrir un programa que se le va a ejecutar de repente ... la idea es poder borrar mi aplicacion cuando yo desee sin que el usuario pueda evitarlo....

Y a CreateProcessAsUser no lo entiendo bien, necesito saber el nombre de usuario y contraseña del mismo para poder ejecutar como administrador?, de ser así como me entero por código, obviamente sin pedirselo al usuario, de su nombre de usuario, y sobretodo, de su contraseña??

gracias, espero mas ayudas
Responder Con Cita
  #4  
Antiguo 24-10-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Las APIs CreateProcessAsUser y CreateProcessWithLogonW no precisan confirmación pero claro que precisan conocer el nombre de usuario y su contraseña.

Cita:
Empezado por jogagua Ver Mensaje
...necesito saber el nombre de usuario y contraseña del mismo para poder ejecutar como administrador?, de ser así como me entero por código, obviamente sin pedirselo al usuario, de su nombre de usuario, y sobretodo, de su contraseña??
Un S.O. que quiera demostrar una mínima seguridad no te va a dejar que ejecutes una aplicación como administrador sin conocer el usuario y contraseña. No tienes forma de enterarte por medio de "código legal" y dudo que si alguien conoce la forma lo publique aquí.

Saludos.
Responder Con Cita
  #5  
Antiguo 24-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
por eso mismo Escafandra, no me sirve que se precise ni confirmacion ni el nombre de usuario y contraseña, ya que el usuario obviamente no introducirá éstos datos para que se le borre mi aplicacion....

... ahora, ya apuntando por otros lares... olvidandonos de tratar de ejecutar como administrador la aplicacion que borra mi programa...

Hay alguna forma de lograr que mi aplicacion otorge privilegios de "Control Total" a cualquier usuario, sin importar la PC en la que se ejecute?

esto lo digo por lo que comenté en mi primera pregunta, donde yo mismo manualmente puedo cambiar los privilegios entrando en la pestaña de "seguridad" que se encuentra en las propiedades del ejecutable, por lo que me imagino, no se deben requerir ni nombre de usuario ni contraseña al realizar ésto por código.... (el problema es que estos privilegios varían al copiar el .exe en otra PC donde ya no tiene "Control Total" y tengo que volver a colocarlo a mano)

tambien, si se pudiera realizar a mano en el ejecutable despues de compilarlo y antes de pasarselos a los usuarios finales, estaría muy bien (siempre que se mantenga ésta configuracion).....

muchas gracias por tus respuestas Escafandra... espero me sigas aconsejando
Responder Con Cita
  #6  
Antiguo 25-10-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No tengo claro el porqué quieres borrar tu aplicación en un PC remoto ni porqué no conoces el nombre de usuario administrador ni su clave, pero en principio no debe hacer falta. Tampoco explicas como copias tu ejecutable en la maquina remota ni que usuario es su dueño.

Para borrar un archivo debes tener permisos de acceso a él y atributos de archivo de escritura y no de sistema y , ademas no debe estar abierto. En el caso de un ejecutable no podrás borrarlo mientras se esté ejecutando.

Cuando un ejecutable abre un proceso hijo, éste hereda las credenciales y permisos de su padre (usuario que lo ejecutó). Tu .bat debe tener los mismos permisos que tu ejecutable. Si los atributos de archivo son correctos y el usuario dueño es el que lo ejecutó no tendrás problema para borrarlo siembre que no se esté ejecutando. Tu .bat "borrador" tendrá que tener un sistema de retardo que espere a que el ejecutable se termine antes de poder borrarlo.


Saludos.
Responder Con Cita
  #7  
Antiguo 26-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
El autoborrado es un sistema de seguridad sobre mi aplicacion, se debe a que el programa se supone será usado por un grupo selecto de personas... si se llega a "expandir" por decirlo de alguna forma entonces al ya no convenirme ésto lo mando a borrar desde mi casita... por ésto mismo no puedo conocer el nombre de administrador ni clave de los usuarios.... Por su parte, la copia del ejecutable es sencillamente que se lo mando por correo por ejemplo a la persona, ó por chat, yo que sé...

Precisamente, ya sé que debo tener permisos de acceso al archivo por eso mismo pregunté que como se les da permiso para que sea borrado, leido, de todo el .exe ya que la aplicacion es mia.... sé que no se puede borrar el programa a si mismo, por eso mismo en el 1er comentario, donde realizo la 1ra pregunta dije que usaba un .bat para ello... no mencioné todos los pasos que hago, pero obvio que ejecuto el .bat, cierro mi aplicacion, el .bat tiene un retardo de 5 segundos, luego borro el .exe y luego el .bat.... y como dije funciona perfecto en mi PC por lo que no era por allí el problemilla...

Ahora, no se porqué se me ha solucionado el problema y ahora mis ejecutables heredan permisos perfectamente, creo estar casi seguri que de tanto meterme en las propiedades y tocar y tocar las opciones de seguridad modifiqué algo que resultó exitosamente... ahora ya se me borran correctamente los archivos en otras PC....

Gracias por tus respuestas e interés en mi pregunta Escafandra... Saludos...
Responder Con Cita
  #8  
Antiguo 26-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
O sea, según he entendido: le envías un programa a alguien y luego quieres borrárselo de su ordenador.
Si es eso, olvídalo. Tan sólo te doy un motivo, aunque hay más: es ilegal, es como si le regalas/vendes algo a alguien y luego entras en su casa a robárselo.
Responder Con Cita
  #9  
Antiguo 26-10-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cuando un sistema se instala, hace algo y luego quiere desaparecer sin dejar rastro alguno y saltando cualquier medio de seguridad y encima por mando remoto es porque huele a podrido. Propongo que el hilo sea cerrado pues es evidente que se intentó camuflar esta pregunta sabiendo que lo que pide va en contra de los buenos principios del foro.
Virus, malware, o cualquier sistema de dudoso comportamiento están fuera de discusión.
Además hay un elemento más que no se analizó... el antivirus. No sería de extrañarme si el antivirus rechaza al sistema en cuestión.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 26-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Esperemos una aclaración de jogagua.


Responder Con Cita
  #11  
Antiguo 26-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
Buenas de nuevo...

Me disculparán pero hay maneras de decir las cosas....

Creo que ya aclaré que se trata de un programa el cual va a tener un numero de usuarios limitados, por ejemplo, yo, el autor del mismo, se lo doy a Escafandra porque es mi amigo y quiero que disfrute de lo que se trata mi programa, que dicho sea de paso es una especie de base de datos que se amplia con los usuarios que lo usen....

Ahora, siguiendo el ejemplo propuesto... viene Escafandra y se lo da a Delphius y Casimiro, las cuales NO quiero tengan mi programa, por X razon.... entonces, sabiendo que el programa fue dado a otras personas simplemente se los elimino de su computador, ya que NO fue creado para que lo usen ellos...

Es un tema de SEGURIDAD... no traté de camuflajear ningun tipo de virus... además que de por sí es poco lógico pensar: oye, es un virus porque se borra a sí mismo (??)... coye, si hubiera dicho que quería borrar un .exe que no fuera mi aplicación está bien(cosa que aclaré desde el 1er post que era MI propia apliacion la que quería borrar), pero que tiene de viruseoso una aplicacion que lo que haga es borrarse a si misma??...

No me parece tampoco, tal como me comentó Casimiro, que sea ILEGAL borrar una aplicacion, la cual no es LEGAL que tenga X persona, que no sea de mis usuarios, sino que se la pasó otro usuario amigo de ese, o si??

De todas maneras, como comenté en mi respuesta anterior, por alguna razón, empezó a funcionar el borrado de mi archivo, seguramente debido a algo que cambié en sus propiedades y no me recuerdo que fue jejeje

Gracias de nuevo a Escafandra por su ayuda... y a Delphius y Casimiro gracias por el interés, pero pido un poco mas de respeto en como se preguntan las cosas...

Saludos
Responder Con Cita
  #12  
Antiguo 26-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Dentro del respeto, amigo, si tú le das un programa a Escafandra y él me lo da a mí, tú no puedes borrarlo de mi ordenador, ni del mio ni del de nadie.
Responder Con Cita
  #13  
Antiguo 26-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
Pana, si yo le vendo a Escafandra mi programa y resulta que lo terminas usando tú, me parece que TU estarías apoyando la piratería, y TU estarías usando un programa ILEGALMENTE.... Y así como se te bloquea el windows cuando detectan que lo tienes ilegal, no me parece que 'no debo' borrarle el programa a alguien que lo está usando Ilegalemente sin pagar....

Esto en el supuesto que el programa fuera pago... como comenté antes, es para usarlo entre amigos(6 o 7 personas), pero si sale algún cabezón a pasarselo a alguien más, no me parece mal a MI borrarselo, ya que estoy en mi derecho, es MI programa...

Bueno, no creemos más polémicas, ya la solucion, de una u otra manera la obtuve y agradezco el interés.
Responder Con Cita
  #14  
Antiguo 27-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No, amigo, así no funcionan las cosas, ¿has visto alguna vez que microsoft, adobe, oracle, etc. borren programas "ilegales"?, no, porque no pueden hacerlo. Lo que sí pueden hacer es poner una denuncia y el juez decidirá qué hay que hacer. Pero ellos no pueden borrar un programa de tu ordenador, sea legal, pirata, regalado, robado, copiado, tuyo, mio, del vecino, ni de nadie.
Ese comentario de que "como el programa es mio entonces estoy en el derecho de borrarlo" es totalmente equivocado.
Si tú tienes una vivienda y se la alquilas a alguien, tú NO puedes entrar en la vivienda salvo que el inquilino te dé permiso para entrar, aunque lleve un año sin pagarte. Y aunque la vivienda sea tuya. Pues imagina con un software del que ni siquiera has dicho qué tipo de licencia tiene.
Si tú me robas mi moto, yo no puedo entrar a tu casa a recuperarla, aunque la moto sea mía. Tengo que denunciarte y ya se encargarán las leyes y sus representantes de que me la devuelvas, pero si yo entro en tu casa, estaría incurriendo en un delito de allanamiento de morada, aunque sea para recuperar mi moto, que sé que está en tu casa porque la he visto cuando la guardabas.

Todo esto no lo digo por crear polémica, es sólo para que lo tengas presente, las cosas no funcionan así.
Responder Con Cita
  #15  
Antiguo 27-10-2011
jogagua jogagua is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
jogagua Va por buen camino
Bueno amigo, vamos a dejarlo hasta aqui porque sino nos extenderíamos demasiado embasurando el foro de debates que al final de cuentas no benefician a nadie, y no tienen pies ni cabeza en lo que de verdad importa en un foro de programacion: Programar.

YO, repito YO, borro mi programa y PUNTO, si el amigo que me lo está usando ILEGAL se molesta, pues que me demande... quiero ver a quien le dan la razon en un juzgado... Al que está protegiendo su software o al que se lo está robando... (obvio que al 1ero).

Este va a ser mi ultimo comentario en este Tema.
Responder Con Cita
  #16  
Antiguo 27-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No, amigo, si yo entro en tu casa a recuperar mi moto, a tí te juzgarán por robo y a mí por allanamiento de morada, pero tú también sales mal parado
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Privilegios en Aplicacion Delphi gersojn Varios 6 08-08-2011 00:28:40
Obligar ejecucion como Administrador de mi aplicacion aram2r Varios 6 06-04-2011 21:02:35
Aplicación con privilegios de administrador vtorres Varios 8 07-11-2008 16:59:38
Dar privilegios de Administrador a la Aplicación PoZi API de Windows 16 26-04-2006 20:17:52
como hacer para que mi aplicacion se auto copie gulder API de Windows 4 05-09-2005 23:17:35


La franja horaria es GMT +2. Ahora son las 20:06:15.


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
Copyright 1996-2007 Club Delphi