Возможно ли эмулировать данные о компьютере отдельно для определённой программы?
Возникла потребность написать софт, эмулирующий Machine ID, HWID только для определённой программы. То есть не замена айди, как это делают известные программы, а просто эмуляция, чтобы программа считывала заранее записанные данные пк. Также в перспективе желательна эмуляция других характеристик компьютера (процессор, в принципе железо, ОС, и так далее).
Возможно ли такое не особо сильно углубляясь в низкоуровневое программирование, и не используя виртуальные машины и с помощью чего это можно реализовать? Куда копать?
У меня есть много претензий к правообладателям. Но я-бы никогда не стал делать всякие кряки или помогать кому-то обходил лицухи. Я по духу больше созидатель чем ломатель. Вандализм вызывает у меня неприязнь.
mayton2019, а вот я стараюсь пиратить как можно больше контента. И я всё ещё не понимаю, почему мне на стим не пришли мои 500 рублей с процентами за cs go, которую я честно купил.
Для чтения данных о компьютере программа использует системные библиотеки. Для эмуляции надо эти системные вызовы подменить. Сделать это можно разными способами: модифицировать библиотеки, модифицировать системные вызовы внутри программы и тп. Гуглить, наверное, проще в сторону dll inject.
без использования виртуальных машин это будет невозможно, это и есть основное их назначение.
еще такой софт называют гипервизор, и специалисты могут запилить специализированный (на одну маленькую функцию типа подмена id) очень маленький, влезающий к примеру в биос материнской платы (так пилят трояны, заражающие биос и ничем больше не вычищаемые кроме выпаивания микросхемы)
Вероятно, проще использовать виртуальную машину, например, VirtualBox, переконфигурировав идентификаторы оборудования на образе виртуальной машины.
Гуглите как ставить Mac OS, если у вас нету железа от Apple, там как раз хорошо расписаны этапы, как сделать виртуальное железо валидным для проприетарной ОС.