एक विशिष्ट नेटवर्क इंटरफ़ेस के लिए बाइंड एप्लिकेशन


17

मैंने ForceBindIP की कोशिश की है, लेकिन इसका एक महत्वपूर्ण नकारात्मक पहलू है - यह उस एप्लिकेशन के बच्चों को प्रभावित नहीं करता है जिसे मैं बांधने की कोशिश कर रहा हूं, यह केवल एप्लिकेशन को ही प्रभावित करता है। यह किसी एप्लिकेशन को हमेशा एक निर्दिष्ट इंटरफ़ेस के माध्यम से चलाने के लिए मजबूर नहीं कर सकता है, इसे forcebindip.exeहर बार के माध्यम से चलाना होगा । यह एक समस्या बन जाता है जैसे लीग ऑफ लीजेंड्स जहां प्रक्रिया का पेड़ ऐसा दिखता है:

स्क्रीनशॉट

लांचर पैचर चलाता है, पैचर क्लाइंट चलाता है, आदि। मैं केवल इन सभी प्रक्रियाओं के माता-पिता को पेड़ में प्रभावित कर सकता हूं, इसलिए वास्तविक गेम उस इंटरफ़ेस के लिए बाध्य नहीं है जो मैं चाहता हूं, इस पूरे उद्यम को व्यर्थ बना देता है।

क्या विंडोज 7 के लिए ForceBindIP का एक और आधुनिक विकल्प है? इस साइट पर एक के समान कई सवाल हैं, लेकिन वे ज्यादातर पुराने हैं। शायद अब इस समस्या को हल करने का एक बेहतर तरीका है?

मेरा वर्तमान विचार निम्नलिखित करना है:

  1. वांछित इंटरफ़ेस के लिए स्थानीय 3proxy सर्वर सेट करें।

  2. उस स्थानीय प्रॉक्सी के माध्यम से चलाने के लिए कॉन्फ़िगर किए गए प्रोक्सीफ़ायर या इसी तरह के सॉफ़्टवेयर के माध्यम से गेम को चलाएं।

मुझे यकीन नहीं है कि अगर यह काम करेगा, लेकिन भले ही यह एक उप-इष्टतम समाधान की तरह लगता है। क्या आप लोगों के पास कोई बेहतर विचार है?

संपादित करें: मेरा विचार काम नहीं आया :(

संपादित करें 2: मूल रूप से, जो मैं प्राप्त करने की कोशिश कर रहा हूं वह कुछ अनुप्रयोगों को एक नियमित इंटरफ़ेस से बांध रहा है, जबकि वीपीएन चल रहा है। कारण यह है कि मुझे ज्यादातर समय वीपीएन के माध्यम से कनेक्ट करने की आवश्यकता होती है, लेकिन उच्चतर पिंग और अन्य मुद्दों के कारण कुछ एप्लिकेशन (जैसे गेम) इस तरह से ठीक से काम नहीं करते हैं।


क्या आपको पेड़ में या हर प्रक्रिया में आईपी को बांधने की जरूरत है LolClient.exe? है LolClient.exeएक x86या x64exe? मैं थर्ड-पार्टी डीएल इंजेक्टर के साथ कर रहा हूं और शायद मैं आपकी मदद कर सकता हूं, लेकिन मुझे और जानकारी चाहिए।
बीटक्रैकर

क्या आप वीपीएन इंटरफ़ेस या नियमित इंटरफ़ेस में प्रक्रिया को बाँधने की कोशिश कर रहे हैं?
MariusMatutiae

क्या कोई विशिष्ट लक्ष्य है जिसे आप प्राप्त करने की कोशिश कर रहे हैं? डिफ़ॉल्ट रूप से, गेम को ठीक से काम करने के लिए किसी भी आने वाले कनेक्शन की आवश्यकता नहीं होती है। क्या आप चीटिंग या रिकॉर्ड / प्लेबैक गेम्स की कोशिश कर रहे हैं?
मारियो

मैं इस बुनियादी सवाल का जवाब तलाश रहा हूं लेकिन OSX मेजबानों के लिए। मेरा उपयोग करने का मामला है कि मेरे पास LAN और WiFi एक साथ हैं। LAN एक प्रतिबंधित कॉरपोरेट नेट पर है, मेरे WAP पर wi-fi है। मुझे कभी-कभी केवल वाई-फाई का उपयोग करने के लिए एक ब्राउज़र या ऐप की आवश्यकता होती है ताकि मैं हमारे फ़ायरवॉल द्वारा अवरुद्ध फ़ाइलों को डी / एल कर सकूं।
सक्सैडडी

1
@VictorMarchuk हाँ, BindIp.dll32-बिट है, इसलिए यह 64-बिट प्रक्रियाओं के साथ काम नहीं करेगा।
बीटक्रैकर

जवाबों:


10

अपडेट करें

मैंने पाया है कि ForceBindIp वास्तव में, निष्पादित निष्पादन योग्य मापदंडों को पारित कर रहा है। यह सिर्फ पहले पैरामीटर को छोड़ देता है । इसलिए मैंने अपनी स्क्रिप्ट को ForceBindIp.exeकस्टम इंजेक्टर के बजाय उपयोग करने के लिए संशोधित किया है और अब ऐसा लगता है कि injectoryअपवाद के साथ सभी मुद्दे चले गए हैं और सब कुछ काम करता है।

यहाँ संशोधित कदम और BindIp.cmdस्क्रिप्ट है:

  1. हमेशा की तरह ForceBindIp स्थापित करें

  2. BindIp.cmdअपने ड्राइव पर कहीं भी रखो (जैसे C:\BindIp\BindIp.cmd)

BindIp.cmd स्क्रिप्ट:

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

फिर नीचे से चरण 2-6 का पालन करें।


परिचय

ForceBindIp स्वचालित रूप BindIp.dllसे बच्चे की प्रक्रियाओं को इंजेक्ट नहीं कर सकता है और इसे निष्पादित निष्पादन के लिए पैरामीटर पास नहीं करता है । लेकिन मैं रजिस्ट्री , बैच स्क्रिप्ट और थर्ड-पार्टी डीएल इंजेक्टर में छवि फ़ाइल निष्पादन विकल्प का उपयोग करके इसे दरकिनार करने में सक्षम था । विवरण नीचे हैं।

सिद्धांत

BindIp.dllबिना उपयोग के ForceBindIp.exeहमें यह पता लगाने की आवश्यकता है कि वे किस तरह से संवाद करते हैं ( ForceBindIp.exeआईपी-पते को किसी तरह से कम करने के लिए पास करना होगा)।

मैंने आईडीए मुक्त का उपयोग किया है और पाया कि ForceBindIp.exeनाम के साथ पर्यावरण चर बनाता है FORCEDIPजो आईपी-पता रखता है और BindIp.dllइस चर से आईपी-पता पढ़ता है जब इसे इंजेक्ट किया जाता है और लक्ष्य प्रक्रिया में निष्पादित किया जाता है।

लक्ष्य एप्लिकेशन लॉन्च का पता लगाने के लिए, हम Debuggerइस निष्पादन योग्य के लिए रजिस्ट्री में छवि फ़ाइल निष्पादन विकल्प में एक कुंजी जोड़ सकते हैं :

कर्नेल32! DEBUG_PROCESS या DEBUG_ONLY_THIS_PROCESS सृजन झंडे के बिना कॉल किए जाने पर CreateProcess, रजिस्ट्री को यह देखने के लिए चेक करता है कि IFEO निष्पादन योग्य पर सेट किया गया है या नहीं। यदि हाँ, तो यह डिबगर एग्जीक्यूटिव नाम को प्रचलित करता है, डिबगर के तहत लॉन्च करने के लिए इम्प्लीबल होने योग्य है।

हमारे मामले में "डीबगर" एक बैच स्क्रिप्ट होगी, जो FORCEDIPवैरिएबल सेट करेगी और इंजेक्शन डीएल-इंजेक्टर लॉन्च करेगी । इंजेक्ट्री तब प्रक्रिया शुरू करेगी, कमांड-लाइन तर्क पास करेगी और इंजेक्शन लगाएगी BindIp.dll

अभ्यास

  1. कहीं फ़ोल्डर बनाएँ ( C:\BindIpउदाहरण के लिए) और उन तीन फ़ाइलों को इसमें डालें:

BindIp.cmd स्क्रिप्ट:

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. LolClient.exeमें निष्पादन योग्य लक्ष्य के लिए रजिस्ट्री कुंजी (जैसे ) बनाएँHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
  2. स्ट्रिंग कुंजी को इस कुंजी में जोड़ें:

    • नाम: Debugger
    • मान: C:\BindIp\BindIp.cmd
  3. अनुदान Usersइस कुंजी पर पूर्ण अनुमतियाँ (स्क्रिप्ट हर लॉन्च में इसे संशोधित करना होगा)। इसे ऐसा दिखना चाहिए:IFEO रजिस्ट्री कुंजी

  4. में आवश्यक आईपी-पता सेट करें BindIp.cmd

  5. दोहराएँ 3 और 4 कदम हर निष्पादन आप (बाँध करना चाहते हैं के लिए rad_user_kernel.exe, LolLauncher.exe, LolPatcher.exe, आदि)।

अब, हर बार जब आप निष्पादन योग्य लॉन्च करते हैं, जिसमें संबंधित रजिस्ट्री प्रविष्टि होती है, तो BindIp.cmdस्क्रिप्ट इसके बजाय लॉन्च होगी और इस कार्यक्रम को वांछित आईपी-पते पर बाँध देगी।

निष्कर्ष

मैंने विंडोज 8.1 x64 पर चलने वाले अपने लैपटॉप पर यह परीक्षण किया है और इस तकनीक का उपयोग करके विभिन्न कार्यक्रमों ( AIMP 2 , BERSIRC , ओपेरा 12.4 ) को ईथरनेट या WiFi एडाप्टर पर सफलतापूर्वक बाँधने में सक्षम था । दुर्भाग्य BindIp.dllसे 32-बिट है, इसलिए यह 64-बिट प्रक्रियाओं के साथ काम नहीं करेगा।


विस्तृत विवरण के लिए आपका बहुत-बहुत धन्यवाद! दुर्भाग्य से, मुझे इंजेक्शन
विक्टर मरचुक

@VictorMarchuk मैंने अधिक परीक्षण किए, और वास्तव में, injectoryकभी-कभी --argsविकल्प के साथ समस्याएँ होती हैं । यकीन नहीं है कि क्यों।
बीटक्रैकर

मैं इसे बिना --argsकिसी एप्लिकेशन के भी नहीं चला पा रहा था
विक्टर मरचुक

@VictorMarchuk क्या आपके पास एक उदाहरण है? मैंने अभी इसे ओपेरा 12.14 और कमांड-लाइन के साथ परीक्षण किया है - यह ठीक काम किया।
बीटक्रैकर

@VictorMarchuk ऐसा लगता है कि ForceBindIpवास्तव में मापदंडों को पारित कर सकते हैं, मेरा अद्यतन जवाब देख सकते हैं।
बीटक्रैकर

4

मैंने पाया है कि HideMyAss! वीपीएन क्लाइंट के पास सिक्योर आईपी बिंद सुविधा है जो वीपीएन इंटरफेस में एप्लिकेशन को बांधने की अनुमति देता है:

सुरक्षित आईपी बिंद आपको अपने वीपीएन सर्वर से जुड़े एक बार काम करने के लिए अपने कंप्यूटर पर चयनित एप्लिकेशन को बाध्य करने में सक्षम बनाता है। यह सुनिश्चित करता है कि चयनित एप्लिकेशन केवल सुरक्षित एन्क्रिप्टेड कनेक्शन के पीछे काम करेंगे। यदि आप हमारे वीपीएन से जुड़े बिना चयनित एप्लिकेशन खोलते हैं, तो वे इंटरनेट का उपयोग नहीं कर पाएंगे।

मैंने इसे देखा है और यह इसे नियंत्रित करने के लिए एक कस्टम लेयर्ड सर्विस प्रोवाइडर (LSP) dll और COM इंटरफ़ेस पर आधारित है। और HideMyAss 'VPN क्लाइंट को स्थापित किए बिना इसका (ab) उपयोग किया जा सकता है।

HideMyAss 'सिक्योर आईपी बिंद स्थापित करना

  1. नवीनतम Windows इंस्टॉलर प्राप्त करें: https://www.hidemyass.com/downloads
  2. इसे 7-ज़िप के साथ अनपैक करें। समान नाम वाली फ़ाइलों के बारे में चेतावनी को अनदेखा करें, आप सुरक्षित रूप से उन पर अधिलेखित कर सकते हैं।
  3. binअनपैक्ड इंस्टॉलर में फ़ोल्डर पर जाएं
  4. उन तीन फ़ाइलों को अपने डिस्क पर एक फ़ोल्डर में कॉपी करें ( C:\HMA_Bind)

    • ForceInterfaceCOM.dll
    • ForceInterfaceLSP.dll
    • InstallLSP.exe
  5. रखो Install.cmdऔर Uninstall.cmdइस फ़ोल्डर में

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. Install.cmd प्रशासक के रूप में चलाएं । सत्यापित करने के लिए, कि स्थापना सफल हुई, आप ऑटोरन का उपयोग कर सकते हैं :

AUtoruns में विनसॉक प्रदाता

  1. सिक्योर आईपी बिंद को नियंत्रित करने के लिए, आपको COM इंटरफ़ेस विधियों को कॉल करना होगा। यह PowerShell में किया जा सकता है। यदि आप x64 OS पर हैं, तो लॉन्च करना सुनिश्चित करें Windows PowerShell ISE (x86)या Windows PowerShell (x86), क्योंकि COM घटक 32-बिट है।

सबसे पहले, आपको नया सिक्योर आईपी बिंद ऑब्जेक्ट बनाना होगा:

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

और फिर आप इसे विधि कह सकते हैं:

# 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()

HideMyAss 'सिक्योर आईपी बिंद की स्थापना

  1. Uninstall.cmd व्यवस्थापक के रूप में चलाएं , सत्यापित करें कि स्थापना रद्द करना ऑटोरुन के साथ सफल हुआ है।

उदाहरण:

ध्यान दें, कि आपको PowerShell सत्र में केवल एक बार सुरक्षित IP Bind COM ऑब्जेक्ट बनाना होगा। नीचे दिए गए उदाहरण यह मानते हैं कि आप उन्हें नए PowerShell सत्र में निष्पादित करते हैं, इसलिए वे हमेशा नए COM ऑब्जेक्ट बनाते हैं।

  • IP को बाइंड करने के लिए सेट करें, firefoxबाध्य अनुप्रयोगों में जोड़ें , बाइंडिंग सक्षम करें।

    # 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 बाध्यकारी:

    # Create new Secure IP Bind COM object
    $HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop
    
    # Enable binding
    $HmaFbi.SetEnabled($true)
    
  • विश्व स्तर पर IP बाइंडिंग अक्षम करें:

    # Create new Secure IP Bind COM object
    $HmaFbi = New-Object -ComObject ForceInterfaceCOM.ForceInterface -ErrorAction Stop
    
    # Disable binding
    $HmaFbi.SetEnabled($false)
    
  • सूची से एप्लिकेशन निकालें (इस एप्लिकेशन के लिए बाध्यकारी रोकें):

    # 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()
    

टिप्पणियाँ

चूँकि सिक्योर IP Bind एक कस्टम लेयर्ड सर्विस प्रोवाइडर (LSP) dll के रूप में लागू किया गया है , वे सीमाएँ लागू होती हैं:

एलएसपी को विंडोज सर्वर 2012 से हटा दिया गया है। एलएसपी को शामिल करने वाले सिस्टम विंडोज लोगो चेक को पास नहीं करेंगे। विंडोज 8 शैली "मेट्रो" ऐप जो नेटवर्किंग का उपयोग करते हैं, स्वचालित रूप से सभी एलएसपी को बायपास करेंगे।

मैंने मिश्रित तरीकों के साथ विभिन्न अनुप्रयोगों के साथ इस पद्धति का परीक्षण किया है: 32-बिट अनुप्रयोग काम करते हैं, लेकिन 64-बिट नहीं, अर्थात मैं 64-बिट एक्सप्लोरर को बांधने में सक्षम था (शायद क्योंकि यह टैब प्रक्रियाएं डिफ़ॉल्ट रूप से 32-बिट हैं), लेकिन 64-बिट वाटरफॉक्स ब्राउज़र या अन्य 64-बिट अनुप्रयोग नहीं।


3

मैं समस्या के दो समाधानों के बारे में सोच सकता हूं:

  1. गेम चलाने के लिए एक वर्चुअल मशीन बनाएं, जो केवल एक नेटवर्क एडेप्टर का उपयोग करता है।

  2. यदि आप आईपी पते की सीमा जानते हैं जो खेल का उपयोग करता है, तो एक नेटवर्क मार्ग का निर्माण करें जो इस सीमा को विशिष्ट एडाप्टर के प्रवेश द्वार की ओर निर्देशित करता है।

आपकी प्राथमिकताएँ जानने के बाद मैं और जानकारी जोड़ सकता हूँ। उदाहरण के लिए, बिंदु 1 में आपका पसंदीदा वर्चुअल मशीन उत्पाद।


1
वीएम का उपयोग करने से कई अतिरिक्त समस्याएं पैदा होंगी, जैसे कि कम प्रदर्शन और कुछ जीबी रैम का निरंतर उपयोग। यह मेरा अंतिम विकल्प है, मैं वास्तव में इसे किसी अन्य तरीके से हासिल करना पसंद करूंगा। मुझे पता नहीं है कि आईपी की सटीक सीमा मुझे बांधने की आवश्यकता होगी, क्योंकि मुझे इसके लिए सभी प्रकार के अनुप्रयोगों की आवश्यकता है, जिसमें पी 2 पी शेयरिंग सॉफ्टवेयर (टॉरेंट) भी शामिल है। शायद वहाँ एक फ़ायरवॉल है जो आपको उन कनेक्शनों के आधार पर मार्ग बनाने की अनुमति देता है जो प्रत्येक एप्लिकेशन स्थापित करता है?
विक्टर मरचुक

प्रदर्शन: यदि कोई व्यक्ति पुराने वर्चुअल पीसी का उपयोग नहीं करता है, तो एक वीएम कम प्रदर्शन का कारण नहीं होगा। मेमोरी: वीएमवेयर और वर्चुअलबॉक्स सभी मेमोरी को तुरंत आवंटित नहीं करते हैं, इसलिए केवल वीएम को वास्तव में आवश्यक मेमोरी आवंटित की जाती है। उन्हें बाद के समय में वीएम / गेम को निलंबित करने और फिर से शुरू करने में सक्षम होने के एक खेल के लिए अतिरिक्त लाभ भी है, जो कि अधिकांश खेलों की बचत क्षमताओं से बहुत बेहतर है। आईपी ​​पर्वतमाला के लिए: यदि आपके पास उनमें से कई हैं तो उपरोक्त व्यावहारिक नहीं है, न ही एक प्रॉक्सी है।
harrymc

1
@harrymc मुझे संदेह है कि एक व्यक्ति वीपीएन का उपयोग करके वीपीएन से भ्रामक 3 डी प्रदर्शन प्राप्त करने में सक्षम होगा। और ग्राफिक्स कार्ड की प्रत्यक्ष पहुंच यह सेटअप करने के लिए मुश्किल है और इसके लिए वीटी-डी (इंटेल) या एएमडी-वीआई सक्षम सीपीयू (और वे सस्ते नहीं हैं) की आवश्यकता होती है।
बीटक्रैकर

इस तरह के सीपीयू आपके विचार से अधिक सामान्य हैं: IOMMU- सहायक हार्डवेयर की सूची , लेकिन पास-थ्रू वीडियो के लिए दो GPU की आवश्यकता हो सकती है। हालांकि, जब तक कि प्रदर्शन की आवश्यकताएं बहुत अधिक नहीं होती हैं, तब तक वीएम आजकल अच्छा वीडियो प्रदर्शन देता है। वीएम का उपयोग एक्शन गेम्स के लिए मेरा समाधान है, जो मेरे उन्नत जीपीयू को स्वीकार करने में परेशानी है, बिना ध्यान देने योग्य अंतराल का सामना किए। अधिकांश वीएम उत्पाद एमुलेटेड कार्ड के कुछ नियंत्रण की अनुमति देते हैं, जैसे कि वीडियो मेमोरी की मात्रा,
harrymc

2
इसका उत्तर हां है, और कुछ लोगों ने इसका प्रबंधन किया है। यहां एक संदर्भ दिया गया है: GPU VM के साथ Windows VM की स्थापना , लेकिन अधिक पाया जा सकता है।
harrymc 20

3

मान लें कि आपके पास दो विंडोज उपयोगकर्ता खाते हैं:

  • HomeUser
  • VpnUser

जब आप VpnUserखाते में प्रवेश करते हैं, तो आप अनुप्रयोगों (विशेष रूप से आपके द्वारा उल्लिखित गेम) HomeUser(शिफ्ट + आरएमबी पर निष्पादन योग्य फ़ाइल -> अन्य उपयोगकर्ता के रूप में चलाएँ) के रूप में चला सकते हैं और यह अनुप्रयोग उनकी बाल प्रक्रियाओं को चलाता है HomeUser। आपके द्वारा मानक तरीके से चलाए जाने वाले एप्लिकेशन (शॉर्टकट, निष्पादन योग्य फ़ाइल पर डबल-क्लिक) के स्वामित्व वाले होंगे VpnUser

जब आप विंडोज नेटवर्क कनेक्शन को परिभाषित करते हैं तो आपके पास अन्य उपयोगकर्ताओं को इस कनेक्शन का उपयोग करने की अनुमति देने का विकल्प होता है। मान लें कि आपने परिभाषित किया है:

  • HomeNetwork के लिए विशेष रूप से HomeUser
  • VpnNetwork के लिए विशेष रूप से VpnUser

और सरलीकरण के लिए:

  • आपके कंप्यूटर पर कोई अन्य नेटवर्क कनेक्शन नहीं हैं।

मेरे पास वर्तमान में एकल Windows मशीन है जिस पर मैं ज्यादा गड़बड़ नहीं कर सकता हूं और मैंने कभी भी वर्णित सेटिंग की जांच नहीं की है, इसलिए मुझे यकीन नहीं है कि अगर bellow स्टेटमेंट सही है।

मेरा अनुमान विंडोज़ अंतर्निहित वीपीएन क्लाइंट तक सीमित हो सकता है - किसी भी 3-आरडी पार्टी वीपीएन क्लाइंट को आगे की जांच की आवश्यकता होती है।

मुझे लगता है कि आवेदन:

  • द्वारा स्वामित्व VpnUserकेवल उपयोग करना चाहिए VpnNetwork
  • द्वारा स्वामित्व HomeUserकेवल उपयोग करना चाहिए HomeNetwork

यदि मेरी अटकलें सच हैं, तो जब आप VpnUserखाते में प्रवेश करते हैं तो आवेदन का उपयोग करेंगे VpnNetwork, जब खाते HomeUserसे चलने वाले अनुप्रयोगों का VpnUserउपयोग करना चाहिए HomeNetwork


मुझे नहीं पता तुम्हारा क्या मतलब है। क्या आप सुझाव दे रहे हैं कि मुझे अलग-अलग विंडोज यूजर अकाउंट का उपयोग करना चाहिए? यह कैसे विशिष्ट अनुप्रयोगों को बांधने में मदद करेगा? ऐसा लगता है कि आपका समाधान केवल सभी ऐप्स के लिए वीपीएन को सक्षम / अक्षम करने की अनुमति देगा, लेकिन मैं पहले से ही वीपीएन से कनेक्ट करके और इससे डिस्कनेक्ट कर सकता हूं।
विक्टर मरचुक

2
@VictorMarchuk मैंने अपना उत्तर संपादित कर लिया है - मुझे उम्मीद है कि यह अब और स्पष्ट है ...
g2mk

0

forcebindip.exe का उपयोग किया जा सकता है लेकिन आपको एक सहायक एप्लिकेशन (कोई अन्य विकल्प नहीं) कोड करना होगा।

  1. एप्लिकेशन अपने कमांड लाइन से प्राप्त मापदंडों को सहेजता है
  2. एप्लिकेशन को इसका नाम यानी XXXX.EXE मिलता है
  3. आवेदन XXX.ini को लोड करता है जिसमें शामिल है

    app_to_run = C:\path1\app_to_run.exe
    ForceBindIP = C:\path2\ForceBindIP.exe 
    IP          = 192.168.10.21
    
  4. अनुप्रयोग चलता है

    C: \ path1 \ app_to_run.exe 192.168.10.21 C: \ path1 \ app_to_run.exe सहेजा गया_कोमांड_लाइन

  5. आवेदन समाप्त होता है

समस्या: ForcebindIP कहलाने वाले प्रोग्राम को पैरामीटर पास नहीं करता है। फिर अगर आपको ऐप्पल_टाउन_run.exe के लिए मापदंडों को पास करने की आवश्यकता है, तो आपको अधिक विकसित दृष्टिकोण की आवश्यकता है जहां XXX.exe ऐप_to_run.exe सहित एक बैच फ़ाइल बनाता है और पैरामीटर्स पारित हो गया, इस बैच को फिर बिंदु 4 पर app_to_run.exe के बजाय कहा जाता है।

आप ForceIindIP को लपेटने वाले कुछ GUI ऐप पर भी नज़र डाल सकते हैं। उनमें से कुछ एक से अधिक ऐप के साथ काम करने में सक्षम हैं, लेकिन वे वह नहीं करते हैं जो आपको चाहिए।

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


क्या आपका मतलब है कि हेल्पर एप्लिकेशन एक चाइल्ड प्रोसेस बनाने के प्रयास को रोक देगा और इसके बजाय ForceBindIP के माध्यम से इसे चलाएगा? यदि हां, तो क्या आपको इस बारे में कोई सुझाव देना है?
विक्टर मरचुक

तुम सही हो। सहायक अनुप्रयोग में प्रत्येक लिपटे हुए निर्वासन का नाम होगा और यह ForceBind के माध्यम से संबंधित मूल Exe को समाप्त करेगा। बेशक आपको यहां कुछ नाम बदलने या डायरेक्टरी गेम की आवश्यकता है ताकि एक ही डायरेक्टरी के तहत एक ही नाम के साथ 2 एक्सिस से बचा जा सके। इस हेल्पर ऐप को आसानी से कोड किया जा सकता है यानी C
Pat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.