ПредишенСледващото

Играх малко с Google Native Client - е плъгин браузър (подкрепен от Firefox, "Опера", "Safari" и "Chrome" и платформата Windows, Mac, Linux и на x86, x86-64 и ARM).

Тази приставка, която е в състояние да изпълни прекомпилирани (!) Код в браузъра. В известен смисъл, това напомня на ActiveX. Пишеш двоичен код, да го компилирате в специална версия на GCC, като след това просто вмъква в вградите браузър маркер.

Чудех се как можем да наблюдаваме безопасност. Лот код е забранено (в действителност, всичко е позволено - това е най-ефективното използване на процесорно време, за останалата част трябва да отидете на браузъра чрез NPAPI или SRPC (Simple RPC)), но разработчиците много се говори, че допускат инлайн монтаж.

Ковчеже, както се оказва, предлага лесен и доста остроумен. На първо място, разработчикът е забранено да се използват някои конструкции, като например INT (прекъсване на разговор), и др. На второ място, екипът на преход променени и това е най-интересното.

Аз не знам, тъй като има в ARM процесори и x86 команди могат да имат различни дължини, която и «PUSH AX» заема байт, «MOV AL, 41" - два, «MOV AX, [BP + 8]" - три и т.н. нататък. Ако направите преход не е първият байт на екипа (като, например, на втория байт на команда «MOV AL, 41 '), се оказва, че останалата поредица (вероятно с байтове, които отиват по-нататък) също означава нещо (в случая на« MOV AL, 41 "от втория байт е" 41 ", това« INC CX »команда).

Това дава възможност да се прикрие забранено в рамките на екипа и екипът да го изпълни, извършване на прехода не е първият байт. Как Google Native Client ни предпазва от това? Много просто.

Втората опасност - код на данните, тъй като почти всяка последователност от байтове е някакъв родния код, така че лесно можете да скриете кода в рамките на текста, а след това да извършите миграцията върху текста. Ясно е, че има способността да се ограничи преходите, за да се реши този проблем е проста - отзвук код и данни сегменти на различни регистри и не дават кода, за да премине на данните. Няма нищо сложно, първия случай беше интересно.

Интересното е, че кодът, който контролира сигурността и изпълнява SRPC, е много малък, във видеото на YouTube разработчик казва, че около 6000 линии, е около 6000 байта. Във всеки случай, и двете - малко. Има (във видеото) показва Ruby интерпретатор, който работи в браузъра. Това е интересно, но не по-интересно е, че кодът на C (или има C ++, не е от значение) трябваше да се промени много малко, за да го възстанови в Code Google Native.

Мисля, че това е един интересен проект.

Това не е стандарт, и проект. В стандартния HTML тагове е вграждането, доколкото ми е известно, не е била включена. Това е просто още един собственически netskeypovo / mozillovy тези,
ВИДЕО също не стандарт, обаче, във всички съвременни браузъри имат. Е, как съзнателно ще има дълъг и къс скок. кеша на процесора, също мисля, че не одобрява обема razuvanie код почти един порядък.
Каквото и да е, за да се спори за това, разработчиците вече са обявени цифри. Е, изглежда. почти всички C # yuzabelen код в Silverlight. И какъв е процентът на C код работи чрез NPAPI или SRPC? Мисля, че все още има много неща, за да пренапише по тази нова платформа
Фактът, и смисъла, че промените са минимални. Това се потвърждава, например, Quake за клиенти с. Аз все пак ще го наречем слух. Отново, това е странно, че този слух за Microsoft - единственият случай, когато в който се споменава IA-128.
Е, аз не ми пука. Във всеки случай, на прехода към 128-битово ще се случи с темпа на развитие в следващите 5-7 години.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!