4x4x8 24 Опубликовано: 17 сентября, 2022 Я нашел метод подмены ID. Пишу одну либу, под свои нужды так сказать. Я просто задумался о самом простом и минимально затратном способе подмены ID и родил это: _G.backup = {} _G.backup.os = {} _G.backup.os.getComputerID = _G.os.getComputerID -- spoof computer id -- self.spoof_computer_id = function(id) if id then _G.os.getComputerID = function() return id end end sleep(1) end self.restore_computer_id = function() _G.os.getComputerID = _G.backup.os.getComputerID end 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ArlinArlindovna 0 Опубликовано: 17 сентября, 2022 н силен в программмировании, но вообще раньше пользовался программой для смены id и мак адреса иль это я про луну говорю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 17 сентября, 2022 8 минут назад, 4x4x8 сказал: Я нашел метод подмены ID. А для каких целей это может потребоваться? Что даёт смена ID? И почему эта программа находится в разделе сетевых технологий? При чём тут сети? Прокомментирую код: Я бы предпочёл не плодить лишние сущности, и объединил бы обе функции в одну. Если параметр id не пустой, то подменяем функцию, а в противном случае восстанавливаем её. И для чего использована задержка в 1 секунду? Какую задачу она решает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 17 сентября, 2022 6 минут назад, eu_tomat сказал: А для каких целей это может потребоваться? Что даёт смена ID? И почему эта программа находится в разделе сетевых технологий? При чём тут сети? Прокомментирую код: Я бы предпочёл не плодить лишние сущности, и объединил бы обе функции в одну. Если параметр id не пустой, то подменяем функцию, а в противном случае восстанавливаем её. И для чего использована задержка в 1 секунду? Какую задачу она решает? В разделе сетевых т.к. в основном айди применяются в реднете и прочих штуках. Задержку я забыл убрать. Смена айди может дать как "гибкость" сети так и перехватывать сообщения :/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 17 сентября, 2022 1 минуту назад, 4x4x8 сказал: Смена айди может дать как "гибкость" сети так и перехватывать сообщения А как подмена ID помогает перехвату сообщений? Ведь фактический ID компьютера остаётся прежним. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 17 сентября, 2022 (изменено) 1 минуту назад, eu_tomat сказал: А как подмена ID помогает перехвату сообщений? Ведь фактический ID компьютера остаётся прежним. неа, на скриншоте видно что все отправляется на подмененный айди, фактический айди заменяется т.к. редактируется функция os.getComputerID() Изменено 17 сентября, 2022 пользователем 4x4x8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 17 сентября, 2022 17 минут назад, 4x4x8 сказал: на скриншоте видно что все отправляется на подмененный айди А что изображено на скриншоте? Эмулятор что ли? Тогда вопрос: работает ли этот трюк в игре, или только в эмуляторе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 17 сентября, 2022 22 минуты назад, eu_tomat сказал: А что изображено на скриншоте? Эмулятор что ли? Тогда вопрос: работает ли этот трюк в игре, или только в эмуляторе? Насчет игры не знаю, но в теории да. Т.к. опять же - мы подменяем функцию _G.os.getComputerID которая используется для получения ID, т.е. фактический ID тоже меняется, а это значит что в игре это должно работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 17 сентября, 2022 2 часа назад, 4x4x8 сказал: фактический ID тоже меняется ComputerCraft использует для получения ID компьютера os.getComputerID изнутри песочницы? И данные компьютера действительно сохраняются в другую папку? Т.е., если сделать ID ../../../etc/ (не учитывая то, что ID числовые, конечно), то можно будет считать файл passwd из системы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 17 сентября, 2022 58 минут назад, ProgramCrafter сказал: ComputerCraft использует для получения ID компьютера os.getComputerID изнутри песочницы? И данные компьютера действительно сохраняются в другую папку? Т.е., если сделать ID ../../../etc/ (не учитывая то, что ID числовые, конечно), то можно будет считать файл passwd из системы? Честно, я не знаю. Под фактическим айди я имел ввиду тот айди к которому rednet/modem, а они обращаются к _G.os.getComputerID Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 17 сентября, 2022 Подтверждаю. Описанный автором трюк позволяет перехватывать сетевые сообщения, адресованные другим компьютерам. Сообщение, адресованное конкретному компьютеру, может быть получено любыми компьютерами: как имеющими настоящий ID, так и поддельные. Я тестировал с модом ComputerCraft1.75.jar для Minecraft 1.7.10. 1 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 17 сентября, 2022 Впрочем, нет. Подтверждаю частично. После перезагрузки компьютера с поддельным ID повторить этот опыт не удалось. Во-первых, ID после перезагрузки сбросился. Это было ожидаемо. Но после подмены ID этот компьютер вообще перестал принимать сообщения как на свой настоящий ID, так и на поддельный. Он теперь даже на широковещательные сообщения не реагирует. upd: Всё-таки подтверждаю полностью. Чтобы трюк работал, сначала следует подменить ID, и лишь затем открывать модем. Тогда всё работает. А если сделать наоборот, то целевой компьютер вообще теряет возможность принимать сообщения. Адрес отправителя можно подменить точно так же. 3 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах