Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Como meterle al firewall del xp un programa (https://www.clubdelphi.com/foros/showthread.php?t=38390)

mierda 13-12-2006 09:57:44

Como meterle al firewall del xp un programa
 
Hola, buenos dias, querria meter un programa que lleva sockets en el firewall de windows como permitido.

Hay alguna forma de hacerlo?!

roman 13-12-2006 16:19:07

Pues en panel de control, abres el Firewall y en la ficha de excepciones está un botón para agregar un programa.

// Saludos

mierda 13-12-2006 17:30:19

perdon ....
 
Jejejejejeje, perdona ... no me explique con suficiente claridad ... quiero hacerlo desde codigo de delphi.

Pero gracias por contestar. Un saludo!

seoane 13-12-2006 18:30:35

Vamos a ver, lo acabo de hacer y no te garantizo que este libre de fallos. Pero parece que funciona:

Código Delphi [-]
uses ComObj;

const
  NET_FW_SCOPE_ALL = 0;
  NET_FW_IP_VERSION_ANY = 2;

procedure Agregarme;
var
  fwMgr: Variant;
  Profile: Variant;
  App: Variant;
begin
  fwMgr:= CreateOleObject('HNetCfg.FwMgr');
  Profile:= fwMgr.LocalPolicy.CurrentProfile;
  App:= CreateOleObject('HNetCfg.FwAuthorizedApplication');
  // La ruta de nuestro programa
  App.ProcessImageFileName:= ParamStr(0);
   // El nombre que aparecera en la lista de excepciones
  App.Name:= 'TuNombre';
  App.Scope:= NET_FW_SCOPE_ALL;
  App.IpVersion:= NET_FW_IP_VERSION_ANY;
  // Esto nos permite agregar la excepcion deshabilitada utilizando FALSE
  App.Enabled:= TRUE;
  Profile.AuthorizedApplications.Add(App);
end;

Probarlo, y si vemos que funciona bien, lo añadimos a la sección de trucos.

JuanErasmo 13-12-2006 19:04:19

seaone funciona.....tu sabes como hacer todo en windows!ha,ha,ha.Gracias

Lepe 13-12-2006 19:13:44

Cita:

Empezado por roman
Pues en panel de control, abres el Firewall y en la ficha de excepciones está un botón para agregar un programa.

Yo redacté un mensaje precioso paso a paso como darlo de alta.... hasta que me fijé bien... 40 mensajes y en el foro varios... mejor me abstengo jejeje. Al menos tu comentario ha servido para que explique mejor su duda ;).

seoane, lamento decirte que no puedes poner eso en trucos... porque eso no es código delphi, que yo conozco delphi muy bien y garantizo que no es código delphi.... :p :p

Saludos

seoane 13-12-2006 19:19:17

Cita:

Empezado por Lepe
seoane, lamento decirte que no puedes poner eso en trucos... porque eso no es código delphi, que yo conozco delphi muy bien y garantizo que no es código delphi.... :p :p

:confused: Debo estar un poco atontado Lepe ... pero no te entiendo.

mierda 13-12-2006 19:22:29

macho macho macho ....
 
Tio ... eres mi idolo .... y una autentica maquina ..... (como muchos de los que hay aqui) ... la verdad es q no dejais de sorprenderme.

Una autentica gozada. Os agradezco mucho que me saqueis de los apuros. Un saludo.

Para seguir aprendiendo .... como has llegado al codigo? por el sdk de microsoft? sabes utilizar mejor que yo el google? dame alguna pista.

pd: todavia estoy impresionado :eek:

seoane 13-12-2006 19:34:42

Cita:

Empezado por mierda
Para seguir aprendiendo .... como has llegado al codigo? por el sdk de microsoft? sabes utilizar mejor que yo el google? dame alguna pista.

He utilizado el ejemplo para VBScript que tiene microsoft en su página.

http://msdn.microsoft.com/library/de...pplication.asp

:D Y si, utilizo google de maravilla. A veces doy miedo :p

kalisto 13-12-2006 21:39:22

otra forma de hacer lo mismo
 
Manipulando el registro de windows:

Código Delphi [-]

Procedure WriteRegData(RootKey: HKEY; Key,Name:String; Value: variant);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := RootKey;
    if Reg.OpenKey(Key, True) then
        Reg.WriteString(Name, Value );
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;
 
 
 
 
 
 

 
WriteRegData (HKEY_LOCAL_MACHINE ,'\SYSTEM\CurrentControlSet\Services
\SharedAccess\Parameters\FirewallPolicy\StandardProfile\
AuthorizedApplications\List',
MiDirectorio+'\Miprograma.exe',
MiDirectorio+'\Miprograma.exe:*:Enabled:Entorno UPnp');

Lepe 13-12-2006 22:58:35

Lo decía porque ese código es una pasada, aún siendo traducido de VB (que para traducirlo también hay lo suyo) ya me he querido hacerlo alguna vez y no hay manera :D, aunque ya sé a quien debo recurrir :D :D

Saludos

seoane 13-12-2006 23:05:42

Cita:

Empezado por Lepe
Lo decía porque ese código es una pasada, aún siendo traducido de VB (que para traducirlo también hay lo suyo) ya me he querido hacerlo alguna vez y no hay manera :D, aunque ya sé a quien debo recurrir :D :D

Aclarado. Pensé que te estabas metiendo con mi código :p :D

PD: Si nadie tiene nada mas que añadir, lo voy a colocar en la sección de trucos

roman 13-12-2006 23:58:49

No lo he probado pero veo muy bien este truco. Me queda una duda: ¿el sistema avisa o pregunta al usuario que el programa se está añadiendo en la lista de excepciones o de plano el firewall de xp vale sombrilla?

// Saludos

roman 14-12-2006 00:11:31

Cita:

Empezado por roman
¿el sistema avisa o pregunta al usuario que el programa se está añadiendo en la lista de excepciones o de plano el firewall de xp vale sombrilla?

Me contesto yo mismo: vale sombrilla :D

Claro, que supongo que si uno no es administrador entonces no se puede, ¿o sí?

// Saludos

seoane 14-12-2006 00:16:26

Cita:

Empezado por roman
No lo he probado pero veo muy bien este truco. Me queda una duda: ¿el sistema avisa o pregunta al usuario que el programa se está añadiendo en la lista de excepciones o de plano el firewall de xp vale sombrilla?

// Saludos

Pues la respuesta es si. Al menos si pensábamos utilizarlo para impedir que un programa escuchara a través de un puerto, como cabria esperar de cualquier otro firewall. La verdad es que no estoy muy seguro para que sirve, no bloquea las conexiones salientes y para las entrantes, se pueden crear excepciones como esta, así que lo único que se me ocurre para lo que puede resultar útil es para bloquear aplicaciones legitimas que no intenten agregarse a si mismas a la lista de excepciones :D

Yo la primera vez que vi que una aplicación podía saltarse el firewall sin problemas y sin que nadie preguntara nada, pensé que este firewall era de chiste.

seoane 14-12-2006 00:29:11

Cita:

Empezado por roman
Claro, que supongo que si uno no es administrador entonces no se puede, ¿o sí?

Pues a esta te contesto yo, espero que esta vez antes de que lo hagas tu :p Probé insertando la función al principio de un programa que normalmente haría saltar el firewall y preguntar si desbloquear o no el programa. El resultado, como esperaba, es que la aplicación se desbloqueo a si misma y el firewall no aviso de nada. Ahora bien, ejecutando ese mismo programa como un usuario limitado, no solo no es capaz de desbloquearse sino que la aplicación se me cierra. Un punto para los de microsoft ...

Ahora la pregunta es cuantos usuarios de windows lo utilizan normalmente como administrador y cuantos con cuentas limitadas .... :D

Caral 14-12-2006 00:31:35

Hola
Cita:

Yo la primera vez que vi que una aplicación podía saltarse el firewall sin problemas y sin que nadie preguntara nada, pensé que este firewall era de chiste
Pues a groso modo, envio un correo, un pequeño programa oculto, me abre el firewall y hasta que se den cuenta hago de las mias.
Que esto no es lo que hacen los hackers ?
Saludos

Caral 14-12-2006 00:45:28

Hola
Brincarse el firewall sera muy facil, pero al de mi ordenador, seguro que no :D :D a este no se le puede.:D
A que no Roman
Saludos

roman 14-12-2006 00:57:00

Cita:

Empezado por seoane
Ahora la pregunta es cuantos usuarios de windows lo utilizan normalmente como administrador y cuantos con cuentas limitadas

Pues yo la uso como administrador, sé que hago mal pero ¿qué le vamos a hacer? :D Y bueno, pues siendo justos con MS en este punto, lo cierto es que uno es culpable por andar trabajando con cuentas privilegiadas.

pd: Caral, ¿revisaste lo de ayer? Es decir, me parece que no tienes bien redirigido el puerto 21 o lo está acaparando otra aplicación.

// Saludos


La franja horaria es GMT +2. Ahora son las 16:31:53.

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