След излизането на финалната версия на Service Pack 2 за Windows XP се появиха и първите съобщения за несъвместимост с различни приложения. Сериозни проблеми има и при peer-2-peer софтуера. Някои потребители са се оплакали от проблеми със Zone Alarm. Но най–много шум се вдига покрай проблема с DivX 5.2. Оказва се, че за да можете да го използвате, трябва да изключите DEP (Date execution prevention) от SP2. Фактически Windows XP SP2 спира всяко приложение, генериращо код в паметта и след това изпълняващо го – съвсем стандартна операция при Win32 програмирането.
Техническите детайли са следните:
x86 съвместимите процероси имат „memory protection“ и операционната система може да определи кои части от паметта са разрешени за четене и кои за записване – подобно на правата върху файловете в UNIX/Linux. Но до преди AMD да представи NX (No eXecute) беше невъзможно да се контролира дали учатъците от паметта са изпълними. Ако паметта може да се прочете, може да опитете и да изпълните съответния код.
На този принцип работят buffer overflow атаките – предават на системата голямо количество код като се опитват да я накарат да го изпълни.
DEP маркира стека като не-изпълним, така че ако се опитате да изпълните кода в него получавате следната грешка:
DivX генерира машинен код в буфера и след това го изпълнява. По този начин се постига много бързо управление на картината на екрана.
За да избегнете проблеми с DEP трябва предварително да осигурите област в паметта, в която да генерирате кода. Много приложения под Windows са писани с използване на функцията malloc(). За да работят коректно тези приложения, те трябва да използват VirtualAlloc() – което означава че трябва да бъдат пренаписани
Разбира се, вместо да чакате нови версии на необходимите ви програми, бихте могли да изключите DEP (My Computer-> Properties->Advanced->Performance):
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!