Перейти к содержанию

Подмена mac -адреса определённого процесса


Рекомендуемые сообщения

Добрый день!

Хотелось бы узнать мнение спецов, реально ли подменить mac -адрес определённого процесса, окна игры?

Например:

Запущено 4 окна (процесса) игры, каждый процесс производит TCP -обмен с разным mac -адресом.

Через гугл реализации такого на C++ или C# не нашёл, существуют примеры, но они подменяют физический адрес всей операционной системы в целом, а не TCP обмен определённого процесса.

Был бы рад, если кто-нибудь подсказал алгоритм реализации через WinAPI.

Ссылка на комментарий
Поделиться на другие сайты

На винде можно опуститься только до сетевого уровня.

Да и то, все равно геморра много: тебе придется перехватывать создание всех сокетов, чтобы установить им нужные параметры и делать еще кучу всякой хрени, потому что сам процесс будет работать с сокетом как с TCP, а на деле он "сырой", поэтому придется доделывать работу за него. И то это я сейчас так на глаз прикинул, не факт что получится. Скорее всего придется спускаться в ring0, но я не думаю что ты готов так далеко зайти.

Стремная тема короче, проще всего такое на линухе провернуть, там есть настоящая поддержка сырых сокетов, а не то убожество что на винде)

Либо копай под WinPcap, если свой драйвер не хочется делать. И правильно, потому что хрен ты подпишешь свой драйвер, даже проверку подписи отключить - та еще история.

Изменено пользователем uhx
Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, partoftheworlD сказал:

эмуляцией адаптера

Точняк.

Что-то у меня мания на хуки.

Хотя как он заставит процессы использовать виртуальный адаптер? 

Изменено пользователем uhx
Ссылка на комментарий
Поделиться на другие сайты

16 минут назад, uhx сказал:

Хотя как он заставит процессы использовать виртуальный адаптер? 

На винде точно не скажу, вроде бы никак, но можно будет адаптер использовать как мост между подключениями.

Как сделано это у виртуальных машин, например VMMare

Можешь в игре/программе поискать функцию getsockopt, она получает мак адрес адаптера(переменная Data) и подменить его на уровне игры.

 

skNum=socket(AF_IPX,SOCK_DGRAM,NSPROTO_IPX)
...
Data.adapternum=i-1;
iOpt=sizeof(Data);
getsockopt(skNum,NSPROTO_IPX,IPX_ADDRESS,reinterpret_cast<char*>(&Data),&iOpt)

 

Изменено пользователем partoftheworlD
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, partoftheworlD сказал:

Можешь в игре/программе поискать функцию getsockopt, она получает мак адрес адаптера и подменить его на уровне игры.

Спасибо, я уже и сам начал к этому склоняться, похоже, что для винды это единственно приемлемый вариант.

Тему наверное можно закрывать или оставить ещё на пару дней, вдруг ещё кто, что предложит.

 

Ссылка на комментарий
Поделиться на другие сайты

19 минут назад, partoftheworlD сказал:

AF_IPX

А при чем тут AF_IPX? TCP этож AF_INET, и Ethernet хедер в таком случае формируется в ядре, а не в игре. Я же сказал: на винде в ring3 ты не сможешь никак изменить Ethernet-хедер, поэтому ставить хуки в игре некуда, чтобы подменить мак. Только ядро.

Изменено пользователем uhx
Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, uhx сказал:

Ну в любом случае, это не прокатит.

Почему?

И ещё вопрос: Как найти значение mac -адреса через CheatEngine?

Чего-то никак не получается...

Изменено пользователем Merlin
раньше времени задел энтер
Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Merlin сказал:

Почему?

И ещ

Мне еще раз повторить, что в винде можно опуститься только до сетевого уровня?

39 минут назад, uhx сказал:

Ethernet хедер в таком случае формируется в ядре

 

39 минут назад, uhx сказал:

Я же сказал: на винде в ring3 ты не сможешь никак изменить Ethernet-хедер, поэтому ставить хуки в игре некуда

 

1 час назад, uhx сказал:

На винде можно опуститься только до сетевого уровня

Хммм... Почему же нельзя подменить мак на винде через юзермод?? Надо подумать. Кажется, uhx на что-то намекает.

a02cf86cda2b372dc8e6518ac794b5b1.jpeg

Изменено пользователем uhx
Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, uhx сказал:

Ты не пробиваем))

псто когда писал ещё не видел твой пост про юсер мод -_-

Изменено пользователем Merlin
забыл приставку не
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.