![]() |
eXeL@B —› Вопросы новичков —› Оптимизация hyperthreading или защита? |
Посл.ответ | Сообщение |
|
Создано: 29 апреля 2009 21:50 · Поправил: SVLab · Личное сообщение · #1 Есть одна dll, во многие подпрограммы вшит код такого вида (более 500 мест): Code:
Адресов для VAR1 всего 3, а адрес для VAR2 у каждого такого куска всегда разный. Нашел всего несколько мест, где проверяется VAR2, но перед этим она всегда переписывается, т.е. становится равной VAR1. В этих же местах перед проверкой стоят небольшие циклы задержки. Сначала я принял это за какую-то защиту от патча, т.к. при небольших модификациях программы она начинает вести себя непредсказуемо: может нормально работать, может неправильно обрабатывать данные на каких-то режимах, а может вообще вылететь, и в одном случае обход подобного куска восстановил нормальную работу. По мере копания у меня начала расти уверенность, что это не защита, а оптимизация поддержки HT, т.к. в нескольких кусках такого кода данные для VAR1 берутся из другого адреса, а пишутся после обработки в один из этих трех. (ну и еще почитал Кто знает, как может выглядеть оптимизация для HT на асме, подтвердите или опровергните. Лежит здесь Добавлено Все-таки, это защита. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Оптимизация hyperthreading или защита? |