Binden Sie die Anwendung an eine bestimmte Netzwerkschnittstelle

17

Ich habe ForceBindIP ausprobiert, aber es hat einen erheblichen Nachteil - es wirkt sich nicht auf die untergeordneten Elemente der Anwendung aus, die ich binden möchte, sondern nur auf die Anwendung selbst. Es kann auch nicht erzwingen, dass eine Anwendung immer über eine bestimmte Schnittstelle ausgeführt wird, sondern muss forcebindip.exejedes Mal ausgeführt werden. Bei Anwendungen wie League of Legends, bei denen der Prozessbaum folgendermaßen aussieht, tritt ein Problem auf:

Bildschirmfoto

Der Launcher führt den Patcher, der Patcher den Client usw. aus. Ich kann nur das übergeordnete Element aller dieser Prozesse im Baum beeinflussen, sodass das eigentliche Spiel nicht an die von mir gewünschte Benutzeroberfläche gebunden ist.

Gibt es eine modernere Alternative zu ForceBindIP für Windows 7? Es gibt viele ähnliche Fragen auf dieser Seite, aber sie sind meistens alt. Vielleicht gibt es jetzt einen besseren Weg, um dieses Problem zu lösen?

Meine aktuelle Idee ist Folgendes:

  1. Richten Sie den lokalen 3proxy-Server ein, der an die gewünschte Schnittstelle gebunden ist.

  2. Führen Sie das Spiel über Proxifier oder eine ähnliche Software aus, die für die Ausführung über diesen lokalen Proxy konfiguriert ist.

Ich bin mir nicht sicher, ob das funktionieren wird, aber selbst wenn, scheint es eine suboptimale Lösung zu sein. Habt ihr bessere Ideen?

Edit: Meine Idee hat nicht funktioniert :(

Bearbeiten 2: Grundsätzlich versuche ich, einige Anwendungen an eine reguläre Schnittstelle zu binden, während VPN ausgeführt wird. Der Grund dafür ist, dass ich die meiste Zeit eine VPN-Verbindung herstellen muss, aber einige Anwendungen (z. B. Spiele) funktionieren auf diese Weise aufgrund von höherem Ping und anderen Problemen nicht ordnungsgemäß.

Victor Marchuk
quelle
Müssen Sie jeden Prozess im Baum oder nur an IP binden LolClient.exe? Ist LolClient.exeein x86oder ein x64exe? Ich spiele mit einem DLL-Injektor eines Drittanbieters und kann Ihnen vielleicht helfen, aber ich benötige weitere Informationen.
Beatcracker
Versuchen Sie, den Prozess an die VPN-Schnittstelle oder an die reguläre Schnittstelle zu binden?
MariusMatutiae
Gibt es ein bestimmtes Ziel, das Sie erreichen möchten? Standardmäßig benötigt das Spiel keine eingehenden Verbindungen, um ordnungsgemäß zu funktionieren. Versuchen Sie, Spiele zu betrügen oder aufzunehmen / abzuspielen?
Mario
Ich habe nach einer Antwort auf diese grundlegende Frage gesucht, aber nach OSX-Hosts. Mein Anwendungsfall ist, dass LAN und WLAN gleichzeitig aktiviert sind. LAN ist in einem eingeschränkten Firmennetz, WLAN in meinem WAP. Ich benötige manchmal einen Browser oder eine App, um nur Wi-Fi zu verwenden, damit ich von unserer Firewall blockierte D / L-Dateien verwenden kann.
SaxDaddy
1
@ VictorMarchuk Ja, BindIp.dllist 32-Bit, so würde es nicht mit 64-Bit-Prozessen funktionieren.
Beatcracker

Antworten:

10

Aktualisieren

Ich habe festgestellt, dass ForceBindIp tatsächlich Parameter an die aufgerufenen ausführbaren Dateien übergibt. Der erste Parameter wird einfach weggelassen . Deshalb habe ich mein Skript so geändert, dass es ForceBindIp.exeanstelle des benutzerdefinierten Injektors verwendet wird. Nun scheinen alle Probleme mit injectoryAusnahmen behoben zu sein und alles funktioniert.

Hier ist modifizierte Schritte und BindIp.cmdSkript:

  1. Installieren Sie ForceBindIp wie gewohnt

  2. Stellen Sie BindIp.cmdirgendwo auf Ihrem Laufwerk (zB C:\BindIp\BindIp.cmd)

BindIp.cmd Skript:

setlocal

:: IP to bind to
set IP=192.168.128.85

:: Common variables
set RegIFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\%~nx1
set Injector=ForceBindIp.exe

:: ForceBindIp swallows first parameter passed to target exe,
:: so we inject dummy parameter just before it
set AllParams=%*
set FirstParam=%1
call set TargetParams=%%AllParams:*%FirstParam%=%FirstParam% Dummy%%

:: Delete debugger for the target exe in registry,
:: or we'll end in an endless loop of the batch files
reg delete "%RegIFEO%%" /v Debugger /f

:: Start target exe via ForceBindIp
%Injector% %IP% %TargetParams%

:: Restore this script as debugger for the target exe in registry
reg add "%RegIFEO%" /v Debugger /t REG_SZ /d "%~dpnx0" /f

:: Debug, uncomment if needed
rem pause

endlocal

Befolgen Sie dann die Schritte 2-6 von unten.


Einführung

ForceBindIp kann nicht automatisch BindIp.dllin untergeordnete Prozesse einfügen und übergibt keine Parameter an die aufgerufenen ausführbaren Dateien . Ich konnte dies jedoch umgehen, indem ich die Ausführungsoptionen für Bilddateien in der Registrierung , im Stapelskript und im DLL-Injektor eines Drittanbieters verwendete . Details sind unten.

Theorie

Um BindIp.dllohne zu verwenden ForceBindIp.exe, müssen wir herausfinden, wie sie kommunizieren ( ForceBindIp.exemuss IP-Adresse irgendwie an DLL übergeben).

Ich habe IDA free verwendet und festgestellt, dass ForceBindIp.exeeine Umgebungsvariable mit einem Namen erstellt wird FORCEDIP, der die IP-Adresse enthält und BindIp.dlldie IP-Adresse aus dieser Variablen liest, wenn sie im Zielprozess injiziert und ausgeführt wird.

Um den Start der Zielanwendung zu erkennen, können wir einen DebuggerSchlüssel in den Ausführungsoptionen für Bilddateien in der Registrierung für diese ausführbare Datei hinzufügen :

Wenn Kernel32! CreateProcess ohne die Erstellungsflags DEBUG_PROCESS oder DEBUG_ONLY_THIS_PROCESS aufgerufen wird, wird in der Registrierung überprüft, ob IFEO für die ausführbare Datei festgelegt wurde, die gestartet wird. Wenn ja, wird der Debugger-Pfad einfach dem Namen der ausführbaren Datei vorangestellt, sodass die ausführbare Datei unter dem Debugger gestartet wird.

Der "Debugger" in unserem Fall ist ein Batch-Skript, das die FORCEDIPVariable setzt und den Injectory- DLL-Injector startet . Injectory startet dann den Prozess, übergibt Befehlszeilenargumente und injiziert BindIp.dll.

Trainieren

  1. Erstellen Sie irgendwo einen Ordner ( C:\BindIpzum Beispiel) und legen Sie diese drei Dateien darin ab:

BindIp.cmd Skript:

setlocal

:: IP to bind to. This env.var is used by BindIp.dll
set FORCEDIP=192.168.1.23

:: Common variables
set RegIFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\%~nx1
set Injector=%~dp0injectory.x86.exe
set BindIpDll=%~dp0BindIp.dll

:: Extract target's parameters, if any
set AllParams=%*
set FirstParam=%1
call set TargetParams=%%AllParams:*%FirstParam% =%%

:: Delete debugger for the target exe in registry,
:: or we'll end in an endless loop of the batch files
reg delete "%RegIFEO%%" /v Debugger /f

:: Start target exe and inject BindIp.dll
if not [%2] == [] (
    :: If there were parameters for target exe, pass them on
    "%Injector%" --launch %1 --inject "%BindIpDll%" --args "%TargetParams%"
) else (
    :: No parameters were specified
    "%Injector%" --launch %1 --inject "%BindIpDll%"
)

:: Restore this script as debugger for the target exe in registry
reg add "%RegIFEO%" /v Debugger /t REG_SZ /d "%~dpnx0" /f

:: Debug, uncomment if needed
rem pause

endlocal
  1. Erstellen Sie einen Registrierungsschlüssel (z. B. LolClient.exe) für die ausführbare Zieldatei inHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
  2. Fügen Sie diesem Schlüssel einen Zeichenfolgewert hinzu:

    • Name: Debugger
    • Wert: C:\BindIp\BindIp.cmd
  3. Gewähren Sie die Usersvollständigen Berechtigungen für diesen Schlüssel (das Skript muss sie bei jedem Start ändern). Es sollte so aussehen:IFEO-Registrierungsschlüssel

  4. Stellen Sie die gewünschte IP-Adresse ein BindIp.cmd

  5. Wiederholen Sie die Schritte 3 und 4 für jede ausführbare Sie binden wollen ( rad_user_kernel.exe, LolLauncher.exe, LolPatcher.exe, etc.).

Jedes Mal, wenn Sie eine ausführbare Datei mit einem entsprechenden Registrierungseintrag BindIp.cmdstarten, wird stattdessen das Skript gestartet und dieses Programm an die gewünschte IP-Adresse gebunden.

Fazit

Ich habe dies auf meinem Laptop unter Windows 8.1 x64 getestet und konnte mit dieser Technik verschiedene Programme ( AIMP 2 , BersIRC , Opera 12.4 ) erfolgreich an Ethernet- oder WiFi-Adapter binden . Leider BindIp.dllist 32-Bit, so würde es nicht mit 64-Bit-Prozessen funktionieren.

Beatcracker
quelle
Vielen Dank für eine ausführliche Erklärung! Leider bekomme ich eine Art Ausnahme von Injectory: github.com/blole/injectory/issues/4
Victor Marchuk
@ VictorMarchuk Ich habe mehr Tests gemacht, und in der Tat hat injectorymanchmal Probleme mit der --argsOption. Nicht sicher warum.
Beatcracker
Ich konnte es auch ohne --argsAnwendung nicht ausführen
Victor Marchuk
@ VictorMarchuk Haben Sie ein Beispiel? Ich habe es gerade mit Opera 12.14 und Kommandozeile getestet - es hat gut funktioniert.
Beatcracker
@ VictorMarchuk Es scheint, dass ForceBindIptatsächlich Parameter übergeben können, siehe meine aktualisierte Antwort.
Beatcracker
4

Ich habe das HideMyAss gefunden! Der VPN-Client verfügt über die Funktion " Sichere IP-Bindung" , mit der Anwendungen an die VPN-Schnittstelle gebunden werden können:

Mit Secure IP Bind können Sie bestimmte Anwendungen auf Ihrem Computer zwingen, nur zu funktionieren, wenn eine Verbindung zu unseren VPN-Servern besteht. Dies stellt sicher, dass ausgewählte Anwendungen nur hinter einer sicheren verschlüsselten Verbindung funktionieren. Wenn Sie ausgewählte Anwendungen öffnen, ohne mit unserem VPN verbunden zu sein, können diese nicht auf das Internet zugreifen.

Ich habe es angeschaut und es basiert auf einer benutzerdefinierten Layered Service Provider (LSP) -Dll und einer COM-Schnittstelle, um es zu steuern. Und es kann (ab) verwendet werden, ohne den VPN-Client von HideMyAss zu installieren.

Installieren von HideMyAss Secure IP Bind

  1. Laden Sie das neueste Windows-Installationsprogramm herunter : https://www.hidemyass.com/downloads
  2. Packen Sie es mit 7-Zip aus. Wenn Sie Warnungen zu Dateien mit demselben Namen ignorieren, können Sie diese problemlos überschreiben.
  3. Gehen Sie zu dem binOrdner im entpackten Installationsprogramm
  4. Kopieren Sie diese drei Dateien in einen Ordner auf Ihrer Festplatte ( C:\HMA_Bind)

    • ForceInterfaceCOM.dll
    • ForceInterfaceLSP.dll
    • InstallLSP.exe
  5. Legen Sie Install.cmdund Uninstall.cmdin diesen Ordner

Install.cmd

%~dp0InstallLSP.exe -i -a -n "HMA_LSP" -d %~dp0ForceInterfaceLSP.dll
regsvr32 /s %~dp0ForceInterfaceCOM.dll

Uninstall.cmd

%~dp0InstallLSP.exe -f
regsvr32 /u /s %~dp0ForceInterfaceCOM.dll
  1. Führen Sie Install.cmd als Administrator . Um zu überprüfen, ob die Installation erfolgreich war, können Sie Autoruns verwenden :

Winsock-Anbieter in AUtoruns

  1. Um Secure IP Bind zu steuern, müssen Sie COM-Schnittstellenmethoden aufrufen. Dies kann in PowerShell erfolgen. Wenn Sie ein x64-Betriebssystem verwenden, müssen Sie Windows PowerShell ISE (x86)oder starten Windows PowerShell (x86), da es sich um eine 32-Bit-COM-Komponente handelt.

Zuerst müssen Sie ein neues Secure IP Bind-Objekt erstellen:

# Create new Secure IP Bind COM object
$HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop

Und dann können Sie es Methoden aufrufen:

# Add bound application
# Not sure what second boolean argument does
$HmaFbi.AddApplicationHandled('firefox.exe', $true)

# Delete bound application
$HmaFbi.RemoveApplicationHandled('firefox.exe')

# Save applications to registry (applies bindings)
# Setting are saved to: HKEY_CURRENT_USER\Software\ForceInterfaceCOM
$HmaFbi.SaveToRegistry()

# List all bound applications
0..($HmaFbi.GetApplicationHandledCount() - 1) | ForEach-Object {$HmaFbi.GetApplicationName($_)}

# Set IP to bind to
$HmaFbi.SetInterfaceIP('192.168.1.23')

# Get stored IP
$HmaFbi.GetInterfaceIP()

# Enable binding
$HmaFbi.SetEnabled($true)

# Disable binding
$HmaFbi.SetEnabled($false)

# Show binding status
$HmaFbi.GetEnabled()

Deinstallation von HideMyAss Secure IP Bind

  1. Führen Sie Uninstall.cmd als Administrator aus , und überprüfen Sie, ob die Deinstallation mit Autoruns erfolgreich war.

Beispiele:

Beachten Sie, dass Sie ein sicheres IP Bind-COM-Objekt nur einmal pro PowerShell-Sitzung erstellen müssen. In den folgenden Beispielen wird davon ausgegangen, dass Sie sie in einer neuen PowerShell-Sitzung ausführen, sodass immer ein neues COM-Objekt erstellt wird.

  • Festlegen der IP-Adresse, firefoxan die gebunden werden soll , Hinzufügen zu gebundenen Anwendungen und Aktivieren der Bindung.

    # Create new Secure IP Bind COM object
    $HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop
    
    # Set IP to bind to
    $HmaFbi.SetInterfaceIP('192.168.1.23')
    
    # Add bound application
    # Not sure what second boolean argument does
    $HmaFbi.AddApplicationHandled('firefox.exe', $true)
    
    # Save applications to registry (applies bindings)
    # Setting are saved to: HKEY_CURRENT_USER\Software\ForceInterfaceCOM
    $HmaFbi.SaveToRegistry()
    
    # Enable binding
    $HmaFbi.SetEnabled($true)
    
  • IP-Bindung global aktivieren:

    # Create new Secure IP Bind COM object
    $HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop
    
    # Enable binding
    $HmaFbi.SetEnabled($true)
    
  • IP-Bindung global deaktivieren:

    # Create new Secure IP Bind COM object
    $HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop
    
    # Disable binding
    $HmaFbi.SetEnabled($false)
    
  • Anwendung von der Liste entfernen (Bindung für diese Anwendung beenden):

    # Create new Secure IP Bind COM object
    $HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop
    
    # Delete bound application
    $HmaFbi.RemoveApplicationHandled('firefox.exe')
    
    # Save applications to registry (applies bindings)
    # Setting are saved to: HKEY_CURRENT_USER\Software\ForceInterfaceCOM
    $HmaFbi.SaveToRegistry()
    

Anmerkungen

Da Secure IP Bind als benutzerdefinierte LSP- DLL (Layered Service Provider) implementiert ist, gelten folgende Einschränkungen:

LSPs sind seit Windows Server 2012 veraltet. Systeme, die LSPs enthalten, bestehen die Windows-Logoüberprüfungen nicht. Metro-Apps im Windows 8-Stil, die das Netzwerk verwenden, umgehen automatisch alle LSPs.

Ich habe diese Methode mit verschiedenen Anwendungen mit gemischten Ergebnissen getestet: 32-Bit-Anwendungen funktionieren, 64-Bit jedoch nicht, dh ich konnte den 64-Bit-Explorer binden (wahrscheinlich, weil die Tabulatorprozesse standardmäßig 32-Bit sind), aber Kein 64-Bit- Waterfox- Browser oder andere 64-Bit-Anwendungen.

Beatcracker
quelle
3

Ich kann mir zwei Lösungen für das Problem vorstellen:

  1. Erstellen Sie eine virtuelle Maschine zum Ausführen des Spiels, die nur den einen Netzwerkadapter verwendet.

  2. Wenn Sie den IP-Adressbereich kennen, den das Spiel verwendet, erstellen Sie eine Netzwerkroute, die diesen Bereich zum Gateway des jeweiligen Adapters leitet.

Ich kann weitere Informationen hinzufügen, sobald ich Ihre Präferenzen kenne. Zum Beispiel in Punkt 1 Ihr bevorzugtes virtuelles Maschinenprodukt.

Harrymc
quelle
1
Die Verwendung einer VM würde viele zusätzliche Probleme verursachen, wie z. B. eine verringerte Leistung und eine konstante Verwendung von einigen GB RAM. Es ist mein letzter Ausweg, ich würde es wirklich vorziehen, es auf eine andere Weise zu erreichen. Ich kenne nicht den genauen IP-Bereich, den ich binden muss, da ich ihn für alle Arten von Anwendungen benötige, einschließlich P2P-Sharing-Software (Torrents). Vielleicht gibt es eine Firewall, mit der Sie Routen basierend auf den Verbindungen erstellen können, die jede Anwendung herstellt?
Victor Marchuk
Leistung: Eine VM würde keine reduzierte Leistung verursachen, wenn der alte Virtual PC nicht verwendet wird. Arbeitsspeicher: VMware und VirtualBox weisen nicht sofort den gesamten Arbeitsspeicher zu, sodass nur der Arbeitsspeicher zugewiesen wird, den die VM wirklich benötigt. Sie haben auch den zusätzlichen Vorteil, dass die VM / das Spiel zu einem späteren Zeitpunkt angehalten und fortgesetzt werden kann, was viel besser ist als die Speicherfähigkeiten der meisten Spiele. Für IP-Bereiche: Wenn Sie viele von ihnen haben, ist das oben Genannte nicht praktikabel und auch kein Proxy.
Harrymc
1
@harrymc Ich bezweifle, dass man mit emulierter GPU eine akzeptable 3D-Leistung von VM erhalten kann. Und der direkte Zugriff auf die Grafikkarte ist schwierig einzurichten und erfordert eine VT-D (Intel) oder AMD-Vi-fähige CPU (und diese sind nicht billig).
Beatcracker
Solche CPUs sind häufiger anzutreffen als Sie denken: Liste der IOMMU-unterstützenden Hardware , aber für das Passthrough- Video sind möglicherweise zwei GPUs erforderlich. Wenn die Leistungsanforderungen jedoch nicht enorm sind, bietet eine VM heutzutage eine gute Videoleistung. Die Verwendung einer VM ist meine Lösung für Actionspiele, bei denen ich Probleme habe, meine erweiterte GPU zu akzeptieren, ohne dass es zu einer merklichen Verzögerung kommt. Die meisten VM - Produkte ermöglichen eine gewisse Kontrolle über die emulierte Karte, wie die Menge an Videospeicher,
harrymc
2
Die Antwort ist ja, und einige Leute haben das geschafft. Hier ist eine Referenz: Einrichten einer Windows-VM mit GPU-Passthrough , aber es gibt noch mehr.
Harrymc
3

Angenommen, Sie haben zwei Windows-Benutzerkonten:

  • HomeUser
  • VpnUser

Wenn Sie sich bei Ihrem VpnUserKonto anmelden, können Sie Anwendungen (insbesondere die von Ihnen erwähnten Spiele) als HomeUser(Umschalt + RMB für ausführbare Dateien -> Als anderer Benutzer ausführen) ausführen und diese Anwendungen führen ihre untergeordneten Prozesse als aus HomeUser. Anwendungen, die Sie standardmäßig ausführen (Verknüpfungen, Doppelklick auf die ausführbare Datei), gehören VpnUser.

Wenn Sie Windows-Netzwerkverbindungen definieren, haben Sie die Möglichkeit, anderen Benutzern die Verwendung dieser Verbindung zu ermöglichen. Angenommen, Sie haben Folgendes definiert:

  • HomeNetwork exklusiv für HomeUser
  • VpnNetwork exklusiv für VpnUser

und zur Vereinfachung:

  • Es gibt keine anderen Netzwerkverbindungen auf Ihrem Computer.

Ich habe derzeit einen einzelnen Windows-Computer, auf dem ich nicht viel durcheinander bringen kann, und ich habe die beschriebenen Einstellungen noch nie überprüft, sodass ich nicht sicher bin, ob die folgende Aussage wahr ist.

Meine Vermutung ist möglicherweise auf den in Windows integrierten VPN-Client beschränkt. Jeder VPN-Client eines Drittanbieters erfordert weitere Untersuchungen.

Ich vermute, dass Anwendungen:

  • Im Besitz von VpnUsersollte nur verwenden VpnNetwork.
  • Im Besitz von HomeUsersollte nur verwenden HomeNetwork.

Wenn meine Spekulationen zutreffen, werden VpnUserAnwendungen beim Anmelden bei einem Konto verwendet VpnNetwork, wenn Anwendungen ausgeführt werden, die HomeUservon einem VpnUserKonto aus verwendet werden sollen HomeNetwork.

g2mk
quelle
Ich bin mir nicht sicher was du meinst. Schlagen Sie vor, ich sollte ein anderes Windows-Benutzerkonto verwenden? Wie würde dies dazu beitragen, bestimmte Anwendungen zu binden? Es scheint, dass Ihre Lösung nur das Aktivieren / Deaktivieren von VPN für alle Apps zulässt, aber ich kann dies bereits tun, indem ich eine Verbindung zu VPN herstelle und die Verbindung trenne.
Victor Marchuk
2
@ VictorMarchuk Ich habe meine Antwort bearbeitet - ich hoffe, es ist jetzt klarer ...
g2mk
0

forcebindip.exe kann verwendet werden, Sie müssen jedoch eine Hilfsanwendung codieren (keine andere Option).

  1. Die Anwendung speichert die von der Befehlszeile empfangenen Parameter
  2. Die Anwendung erhält ihren Namen zB XXXX.EXE
  3. Die Anwendung lädt die Datei XXX.ini, die Folgendes enthält:

    app_to_run = C:\path1\app_to_run.exe
    ForceBindIP = C:\path2\ForceBindIP.exe 
    IP          = 192.168.10.21
    
  4. Die Anwendung wird ausgeführt

    C: \ path1 \ app_to_run.exe 192.168.10.21 C: \ path1 \ app_to_run.exe Saved_Command_line

  5. Die Anwendung endet

PROBLEM: ForcebindIP übergibt keine Parameter an das aufgerufene Programm. Wenn Sie dann Parameter an app_to_run.exe übergeben müssen, benötigen Sie einen weiterentwickelten Ansatz, bei dem XXX.exe eine Batchdatei erstellt, die app_to_run.exe und die übergebenen Parameter enthält. Dieser Batch wird dann bei Punkt 4 anstelle von app_to_run.exe aufgerufen.

Sie können sich auch einige GUI-Apps ansehen, in denen ForcebindIP enthalten ist. Einige von ihnen können mit mehr als einer App arbeiten, aber sie tun nicht das, was Sie brauchen.

https://www.raymond.cc/blog/bind-windows-application-to-specific-network-adapter-with-forcebindip/

Klopfen
quelle
Meinen Sie damit, dass die Hilfsanwendung einen Versuch zum Erstellen eines untergeordneten Prozesses abfängt und ihn stattdessen über ForceBindIP ausführt? Wenn ja, haben Sie Vorschläge zur Vorgehensweise?
Victor Marchuk
Du hast recht. Die Hilfsanwendung hat den Namen jeder umschlossenen Exe und beendet den Aufruf der entsprechenden Original-Exe über ForceBind. Natürlich benötigen Sie hier ein Umbenennungs- oder Verzeichnisspiel, um 2 gleichnamige Exes unter demselben Verzeichnis zu vermeiden. Diese Hilfsprogramm-App kann einfach in C
Pat