Скрытых, защищенных паролем регистров отладки в Athlon XP достаточно, чтобы любой программист, ориентированный на аппаратное обеспечение, стал более опасаться того, что может скрываться между регистрами.
Если вы работаете с ассемблером, вы постепенно научитесь понимать архитектуру машины и знать ее регистры и операции, как если бы они были вашими собственными. Поэтому для меня стало шоком обнаружить, что есть что-то скрытое, что производители встроили, но не удосужились рассказать вам о них. Еще хуже, когда вы обнаруживаете, что они пошли на все, чтобы помешать вам найти дополнительное оборудование, защищая доступ паролем. Видимо, именно это AMD сделала со своими процессорами, начиная с Athlon XP.
Обратный инженер по имени Чернобыль (сокращенно Черно) обнаружил, что серия Athlon XP включает функции отладки на основе микропрограмм, которые выходят далеко за рамки стандартных возможностей. Участвуют четыре новых регистра, каждый из которых защищен паролем, и вы можете получить доступ к ним, только если регистр EDI содержит 9C5A203A, в противном случае возникает исключение.
Предоставленные средства все еще исследуются, но регистры, похоже, реализуют условную аппаратную точку останова. Вы можете настроить точку останова на блоке памяти, заданном маской адреса и маской данных. Даже это средство значительно упростило бы обратное проектирование некоторых типов систем. Более вероятно, еще предстоит выяснить.
По-настоящему интригующий вопрос заключается в том, почему AMD включила это средство, а затем решила не только сделать его общедоступным, но и активно сохранить его в секрете с помощью защиты паролем. Что, по его мнению, защищало?
Такие открытия и предложения Intel, например, о включении дополнительного оборудования, которое можно разблокировать за определенную плату, усиливают паранойю среднего программиста, ориентированного на аппаратное обеспечение. Что еще могло скрываться между регистрами?
Больше информации из поста Чернобыля на RCE.