ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

Как ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу (сСтСвой ΠΊΠ°Ρ€Ρ‚Π΅) Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ слишком часто. Π’ Ρ‚ΠΎΠΌ случаС, Ссли ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π΄Π²ΡƒΠΌ (ΠΈ Π±ΠΎΠ»Π΅Π΅) подсСтям, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Ethernet кабСль ΠΈ ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ сСти Ρ‡Π΅Ρ€Π΅Π· Wi-Fi, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€) ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ интСрфСйс?

Windows ΠΏΡ€ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° систСмах с нСсколькими сСтСвыми интСрфСйсами Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ интСрфСйс, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΠ»Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² соотвСтствии со своСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ позволяСт Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ сСтСвой интСрфСйс. РСшСниС ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° всС Ρ€Π°Π²Π½ΠΎ остаСтся Π·Π° ОБ.

Π’ ΠΌΠΎΠ΅ΠΌ случаС для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ привязки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ сСтСвой ΠΊΠ°Ρ€Ρ‚Π΅, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ стороннСС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ своих изысканиях я остановился Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ ForceBindIP (http://www.r1ch.net/stuff/forcebindip/). РазбСрёмся, ΠΊΠ°ΠΊ Сю ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ установлСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Visual Studio 2015 Runtime).

Архив с Portable вСрсиСй ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ содСрТит 4 Ρ„Π°ΠΉΠ»Π°:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ΄Π½Π° ΠΏΠ°Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для x86 ОБ/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, другая – для x64.

ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Firefox Π½Π° x64 Π±ΠΈΡ‚Π½ΠΎΠΉ ОБ являСтся 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, поэтому для Π΅Π³ΠΎ привязки ΠΊ сСтСвой ΠΊΠ°Ρ€Ρ‚Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ForceBindIP.exe. Π’ Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ для RDP ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (mstsc.exe) Π½Π° x64 придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ForceBindIP64.exe

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ForceBind:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас имССтся 2 сСтСвыС ΠΊΠ°Ρ€Ρ‚Ρ‹ с IP адрСсами 10.10.1.10 ΠΈ 192.168.1.12. Наша Π·Π°Π΄Π°Ρ‡Π°, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Firefox всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‚ΠΎΡ€ΠΎΠΉ интСрфСйс.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° запустит Firefox Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ привязки ΠΊ сСтСвой ΠΊΠ°Ρ€Ρ‚Π΅ 192.168.1.12:

ForceBindIP.exe 192.168.1.12 «c:\Program Files (x86)\Mozilla Firefox\firefox.exe»

Если IP адрСс интСрфСйса динамичСский, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ привязку Π½Π΅ ΠΊ IP адрСсу, Π° ΠΊ GUID интСрфСйса (GUID всСх сСтСвых интСрфСйсов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π²Π΅Ρ‚ΠΊΠ΅ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° прилоТСния ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

пусковая установка запускаСт ΠΏΠ°Ρ‚Ρ‡Π΅Ρ€, ΠΏΠ°Ρ‚Ρ‡Π΅Ρ€ запуститС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ Ρ‚. Π΄. Π― ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° родитСля всСх этих процСссов Π² Π΄Π΅Ρ€Π΅Π²Π΅, поэтому фактичСская ΠΈΠ³Ρ€Π° Π½Π΅ привязана ΠΊ интСрфСйсу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ всС это прСдприятиС бСссмыслСнным.

Π΅ΡΡ‚ΡŒ Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ соврСмСнная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ForceBindIP для Windows 7? На этом сайтС Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вопросов, ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Π½Π° этот, Π½ΠΎ ΠΎΠ½ΠΈ Π² основном старыС. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, сСйчас Π΅ΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ?

моя тСкущая идСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ слСдованиС:

Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ 3proxy сСрвСр, привязанный ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ интСрфСйсу.

Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Ρ‡Π΅Ρ€Π΅Π· Proxifier ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, настроСнноС для запуска Ρ‡Π΅Ρ€Π΅Π· этот Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ прокси.

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это сработаСт, Π½ΠΎ Π΄Π°ΠΆΠ΅ Ссли это Π±ΡƒΠ΄Π΅Ρ‚, это каТСтся Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Π£ вас Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅?

Edit: моя идСя Π½Π΅ сработала: (

Edit 2: Π² основном, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ это ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ интСрфСйсу, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ VPN Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· VPN Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ³Ρ€Ρ‹) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ·-Π·Π° Π±ΠΎΠ»Π΅Π΅ высокого ΠΏΠΈΠ½Π³Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

5 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ForceBindIp фактичСски ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ. Π­Ρ‚ΠΎ просто опускаСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» свой скрипт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ForceBindIp.exe вмСсто ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΎΡ€Π° ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это выглядит ΠΊΠ°ΠΊ всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с injectory ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ исчСзли, ΠΈ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π²ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ шаги ΠΈ BindIp.cmd сцСнарий:

ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ForceBindIp ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ

ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ BindIp.cmd Π² любом мСстС вашСго диска (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C:\BindIp\BindIp.cmd )

Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаги 2-6 снизу.

Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ForceBindIp Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски впрыскиваСт BindIp.dll Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ процСссам ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ. Но я смог ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ выполнСния Ρ„Π°ΠΉΠ»Π° изобраТСния Π² рССстрС, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ скрипт ΠΈ сторонниС DLL ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΎΡ€. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π½ΠΈΠΆΠ΅.

тСория

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ BindIp.dll Π±Π΅Π· ForceBindIp.exe Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ( ForceBindIp.exe Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ IP-адрСс dll).

для обнаруТСния запуска Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ прилоТСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Debugger ΠΊΠ»ΡŽΡ‡ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ выполнСния Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ€Π°Π·Π° Π² рССстрС Π½Π° этот Ρ„Π°ΠΉΠ»:

Kernel32!CreateProcess ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π΅Π· DEBUG_PROCESS ΠΈΠ»ΠΈ DEBUG_ONLY_THIS_PROCESS Ρ„Π»Π°Π³ΠΈ создания, провСряСт рССстр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ссли IFEO Π±Ρ‹Π» установлСн Π½Π° исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ запускаСт. Если Π΄Π°, Ρ‚ΠΎ ΠΎΠ½ просто добавляСт ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΊ ΠΈΠΌΠ΅Π½ΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π°, эффСктивно ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» для запуска Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅.

ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Π³Π΄Π΅-Ρ‚ΠΎ ( C:\BindIp Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ эти Ρ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° Π² это:

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ этому ΠΊΠ»ΡŽΡ‡Ρƒ:

Grant Users ΠŸΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Π½Π° этот ΠΊΠ»ΡŽΡ‡ (скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС). Она Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

ПанСль запуска запускаСт ΠΏΠ°Ρ‚Ρ‡Π΅Ρ€, ΠΏΠ°Ρ‚Ρ‡Π΅Ρ€ запускаСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ Ρ‚. Π”. Π― ΠΌΠΎΠ³Ρƒ Π²Π»ΠΈΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° родитСля всСх этих процСссов Π² Π΄Π΅Ρ€Π΅Π²Π΅, поэтому настоящая ΠΈΠ³Ρ€Π° Π½Π΅ привязана ΠΊ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΌΡƒ интСрфСйсу, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ всС это бСссмыслСнным.

Π•ΡΡ‚ΡŒ Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ соврСмСнная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ForceBindIP для Windows 7? На этом сайтС Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вопросов, ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Π½Π° этот, Π½ΠΎ ΠΎΠ½ΠΈ Π² основном старыС. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ?

Моя тСкущая идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

НастройтС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр 3proxy, связанный с ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ интСрфСйсом.

ЗапуститС ΠΈΠ³Ρ€Ρƒ Ρ‡Π΅Ρ€Π΅Π· Proxifier ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, настроСнноС для запуска Ρ‡Π΅Ρ€Π΅Π· этот Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ прокси.

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это сработаСт, Π½ΠΎ Π΄Π°ΠΆΠ΅ Ссли это сработаСт, это каТСтся Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. РСбята, Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅?

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: моя идСя Π½Π΅ сработала πŸ™

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 2: По сути, я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ привязки Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ интСрфСйсу Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ VPN. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· VPN Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ³Ρ€Ρ‹) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·-Π·Π° Π±ΠΎΠ»Π΅Π΅ высокого ΠΏΠΈΠ½Π³Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ

Π’ΠΎΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ шаги ΠΈ BindIp.cmd скрипт:

УстановитС ForceBindIp ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Π² BindIp.cmd любоС мСсто Π½Π° вашСм дискС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ C:\BindIp\BindIp.cmd )

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаги 2-6 снизу.

ВступлСниС

тСория

Для использования BindIp.dll Π±Π΅Π· ForceBindIp.exe нас Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ( ForceBindIp.exe Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ dll-адрСс Π² dll).

Π― использовал IDA free ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ForceBindIp.exe создаСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды с ΠΈΠΌΠ΅Π½Π΅ΠΌ, FORCEDIP которая содСрТит IP-адрСс ΠΈ BindIp.dll считываСт IP-адрСс ΠΈΠ· этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° вводится ΠΈ выполняСтся Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ процСссС.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ запуск Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ прилоТСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Debugger ΠΊΠ»ΡŽΡ‡ Π² опциях исполнСния Ρ„Π°ΠΉΠ»Π° ΠΎΠ±Ρ€Π°Π·Π° Π² рССстрС для этого исполняСмого Ρ„Π°ΠΉΠ»Π°:

Kernel32! CreateProcess, ΠΊΠΎΠ³Π΄Π° вызываСтся Π±Π΅Π· Ρ„Π»Π°Π³ΠΎΠ² создания DEBUG_PROCESS ΠΈΠ»ΠΈ DEBUG_ONLY_THIS_PROCESS, провСряСт рССстр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π±Ρ‹Π» Π»ΠΈ установлСн IFEO Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ запускаСт. Если Π΄Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ просто добавляСт ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΊ ΠΈΠΌΠ΅Π½ΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π°, фактичСски выполняя запуск исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΠ΄ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ.

ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ( C:\BindIp Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) ΠΈ помСститС эти Ρ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Π½Π΅Π΅:

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ этому ΠΊΠ»ΡŽΡ‡Ρƒ:

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Users ΠΏΠΎΠ»Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для этого ΠΊΠ»ΡŽΡ‡Π° (скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС). Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

ПанСль запуска запускаСт ΠΏΠ°Ρ‚Ρ‡Π΅Ρ€, ΠΏΠ°Ρ‚Ρ‡Π΅Ρ€ запускаСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ Ρ‚. Π”. Π― ΠΌΠΎΠ³Ρƒ Π²Π»ΠΈΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° родитСля всСх этих процСссов Π² Π΄Π΅Ρ€Π΅Π²Π΅, поэтому настоящая ΠΈΠ³Ρ€Π° Π½Π΅ привязана ΠΊ интСрфСйсу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ всС это бСссмыслСнным.

БущСствуСт Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ соврСмСнная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ForceBindIP для Windows 7? На этом сайтС Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вопросов, ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Π½Π° этот, Π½ΠΎ ΠΎΠ½ΠΈ Π² основном старыС. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ?

Моя тСкущая идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

НастройтС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр 3proxy, привязанный ΠΊ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΌΡƒ интСрфСйсу.

ЗапуститС ΠΈΠ³Ρ€Ρƒ Ρ‡Π΅Ρ€Π΅Π· Proxifier ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, настроСнноС для запуска Ρ‡Π΅Ρ€Π΅Π· этот Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ прокси.

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это сработаСт, Π½ΠΎ Π΄Π°ΠΆΠ΅ Ссли это сработаСт, это каТСтся Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Π£ вас, рСбята, Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅?

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: моя идСя Π½Π΅ сработала πŸ™

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 2: По сути, я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ привязки Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ интСрфСйсу Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ VPN. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· VPN Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ³Ρ€Ρ‹) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·-Π·Π° Π±ΠΎΠ»Π΅Π΅ высокого ΠΏΠΈΠ½Π³Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Update

I’ve found that ForceBindIp in fact is passing parameters to the called executables. It just omits first parameter. So I’ve modified my script to use ForceBindIp.exe instead of custom injector and now it looks like all issues with injectory exceptions are gone and everything works.

Here is modified steps and BindIp.cmd script:

Install ForceBindIp as usual

Put BindIp.cmd anywhere on your drive (e.g. C:\BindIp\BindIp.cmd )

Then follow steps 2-6 from below.

Introduction

ForceBindIp can’t automatically inject BindIp.dll to child processes and doesn’t pass parameters to the called executables. But I was able to circumvent this by using Image File Execution Options in registry, batch script and third-party dll injector. Details are below.

Theory

To use BindIp.dll without ForceBindIp.exe we need to find out how they communicate ( ForceBindIp.exe has to pass IP-address to dll somehow).

I’ve used IDA free and found that ForceBindIp.exe creates environment variable with name FORCEDIP that holds IP-address and BindIp.dll reads IP-address from this variable when it injected and executed in target process.

To detect target application launch, we can add a Debugger key in the Image File Execution Options in registry for this executable:

Kernel32!CreateProcess when called without the DEBUG_PROCESS or DEBUG_ONLY_THIS_PROCESS creation flags, checks the registry to see if IFEO has been set on the executable that it is launching. If yes, then it simply prepends the debugger path to the executable name, effectively getting the executable to launch under the debugger.

Practice

Create folder somewhere ( C:\BindIp for example) and put those three files in it:

Add String Value to this key:

Grant Users Full permissions on this key (the script will have to modify it at every launch). It should look like this: ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

Set required IP-address in BindIp.cmd

Now, every time when you launch executable that has corresponding registry entry, the BindIp.cmd script will launch instead and bind this program to desired IP-address.

Conclusion

I’ve tested this on my laptop running Windows 8.1 x64 and was able to successfully bind various programs (AIMP 2, BersIRC, Opera 12.4) to Ethernet or WiFi adapter using this technique. Unfortunately BindIp.dll is 32-bit, so it wouldn’t work with 64-bit processes.

I’ve found that HideMyAss! VPN client has Secure IP Bind feature that allows to bind applications to VPN interface:

Secure IP Bind enables you to force selected applications on your computer to only work once connected to our VPN servers. This ensures selected applications will only work behind a secure encrypted connection. If you open selected applications without being connected to our VPN, they won’t be able to access the internet.

I’ve looked at it and it’s based on a custom Layered Service Provider (LSP) dll and COM interface to control it. And it can be (ab)used without installing HideMyAss’ VPN client.

Installing HideMyAss’ Secure IP Bind

Copy those three files to a folder on your disk ( C:\HMA_Bind )

Put Install.cmd and Uninstall.cmd to this folder

Install.cmd

Uninstall.cmd

ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу

First, you have to create new Secure IP Bind object:

And then you can call it’s methods:

Uninstalling HideMyAss’ Secure IP Bind

Examples:

Note, that you have to create secure IP Bind COM object only once per PowerShell session. Examples below assume that you execute them in a new PowerShell session, so they always create new COM object.

Set IP to bind to, add firefox to bound applications, enable binding.

Globally enable IP binding:

Globally disable IP binding:

Remove application from list (stop binding for this application):

Notes

Because Secure IP Bind implemented as a custom Layered Service Provider (LSP) dll, those limitations apply:

LSPs have been deprecated since Windows Server 2012. Systems that include LSPs will not pass the Windows logo checks. Windows 8 style «metro» apps that use networking will automatically bypass all LSPs.

I’ve tested this method with various applications with mixed results: 32-bit applications work, but 64-bit not, i.e. I was able to bind 64-bit Explorer (probably because it’s tab processes are 32-bit by default), but not 64-bit Waterfox browser or other 64-bit applications.

I can think of two solutions to the problem :

Create a virtual machine for running the game, which only uses the one network adapter.

If you know the range of IP addresses that the game uses, construct a network route that directs this range toward the gateway of the specific adapter.

I can add more information once I know your preferences. For example, in point 1 your preferred virtual machine product.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи Windows:

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ сСтСвых ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Windows Ρƒ вас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ:

Π’ настоящСС врСмя Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° машина Windows, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ, ΠΈ я Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ провСрял ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ настройку, поэтому я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Π²Π΅Ρ€Π½ΠΎ Π»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½ΠΈΠΆΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ прилоТСния:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ сСтСвыС интСрфСйсы для Ρ€Π°Π·Π½Ρ‹Ρ… процСссов?

Π£ мСня Π΅ΡΡ‚ΡŒ Π΄Π²Π° сСтСвых интСрфСйса Π½Π° ПК с Linux, ΠΈ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ процСсс.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (софтфон Twinkle) Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ, поэтому я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна β€‹β€‹Π²Π½Π΅ΡˆΠ½Π΅.

Как я ΠΌΠΎΠ³Ρƒ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: я Π½Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ процСсс сСрвСра ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ интСрфСйсу, Π° Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ клиСнтская ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡΠ²ΡΠ·Ρ‹Π²Π°Π»Π°ΡΡŒ с сСрвСром Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс.

ΠΈ Ρ‚Π΅ΠΌ самым Π²Ρ‹ мСняСтС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ls Π΄Π΅Π»Π°Π΅Ρ‚.

Π²ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ это строитС:

ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Ρ…Π°ΠΊΠΈ ΠΈ инструмСнты:

ip netns ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

ΠŸΠžΠ”Π ΠžΠ‘ΠΠ•Π•:

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ привязка ip Ρ‡Π΅Ρ€Π΅Π· LD_PRELOAD? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ LD_PRELOAD Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ процСссами. Он Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚.

И ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс, зарСгистрированный для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°. (А это Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ)

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ процСсс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ с ipchain / iptables ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅Ρ‚ ваш процСсс, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· @olivervbk ΠΎΡ‚Π²Π΅Ρ‚ Π½ΠΈΠΆΠ΅ ΠΌΠΎΠΉ!

ЗапуститС всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠ°ΠΊ Β«rootΒ».

. Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сСтСвого интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

. Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ сущСствуСт.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» брандмауэра iptables, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ входящий Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Π΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚Ρ‹ Π½Π° интСрфСйсах, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» Π²ΠΈΠ΄Π΅Π½, являСтся самым простым Π΄Π΅Π»ΠΎΠΌ.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° I:

ИспользованиС ld_preload для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки шлюза интСрфСйса https://github.com/Intika-Linux-Network/App-Route-Jail

Π—Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСтСвой интСрфСйс

Нам Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ шлюз ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сСтСвой интСрфСйс, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ этот шлюз для нашСго прилоТСния, находящСгося Π² Ρ‚ΡŽΡ€ΡŒΠΌΠ΅, ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСтСвому интСрфСйсу.

На шлюз прилоТСния

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° II:

Firejail https://firejail.wordpress.com/ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ, Π½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° использовала интСрфСйс, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ сСрвСру, для связи с этим сСрвСром? И Ссли систСма Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ интСрфСйс, связанный с сСрвСром, для связи с этим сСрвСром, это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° систСмного уровня (Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ), ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊΠΎΠΉ процСсс Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с этим сСрвСром.

Π Π°Π·Π½Ρ‹Π΅ сСрвСры Π² IP-сСтях ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ IP-адрСса. Π―Π΄Ρ€ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ интСрфСйс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для достиТСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ IP-адрСса Π½Π° основС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ связь с двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ сСрвСрами с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ IP-адрСсом, систСма Π±ΡƒΠ΄Π΅Ρ‚ сбита с Ρ‚ΠΎΠ»ΠΊΡƒ (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, ΠΎΠ½Π° индСксируСт соСдинСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ адрСсу). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, Π½ΠΎ это исправлСниС Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ систСмы, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСрвСра Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ΅Ρ‚ΡŒ, которая ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ NAT.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Ρƒ Π½ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ IP-адрСса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс. Если Ρƒ Π½ΠΈΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ IP-адрСс, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ NAT, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ IP-адрСса для систСмы.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *