Сейчас на форуме: jinoweb (+6 невидимых)

 eXeL@B —› Программирование —› Изменение драйвера или эмуляция железа на уровне системы
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 мая 2016 19:51
· Личное сообщение · #1

Всем привет.
Ситуация следующая. Нужно подменить(эмулировать) видеокарту(пока только ее:s1 в виртуальной машине(VmWare). При том не просто изменить название ее в диспетчере, а подменить ее на уровне системы(чтобы компьютер думал, что у него действительно другая видеокарта).
Что было сделано:
1) Изменение inf файла драйвера(это дало изменения названия видеокарты и производителя в реестре и диспетчере устройств)
2) Перешарены все сайты, ни у кого не было подобного вопроса
3) Найден способ с реальной видеокартой(перепрошивка ее программатором и изменение кристалла), но у нас то видеокарта "Программная", так что не подходит.
На этом этапе серое вещество в голове мне подсказало что здесь поможет только переписывание(изменения) драйвера. Как это сделать не знаю. Я так понял, что чтобы изменить драйвер, нужно иметь исходники, только кто мне их даст(или они есть где то?) Или же написать драйвер с нуля? Короче ребят я маленько запутался, если говорю не правильно подправьте меня. Можно ли взять и отредактировать этот драйвер? Сейчас проблема в идентификаторах устройства, а точнее pci, ven, dev, VideoID и т.д. Их не подменить с помощью inf файла(или я не знаю как). Насколько трудоемкая эта задача и какими знаниями надо обладать чтобы справиться с ней? Если мне самому не удастся решить эту проблему, сколько может стоить это решение? Заранее благодарен)




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 10 мая 2016 20:35
· Личное сообщение · #2

нужно засунуть большой шарик в квадратное отверстие, при этом что бы шарик не сломался
что было сделано
1) красил шарик другим цветом, не помогло, все равно не влазит
2) гуглил, в гугле пишут ни у кого не получилось
3) можно сточить шарик до меньшего размера, он влезет, но это не подходит
.......... можно продолжать дальше

намек поняли ? начинать надо не с шарика а с того, а нахрен это надо вообще ? может проблема в голове, а не в шарике ?

| Сообщение посчитали полезным: connect6, ntldr

Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 06:16
· Личное сообщение · #3

Ну, во-первых в гугле вообще ничего не пишут. Во-вторых, вы хотите сказать,что у меня не в порядке с головой? В третьих, если это вам поможет, что вряд ли, то это нужно для скрытия виртуальной машины. И что дальше? Это изменило первоначальную задачу? По моему ни капельки




Ранг: 95.2 (постоянный), 26thx
Активность: 0.060
Статус: Участник

Создано: 11 мая 2016 07:47 · Поправил: inf1kek
· Личное сообщение · #4

ну для детекта виртуалки способ найдется и помимо видеокарты.
Не проще ли воевать не с виртуалкой, а с самим софтом?



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 11 мая 2016 09:14
· Личное сообщение · #5

Про это даже обучающий ролик сняли.

-----
старый пень


| Сообщение посчитали полезным: VodoleY, DenCoder, r99

Ранг: 21.0 (новичок), 19thx
Активность: 0.010.03
Статус: Участник

Создано: 11 мая 2016 10:58
· Личное сообщение · #6

подозреваю, что это нужно для подмены hwid в онлайн играх



Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 11:37
· Личное сообщение · #7

Ребята, нет это не связанно с онлайн играми и нет не проще воевать с софтом. По сути да, нужно подменить hwid видеокарты. Да я знаю что есть много параметров и это не одна видеокарта, но написал я это не от балды. Забудьте про виртуалку, скажите мне можно ли редактировать готовый драйвер, или нужно писать новый заново для изменения того чего я перечислил в первом посте. После ответа на вопрос, я скажу следующий. Про ролик поржал, спасибо))) Но к нашей задачи он отношение не имеет, увы)) Особенно момент про котенка понравился, умора прям)))




Ранг: 56.2 (постоянный), 14thx
Активность: 0.120
Статус: Участник

Создано: 11 мая 2016 11:39
· Личное сообщение · #8

хм может нужно искать утилиту подобной этой - 3D-Analyze - Программа для настройки и эмуляции
некоторых параметров мощных видеокарт.только что то по новее за 2016 год ,а та мне самому интересно увидеть такую утилиту которая могла эмулмровать видеокарты,hdd,cup



Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 12:15
· Личное сообщение · #9

Все бы ничего с этой программой, но она работает по принципу некой перепрошивки exe файла и подсовывания ему параметров которых мы хотим. cpu и hdd мне не важны, но если понять принцип как изменить или написать новый драйвер(зависит от того, что можно сделать, или то или то), то можно написать(заказать) программу которая будут вставлять твои значения куда надо и автоматом все изменять(это касается не только видеокарты, а всего компьютерного оборудования), но по факту мне и не в падлу ручками все изменить в драйвере))) Ибо за такую программу денег еще придется отдавать))) Есть у кого ответ на вопрос: "можно ли взять и изменить готовый драйвер, или нужно писать новый?"



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 11 мая 2016 12:28
· Личное сообщение · #10

Чем вам поможет изменение драйвера?
Карта (как и все PCI устройства) детектится по VID/PID (Vendor ID/Product ID).
И именно по ним система определяет драйвер для этой железки или нет - соответствие VID/PID железа с VID/PID в *.inf файле.
Менять надо VID/PID железа чтобы оно детектилось как другое устройство (можно только PID).
В вашем случае менять надо код или бинарь виртуалки.
И после всех этих танцев вы получите устройство, на которое дрова ставиться не будут из-за несоответствия VID/PID.
Правда их в *.inf поправить можно.
Короче если действительно надо то что вы описали - надо копать виртуалку.
VirtualBox например opensource...



Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 12:47
· Личное сообщение · #11

Спасибо!!! Наконец то четкий ответ! Все прямо и без всякой мути! Я думал что драйвер мне поможет сделать то, что я описал. По сути драйвер говорит как работать определенному устройству, почему же нам не заставить драйвер еще и сказать, что vid и pid у нас будет другой(но только для показа) на самом деле они такие же. Про "бинарь и код виртуалки" можно пожалуйста поподробней, как это делается, только с VmWare. Заранее благодарен!



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 11 мая 2016 12:56
· Личное сообщение · #12

VID/PID системе сообщает не драйвер устройства, а драйвер шины.
В случае с видяхой это драйвер PCI.
По идее можно в нём подменить VID/PID получаемые от устройства.

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



Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 13:04
· Личное сообщение · #13

Вы бы взялись за такую задачу? Сколько вообще это может стоить? При том что нужно объяснить как и где это изменили, чтобы я сам мог потом менять (или написать программу чтобы ты вставлял свои значения, а она все меняла).



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 11 мая 2016 13:17
· Личное сообщение · #14

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

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 11 мая 2016 13:35
· Личное сообщение · #15

Pindos пишет:
Про "бинарь и код виртуалки" можно пожалуйста поподробней, как это делается, только с VmWare. Заранее благодарен!

с VmWare не получиться, ибо код закрытый и собрать свою виртуалку с нужными вам параметрами вы не сможете. С VBox прокатит - но там надо сидеть и компилировать. + с vbox если соберете вы получите + возможность подменять совершенно любое железо. А с VmWare может получиться так что и пропатчить то не получиться ( vbox имеет такую защиту что патчить приходиться из драйвера ).



Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 14:41
· Личное сообщение · #16

"Для начала бери открытую виртуалку, например qemu. На базе нее методично устраняй все детекты."Признаюсь, идея хорошая))) Но такими темпами я решу проблему месяца через 3))) Нужно бы побыстрее.

"с VmWare не получиться, ибо код закрытый и собрать свою виртуалку с нужными вам параметрами вы не сможете. С VBox прокатит - но там надо сидеть и компилировать. + с vbox если соберете вы получите + возможность подменять совершенно любое железо. А с VmWare может получиться так что и пропатчить то не получиться ( vbox имеет такую защиту что патчить приходиться из драйвера ). " Про подмену всего железа это очень заманчиво))) По сути vbox по функционалу ни чем не отличается от vmware, свою задачу выполняет. Получается берем vbox и в настройках(в исходном коде) переделываем все параметры под мои? Или все равно придется писать драйвер? Раз вы пишите, что патчить нужно из драйвера. Скорее всего моих знаний чтобы это сделать не хватит, все равно нужен человек который это сделает и объяснит где и что он подменил, или я ошибаюсь?




Ранг: 106.9 (ветеран), 27thx
Активность: 0.080
Статус: Участник

Создано: 11 мая 2016 14:48
· Личное сообщение · #17

Почему бы просто не похукать выдачу hwid и почти любой прикладной софт будет получать то что требуется. Задачу сформулировал херово, а ответ требуешь четкий. Какой вопрос, такой ответ.




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 11 мая 2016 15:04
· Личное сообщение · #18

На самом деле! Подмена значений функций сбора HWID - самое простое решение! Вот только cpuid проблемно будет подделать

Добавлено спустя 1 минуту
Не помню, что-то было вроде здесь по подмене результатов cpuid в VMWare...

-----
IZ.RU




Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 15:06
· Личное сообщение · #19

Почему бы просто не похукать выдачу hwid и почти любой прикладной софт будет получать то что требуется. Задачу сформулировал херово, а ответ требуешь четкий. Какой вопрос, такой ответ. - Я не знаю как именно решить эту проблему, и поэтому предположил и сказал про драйвер (это не первый форум куда я обращаюсь за помощью, но первый форум который дал мне нормальный ответ, остальные лишь жевали сопли и говорили всякую херню, поэтому я попытался разжевать задачу и предложил ее предположительное решение). Ты имеешь ввиду перехватить пакеты и подсунуть свои? Если я правильно тебя понял, то по такому принципу работает множество "антидетектов", именно таким образом они "изменяют железо". Еще раз повторюсь, что дело не в софте, который нужно запустить в виртуалке, принцип примерно такой, как сказал soft, но это не относиться к онлайн играм, а суть та же. Я много что попробовал, и с уверенностью могу сказать, что тут всякие фокусы(типа изменения параметров реестра или название в диспетчере не пройдут). Нужен именно грамотный подход, с изменением железа "системно", чтобы все было так, как будто у меня оно стоит в компьютере.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 11 мая 2016 15:23
· Личное сообщение · #20

вам надо - вы и делаете
хотите что бы вам сделали, идете в тему по поиску специалитов,
там заполняете заявку, нескромно ставите бюджет в пару тыщ зеленых и ждете кандидатов на исполнения ваших прихотей
а то флуд ниочем



Ранг: 60.6 (постоянный), 87thx
Активность: 0.060
Статус: Участник

Создано: 11 мая 2016 15:47
· Личное сообщение · #21

1. Качаете исходный код VirtualBox https://www.virtualbox.org/wiki/Downloads
2. Грепаете 80ee,beef по коду
3. Меняете на свой
4. Настраиваете сборочную среду и делаете свою сборку
5. ...
6. Профит

Возможно только в файле ./include/VBox/param.h поменять придется, тогда все относительно просто.
Code:
  1. /** @name VirtualBox graphics card identifiers
  2.  * @{ */
  3. #define VBOX_VENDORID               VBOX_PCI_VENDORID   /**< @todo wonderful choice of name! Please squeeze a _VGA_ or something in there, please. */
  4. #define VBOX_DEVICEID               (0xbeef)            /**< @todo ditto. */
  5. #define VBOX_VESA_VENDORID          VBOX_PCI_VENDORID
  6. #define VBOX_VESA_DEVICEID          (0xbeef)
  7. /** @} */


Но подозреваю, что лень будет заморачиваться, тогда, например:
www.antidetect.org/buy/

Change Windows API answers (splicer method): videocard, HDD, network card (name, serial number, mac). You can choose exename what you want to fool (or multiple exe) and configure detaild hardware fingerprint;


| Сообщение посчитали полезным: Pindos

Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 11 мая 2016 16:04
· Личное сообщение · #22

DenCoder пишет:
На самом деле! Подмена значений функций сбора HWID - самое простое решение! Вот только cpuid проблемно будет подделать

Бери qemu за основу, там самый полный контроль над эмуляцией (если не считать bochs, но он слишком чересчур тормозной).

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 11 мая 2016 16:13
· Личное сообщение · #23

qemu будет тормозить, на порядка 1-2 медленней, чем VMWare. Хотя там есть какие-то ускорители... отдельная тема, как научиться ими пользоваться )

-----
IZ.RU




Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 16:17
· Личное сообщение · #24

вам надо - вы и делаете
хотите что бы вам сделали, идете в тему по поиску специалитов,
там заполняете заявку, нескромно ставите бюджет в пару тыщ зеленых и ждете кандидатов на исполнения ваших прихотей
а то флуд ниочем
- какой вы злой, откуда столько агрессии в мой адрес? Чем я вам не угодил? Будь у меня пару тысяч $, едрит модрит я не стал бы создавать такую тему, а заплатил бы людям деньги и они бы все сделали, но у меня их нет. Всегда найдутся люди готовые помочь советом, или натолкнуть на мысль, иначе не было бы форумов, а все бы платили друг другу деньги и все, за каждый вопрос.

1. Качаете исходный код VirtualBox https://www.virtualbox.org/wiki/Downloads
2. Грепаете 80ee,beef по коду
3. Меняете на свой
4. Настраиваете сборочную среду и делаете свою сборку
5. ...
6. Профит
Возможно только в файле ./include/VBox/param.h поменять придется, тогда все относительно просто.
Но подозреваю, что лень будет заморачиваться, тогда, например:
www.antidetect.org/buy/
- А вы настоящий Kaimi? Или просто человек который носит его ник)))? Но все равно спасибо, попробую) Да именно про этот "антидетект" я имел ввиду) Только на тест они его не дают, и посмотреть стоит ли он того или нет, не предоставляется возможным.



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 11 мая 2016 16:34
· Личное сообщение · #25

DenCoder пишет:
qemu будет тормозить, на порядка 1-2 медленней, чем VMWare

Если с драйвером kqemu и проц поддерживает виртуализацию, то нет. Если без кернелмода - не на 1-2 порядка, а в 5-6 раз, что для отладки нектирично. Вот bochs будет медленее на 2-3 порядка, зато полнейший контроль, хоть mov eax, ebx перехватывай (хотя и в qemu в режиме бинарной трансляции это можно, пусть и сложнее сделать).

-----
PGP key <0x1B6A24550F33E44A>


| Сообщение посчитали полезным: DenCoder


Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 11 мая 2016 16:57
· Личное сообщение · #26

Pindos пишет:
Нужен именно грамотный подход, с изменением железа "системно", чтобы все было так, как будто у меня оно стоит в компьютере.

Если Вам реально надо, то тут не вижу ничего невозможного. Вопрос, на что Вы готовы. Если Вы можете сами, исследуйте предложенные варианты на предмет возможности/невозможности дальше. Если не хватает знаний, получите их либо найдите специалиста, который решит Вам проблему. Тут халявы не получите, максимально что - описание методов, для многих их которых нужны определённые навыки. Даже если б можно было в одночасье Вам эти навыки передать, они б тоже имели свою цену!

Системно - Вам уже сказали про возможности подмены. Можно выбирать определённые процессы-цели для таких подмен. Нужно на уровне ядра подменить? Можно и тут найти аналогичное решение

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

-----
IZ.RU




Ранг: 5.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 мая 2016 17:48
· Личное сообщение · #27

Я с вами и не спорю, действительно, если сильно нужно, нет ничего невозможного. Я и не в коем случае не хотел получить халяву, мне просто как вы правильно сказали, подсказали иные пути решения, а дальше только в путь. И да если у меня не получиться, я найду деньги и найду человека который мне это сделает, все верно. Или вы клоните к тому, что тему пора закрывать?



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 11 мая 2016 17:48
· Личное сообщение · #28

Pindos пишет:
чтобы все было так, как будто у меня оно стоит в компьютере.

Полная эмуляция железа современного компа со всеми тонкостями. Нереально хотя бы потому, что на слишком многое нет доков. Урезайте осетра до недетектируемости конкретной защитой.

DenCoder пишет:
Давно пишут, что свой гипервизор не так сложно сделать, как пугают...

А очень даже просто. И в сети куча готового кода.

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 12 мая 2016 02:53 · Поправил: plutos
· Личное сообщение · #29

Pindos пишет:
Или вы клоните к тому, что тему пора закрывать?


Конечно пора закрывать.
"Цели намечены, задачи поставлены. За работу, товарищи!"

-----
Give me a HANDLE and I will move the Earth.




Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 12 мая 2016 10:58
· Личное сообщение · #30

я б хотел продолжить тему.. правда под линуха.. какие варианты есть емулирования не существующего железа? можно закидать ссылками если кто сталкивался.
суть проблемы. есть прога.. требует 11 определенных девайсов. какие маршруты решение данной проблемы можно вы видите? кроме как написание обверток .ko

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....



. 1 . 2 . >>
 eXeL@B —› Программирование —› Изменение драйвера или эмуляция железа на уровне системы
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати