Вкратце суть проблемы: есть программа с привязкой к MAC-адресу.
Для каждого компьютера на основе MAC'a формируется "серийный" номер формата 120436 (№1).
Для него отдельной программкой генератором ключей формируется ключ вида 14504890429 (№2).
К программке-генератору ключей доступа нет.
При копировании софта на другую машину номер №1 меняется и исходный ключ №2 к нему уже не подходит. При смене MAC'а на машине на адрес той машины, с которой была скопирована программа, номер №1 меняется на исходный и ключ №2 подходит.
Предполагаю, что это какая-то стандартная библиотека для защиты программы и генерации ключей (прога на C#).
В связи с этим вопрос, можно ли для одной конкретной программы подменить MAC-адрес машины, чтобы она его "считывала" при запуске и генерировала "серийный номер" №1 тот, что нам надо? При том, что MAC для внешнего окружения (локальной сети) должен остаться таким же.
Если бы это был не управляемый код, то я предложил бы выяснить какой функцией из WinAPI программа получает MAC-адрес, выяснить в какой библиотеке она объявлена, скомпилировать прокси-библиотеку с таким же именем, в которой будет изменена только эта функция, и разместить ее в каталоге с EXE-файлом (у локально размещенной библиотеки есть приоритет над системными).
Еще раз уточню, если бы это был НЕ управляемый код. Тогда любой утилитой просмотра PE-формата, например TDUMP - Вас интересует секция импорта функций из библиотек
Еще раз спасибо за ответ, но, боюсь, я вообще не очень силен в этом (ровно половина вашего ответа для меня -- темный лес). Придется разбираться и "писать с нуля" свой KeyGen, видимо... :)