{"id":22325876,"url":"https://github.com/falahati/networkadapterselector","last_synced_at":"2025-05-07T13:05:36.828Z","repository":{"id":41403696,"uuid":"56195878","full_name":"falahati/NetworkAdapterSelector","owner":"falahati","description":"A simple solution to let you force bind a program to a specific network adapter","archived":false,"fork":false,"pushed_at":"2021-11-09T13:18:18.000Z","size":316,"stargazers_count":235,"open_issues_count":17,"forks_count":39,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-07T13:05:31.455Z","etag":null,"topics":["bind","force-ip","ip","network","network-adapter"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/falahati.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-14T00:46:13.000Z","updated_at":"2025-05-07T12:07:09.000Z","dependencies_parsed_at":"2022-09-03T15:22:00.839Z","dependency_job_id":null,"html_url":"https://github.com/falahati/NetworkAdapterSelector","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falahati%2FNetworkAdapterSelector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falahati%2FNetworkAdapterSelector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falahati%2FNetworkAdapterSelector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falahati%2FNetworkAdapterSelector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/falahati","download_url":"https://codeload.github.com/falahati/NetworkAdapterSelector/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252883209,"owners_count":21819160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bind","force-ip","ip","network","network-adapter"],"created_at":"2024-12-04T02:14:15.479Z","updated_at":"2025-05-07T13:05:36.804Z","avatar_url":"https://github.com/falahati.png","language":"C#","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=ramin.graphix@gmail.com\u0026lc=US\u0026item_name=Donate\u0026no_note=0\u0026cn=\u0026curency_code=USD\u0026bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted"],"categories":[],"sub_categories":[],"readme":"# Network Adapter Selector\n[![](https://img.shields.io/github/license/falahati/NetworkAdapterSelector.svg?style=flat-square)](https://github.com/falahati/NetworkAdapterSelector/blob/master/LICENSE)\n[![](https://img.shields.io/github/commit-activity/y/falahati/NetworkAdapterSelector.svg?style=flat-square)](https://github.com/falahati/NetworkAdapterSelector/commits/master)\n[![](https://img.shields.io/github/issues/falahati/NetworkAdapterSelector.svg?style=flat-square)](https://github.com/falahati/NetworkAdapterSelector/issues)\n\n**THERE IS A PROBLEM WITH UNINSTALLER NOT WORKING, PLEASE DONT DOWNLOAD THIS TOOL IF YOU ARE NOT READY TO INSTALL THIRD PARTY APPLICATION TO REMOVE IT LATER**\n\nA solution containing an Injector to hook WinSock methods and bind the new connections to the specific network adapter along with a Shell Extension to simplifies the process of injecting the code into other programs.\n![Screenshot](/screenshot.jpg?raw=true \"Screenshot\")\n\n## How to get\n[![](https://img.shields.io/github/downloads/falahati/NetworkAdapterSelector/total.svg?style=flat-square)](https://github.com/falahati/NetworkAdapterSelector/releases)\n[![](https://img.shields.io/github/tag-date/falahati/NetworkAdapterSelector.svg?label=version\u0026style=flat-square)](https://github.com/falahati/NetworkAdapterSelector/releases)\n\nDownload the latest version of the program from the [releases](https://github.com/falahati/NetworkAdapterSelector/releases/latest) page.\n\n## Help me fund my own Death Star\n\n[![](https://img.shields.io/badge/crypto-CoinPayments-8a00a3.svg?style=flat-square)](https://www.coinpayments.net/index.php?cmd=_donate\u0026reset=1\u0026merchant=820707aded07845511b841f9c4c335cd\u0026item_name=Donate\u0026currency=USD\u0026amountf=20.00000000\u0026allow_amount=1\u0026want_shipping=0\u0026allow_extra=1)\n[![](https://img.shields.io/badge/shetab-ZarinPal-8a00a3.svg?style=flat-square)](https://zarinp.al/@falahati)\n[![](https://img.shields.io/badge/usd-Paypal-8a00a3.svg?style=flat-square)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=ramin.graphix@gmail.com\u0026lc=US\u0026item_name=Donate\u0026no_note=0\u0026cn=\u0026curency_code=USD\u0026bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted)\n\n**--OR--**\n\nYou can always donate your time by contributing to the project or by introducing it to others.\n\n## Command line parameters\nIf you are not interested in using the provided shell extension, you can always use the following command line parameters directly to manipulate running applications or start a new process.\n\n- `-d` `--debug`: Debug mode creates a log file in temp directory logging all activities of the injected code. [true, false]\n- `-n` `--network`: Identification string of the network adapter to bind.\n- `-a` `--attach`: Process identification number of the process to attach. **OR**\n- `-e` `--execute`: Address of the executable file to start.\n- `-c` `--args`: Arguments to be sent to the executable file.\n- `-t` `--delay`: Delay in milliseconds before trying to inject the code.\n\n#### Network Identification String\nNetwork identification string is the network GUID in `{00000000-0000-0000-0000-000000000000}` format, all uppercase. To get those you can run the following commands in the CMD to start the \"Wired AutoConfig\" and \"WLAN AutoConfig\" services and list network adapters:\n```Shell\nnet start \"Wired AutoConfig\"\nnet start \"WLAN AutoConfig\"\nnetsh lan show interfaces\nnetsh wlan show interfaces\n```\n\nOr use the following code in a PowerShell window that uses .Net libraries to produce a similar result:\n```Shell\n[System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()\n```\n\nAlso, you can use the registry and read them from the following path directly:\n```\nHKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\NetworkCards\n```\n\n#### Examples\nAttaching to an already running process: (PID `1234`)\n```Shell\nNetworkAdapterSelector.Hook.exe --network \"{ABCDEFGH-0000-0000-0000-000000000000}\" --attach 1234\n```\n\nStarting a new instance of `notepad.exe` and attaching to it after one second:\n```Shell\nNetworkAdapterSelector.Hook.exe --network \"{ABCDEFGH-0000-0000-0000-000000000000}\" --execute \"C:\\Windows\\System32\\notepad.exe\" --delay 1000\n```\n\n## Technology\nBoth parts of the solution are in pure C# using EasyHook library and SharpShell framework. It was a little experiment to see how stable is EasyHook and how SharpShell can perform in terms of performance.\n\n## License\nCopyright (C) 2017-2020 Soroush Falahati\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalahati%2Fnetworkadapterselector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffalahati%2Fnetworkadapterselector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalahati%2Fnetworkadapterselector/lists"}