Window Firewall deaktivieren

Anfängerfragen zum Programmieren mit PureBasic.
Raphi
Beiträge: 175
Registriert: 06.08.2009 16:32
Computerausstattung: Intel Core 2 Duo Processor (2 x 3 Ghz), ATI Radeon HD 4870 (512 MB), 4 GB DDR-2 Ram, Microsoft Windows 7 Ultimate, MBox 2 Mini Soundkarte

Beitrag von Raphi »

cxAlex hat geschrieben:Warum willst du das machen?
Imprizip will ich ein programm basteln, dass es ermöglicht mit 1-2 klicks
ein Netzwerk(über lan oder Drahtlos) herzustellen.
Denn wenn man übber netzwerk spiele spilen möchte stört meistens die Firewall. /:->
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Für das reicht es dann aber auch die Anwendung freizugeben:

http://www.purebasic.fr/german/viewtopi ... s+firewall

Hier mal der Code EnableExplicit - freundlich und so wie du ihn in deiner App verwenden solltest:

Code: Alles auswählen

;add your app to firewall - AuthorizedApplication (xp/sp2)

EnableExplicit

Interface INetFwAuthorizedApplication Extends IDispatch
  get_Name(a)
  put_Name(a)
  get_ProcessImageFileName(a)
  put_ProcessImageFileName(a)
  get_IpVersion(a)
  put_IpVersion(a)
  get_Scope(a)
  put_Scope(a)
  get_RemoteAddresses(a)
  put_RemoteAddresses(a)
  get_Enabled(a)
  put_Enabled(a)
EndInterface

Interface INetFwAuthorizedApplications Extends IDispatch
  get_Count(a)
  Add(a)
  Remove(a)
  Item(a, b)
  get__NewEnum(a)
EndInterface

Interface INetFwProfile Extends IDispatch
  get_Type(a)
  get_FirewallEnabled(a)
  put_FirewallEnabled(a)
  get_ExceptionsNotAllowed(a)
  put_ExceptionsNotAllowed(a)
  get_NotificationsDisabled(a)
  put_NotificationsDisabled(a)
  get_UnicastResponsesToMulticastBroadcastDisabled(a)
  put_UnicastResponsesToMulticastBroadcastDisabled(a)
  get_RemoteAdminSettings(a)
  get_IcmpSettings(a)
  get_GloballyOpenPorts(a)
  get_Services(a)
  get_AuthorizedApplications(a)
EndInterface

Interface INetFwPolicy Extends IDispatch
  get_CurrentProfile(a)
  GetProfileByType(a, b)
EndInterface

Interface INetFwMgr Extends IDispatch
  get_LocalPolicy(a)
  get_CurrentProfileType(a)
  RestoreDefaults()
  IsPortAllowed(a, b, c, d, e, f, g)
  IsIcmpTypeAllowed(a, b, c, d, e)
EndInterface

Global a2u_memtarget

Procedure.l Ansi2Uni(ansi.s)
  Shared a2u_memtarget
  If a2u_memtarget : CoTaskMemFree_(a2u_memtarget) : EndIf
  SHStrDup_(@ansi, @a2u_memtarget)
  ProcedureReturn a2u_memtarget
EndProcedure

Procedure free_app_firewall(name.s, app.s)
  Protected ret, INetMgr.INetFwMgr, INetPolicy.INetFwPolicy
  Protected colApplications.INetFwAuthorizedApplications
  Protected object.INetFwAuthorizedApplication
  Protected objPolicy.INetFwProfile
  CoInitialize_(0)
  If CoCreateInstance_(?CLSID_NetFwMgr, 0, 1, ?IID_INetFwMgr, @INetMgr) = 0
    INetMgr\get_LocalPolicy(@INetPolicy)
    INetPolicy\get_CurrentProfile(@objPolicy)
    If CoCreateInstance_(?CLSID_FwAuthorizedApplication, 0, 1, ?IID_INetFwAuthorizedApplication, @object) = #ERROR_SUCCESS
      object\put_Name(Ansi2Uni(name))
      object\put_IPVersion(2)
      object\put_ProcessImageFileName(Ansi2Uni(app))
      object\put_RemoteAddresses(Ansi2Uni("*"))
      object\put_Scope(0)
      object\put_Enabled(#True)
    EndIf
    objPolicy\get_AuthorizedApplications(@colApplications)
    If colApplications\add(object) = #ERROR_SUCCESS
      ret = 1
    EndIf
  EndIf
  CoUninitialize_()
  
  ProcedureReturn ret
  
EndProcedure

DataSection
  CLSID_NetFwMgr:
  Data.l $304CE942
  Data.w $6E39, $40D8
  Data.b $94, $3A, $B9, $13, $C4, $0C, $9C, $D4
  
  IID_INetFwMgr:
  Data.l $F7898AF5
  Data.w $CAC4, $4632
  Data.b $A2, $EC, $DA, $06, $E5, $11, $1A, $F2
  
  CLSID_FwAuthorizedApplication:
  Data.l $EC9846B3
  Data.w $2762, $4A6B
  Data.b $A2, $14, $6A, $CB, $60, $34, $62, $D2
  
  IID_INetFwAuthorizedApplication:
  Data.l $B5E64FFA
  Data.w $C2C5, $444E
  Data.b $A3, $01, $FB, $5E, $00, $01, $80, $50
EndDataSection




Debug free_app_firewall("MyGame", ProgramFilename())
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Also so unnormal ist das gar nicht. Selbst Programm wie Skype oder ICQ machen Windows XP Firewallhacking sehr gerne ohne Hinweis: :D
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Benutzeravatar
NicknameFJ
Beiträge: 324
Registriert: 03.06.2007 14:36
Wohnort: Von der Sonne aus gesehen der dritte Planet

Beitrag von NicknameFJ »

Joel hat geschrieben:Also so unnormal ist das gar nicht. Selbst Programm wie Skype oder ICQ machen Windows XP Firewallhacking sehr gerne ohne Hinweis: :D

Was aber dennoch nicht der Gute Ton ist.

Solche Sachen macht man nur mit ausdrücklicher Zustimmung des Nutzers.

Grüße

NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller

Bild
Raphi
Beiträge: 175
Registriert: 06.08.2009 16:32
Computerausstattung: Intel Core 2 Duo Processor (2 x 3 Ghz), ATI Radeon HD 4870 (512 MB), 4 GB DDR-2 Ram, Microsoft Windows 7 Ultimate, MBox 2 Mini Soundkarte

Beitrag von Raphi »

ich hab jetzt den code übernommen complimirt und abgespielt.
Jetzt hat sich ein fenster vom debugger göffnet mit Kopiern, Speichern, Löschen und anzeigen ???

Hat das jetzt was gebracht oder mus ich noch was umstellen? /:->
Raphi
Beiträge: 175
Registriert: 06.08.2009 16:32
Computerausstattung: Intel Core 2 Duo Processor (2 x 3 Ghz), ATI Radeon HD 4870 (512 MB), 4 GB DDR-2 Ram, Microsoft Windows 7 Ultimate, MBox 2 Mini Soundkarte

Beitrag von Raphi »

Was muss ich jetzt tun damit ich das Freigebe was ich will?
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Raphi hat geschrieben:Was muss ich jetzt tun damit ich das Freigebe was ich will?
Schau dir doch mal die letzte Zeile an!

Code: Alles auswählen

Debug free_app_firewall("MyGame", ProgramFilename())
Das debuggt ob das eintragen deiner Anwendung mit dem Namen "MyGame" mit der dazugehörigen Datei "ProgramFilename()" in die Firewall erfolgreich war.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Raphi
Beiträge: 175
Registriert: 06.08.2009 16:32
Computerausstattung: Intel Core 2 Duo Processor (2 x 3 Ghz), ATI Radeon HD 4870 (512 MB), 4 GB DDR-2 Ram, Microsoft Windows 7 Ultimate, MBox 2 Mini Soundkarte

Beitrag von Raphi »

und was bedeutet dann dieses speicher usw. beim debuger

Und hat das bei einem aufruf automatisch für immer das freigegeben?
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Raphi hat geschrieben:und was bedeutet dann dieses speicher usw. beim debuger

Und hat das bei einem aufruf automatisch für immer das freigegeben?
1. Das ist der PureBasic Debugger. Damit kannst du den Text der unten steht ...
  • ... in eine Datei speichern
  • ... in die Zwischenablage kopieren
  • ... löschen
Probiers doch das nächste mal einfach aus.

Debug "Hallo Welt!" gibt "Hallo Welt!" auf diesem Fenster aus.

Schau halt mal in deine Firewalleinstellungen, da wird jetzt dein Programm als Ausnahme drinstehen ;-) . Solange, bis du es von Hand daraus entfernst.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Raphi
Beiträge: 175
Registriert: 06.08.2009 16:32
Computerausstattung: Intel Core 2 Duo Processor (2 x 3 Ghz), ATI Radeon HD 4870 (512 MB), 4 GB DDR-2 Ram, Microsoft Windows 7 Ultimate, MBox 2 Mini Soundkarte

Beitrag von Raphi »

Und was bringt das?
Antworten