Слышал есть такая команда - LOADALL, и с помощью этой команды можно загрузить все регистры процессора, в том числе и недоступные. Ещё знаю, что LOADALL бывает в 2 вариантах - LOADALL для 80286(LOADALL286 на FASM) и LOADALL386 для 386+. LOADALL286 загружает 16-разряд. регистры начиная с адреса 0800h(физического или линейного?). LOADALL386 загружает 32-разряд. регистры начиная с адреса ES:EDI(?). Но я не нашёл толковое описание структур, расположеных по этим адресам. Разъясните подробно please, как работает LOADALL.
Это недокументированная инструкция. Использовать ее вобщем то не рекомендуется. Вот инфа на английском.
alpet За ссылку спасибо, но не знаю, что у меня глючит и на www.x86.org попасть не могу. Не можешь ли ты выложить основные мысли в форум?
1) На русском ничего нет? А то с английским у меня туговато . 2) В статье описывается структура по адресу в ES:EDI. Последний байт в ней находится в ES:[EDI+0CCh](LENGTH OF TABLE). Но, поискав в инете, я нашёл другой вариант(до смещения CCh оба варианта одинаковы): Код (Text): C8H 4 ES.limit CCH 4 Length of table D0H 30h Unused,not loaded 100H 4 Temporary Register IST 104H 4 Temporary Register I 108H 4 Temporary Register H 10CH 4 Temporary Register G 110H 4 Temporary Register F 114H 4 Temporary Register E 118H 4 Temporary Register D 11CH 4 Temporary Register C 120H 4 Temporary Register B 124H 4 Temporary Register A Что бы это могло значить?
Почти в тему: кто-нибудь знает как грохнуть проц (любой пень из серии intel), из поставок в Россию, командами?
NoName Разве что микрокод испортить. Меня кстати микрокод больше интересует в отношении модификации логики комманд - насколько далеко можно зайти?
Кое-что нашёл насчёт изменения микрокода, но не знаю, может-ли это пригодиться: http://www.ixbt.com/cpu/cpu_errata.html http://www.ixbt.com/cpu/cpu-errata-new.html И всё-таки, что это за временные регистры?
NoName Испортить проц можно, и код это делающий будет зависеть не от процессора, а от чипсета материнской платы. Чипсет через свои регистры позволяет управлять напряжением питания проессора. В BIOS это напряжение обычно регулируется в пределах 1.1-1.3в, но на самом деле микросхема стабилизатор может выдавать на проц до 5-6в, что можно устроить с помощью установки соответствующих регистров чипсета. После этого процессор просто сгорает. Возможно этот метод применим не для всех процессоров и материнских плат, но он опробован на Pentium 4 2600 на чипсете I865PE. Код осуществляющий это дело я приводить не стану, т.к. был уже случай с кодом форматирующим диск. Тот кому надо, может посмотреть документацию интела на чипсет и написать сам, а тот кто не может, тому рано такими игрушками играться.
Ms Rem К счастью, так оно и есть. От скачка напряжения нормальный проц должен сразу отключаться. ARM так и делает.
Не знаю, как для i386, но для микроконтроллеров могу сказать точно, нормальный схемотехник никогда не допустит такого! Супервизор питания - вот выход, микросхемка стоит $2, у вас гарантирован уровень логического нуля и единицы, есть микросхемы супервизоры питания, которые программируются - тогда может быть. У старших моделей ATMega, эта микросхема встроена.
На материнских платах напряжение ядра получается из 12в и 3.3в с помощью ШИМ преобразователя. Вполне вероятен и его выход из строя, перед (заместо) CPU.
alpet Думаю для этого нужно уметь программить\составлять микрокод, знать ключ его шифрования и иметь биос поддерживающий intel microcode update(или обновлять самому после каждого RESET'а), у меня лично ничего из этого нет %)
bogrus Сложности не так страшны, если награда велика Было бы замечательно иметь возможность добавить свою команду в набор имеющихся, но судя по всему микрокод позволяет патчить только уже существующие.
Очень интересный вопрос!!! Скорее всего эта команда использовалась вместо RSM. Кто-нибудь ею уже пользовался?
И все-таки я имел ввиду не чипсеты, а именно заложенную логическую бомбу которая умертвляет процессор. Я информирован о том, что это существует на 100%.