![]() |
eXeL@B —› Программирование —› ВРЕМЯ в проверке геометрии CD/DVD |
Посл.ответ | Сообщение |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 23 февраля 2013 15:56 · Личное сообщение · #1 Прочитал на InsidePro статьи про углы, StarForce, посмотрел что внутри sfdvd. Единственное, что не могу уловить взаимосвязь QueryPerformanceCounter/QueryPerformanceFrequency с DeviceIoControl в проверке CD. Одно из двух: 1) QPC/QPF замеряют время работы DeviceIoControl, когда тот читает сектора, т.е. вставляются до и после(типа RDTSC). Но, SecuROM сначала читает 3 сектора, составляет какую-то общую сигнатуру, сравнивает ее с эталоном, и только потом потом возится с QueryPerformanceCounter(вложенный цикл; таблица; xor al, 0x41...)... 2) Время оборота содержится в возвращаемом буфере DeviceIoControl и,грубо говоря, сравнивается с QPC/QPF. Посвятите, кто в курсе. ![]() |
|
Создано: 23 февраля 2013 17:04 · Личное сообщение · #2 |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 23 февраля 2013 17:33 · Личное сообщение · #3 |
|
Создано: 23 февраля 2013 17:41 · Личное сообщение · #4 ELF_7719116 Ну пишете то про Старфорс в 1-м посте. И складывается впечатление о полном незнании механизма проверки. Ибо там как раз в ring3 ничего интересного нет, все данные обрабатывает дров в ring0. А дальше возвращает буферы (контекст ВМ) + набор констант,каждый раз за новое обращение. Или по вашему каждый оборот диска он будет дергать DeviceIoControl? ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 23 февраля 2013 18:21 · Личное сообщение · #5 |
![]() |
eXeL@B —› Программирование —› ВРЕМЯ в проверке геометрии CD/DVD |