TGViewer
Violent_Maid Violent_Maid @dxe_0x0 · 1.41K subscribers
Post #347 1.36K
Доводилось ли вам, мои маленькие интернет-друзья, интересоваться тем, что происходит внутри всеми любимого АМУДЕ ПЭЭСПЭ? Надеюсь, нет. Ведь эта штука очень забавная. А нам, молодым-шутливым, только голову ломать хочется. Поэтому, люди придумали РеВёРс! Занимаясь которым можно немножечко свои шарики за колёсики закатить. Рекомендую начать прямо сейчас, кстати!

С чего бы попроще начать? Ну, определённо с чего-то, что не будет заставлять голову болеть, даааааа...

В какой-то момент, когда я, скажем, занимался поиском смешных вещей, что подарят мне доступ к System Management Unit (SMU), наткнулся на одну забавную вещицу. Я совершенно случайно обнаружил для себя сисколл (ID 0x21 в Stage 2 загрузчике для версий 0.28.x.x), что закидывает ключики в Unified Memory Controller (UMC). Конкретно не вспомню, кто сисколлит это чудо, но точно кто-то из ABL1-ABL4 (AGESA Bootloader), ну и можно сюда плюсануть уже OpenSIL.

Сложив для себя все имеющиеся факты, я примерно понял, что речь тут, по видимому, о TSME. Но более известна эта аббревиатура под другим названием AMD Memory Guard. Эта вот такая смешная штука, что шифрует память, блин!

Чудный сисколл, как и говорилось выше, ответственен за запись ключиков в UMC. Из аргументов он принимает, очевидно, флаги для шифрования, а также некий AddrTweakEn, я пока не определил кто это конкретно. Но скорее всего адрес с приколами!

Помимо калькуляции твиков шифрования на основе битиков в флагах, меня зацепила одна вещь. На первом скрине, gScrambleDataKey константный, буквально; это не адрес, это просто ключ. Этот небольшой ключик записывается по 4 адресам, вероятно самого контроллера: 0x50000, 0x150000, 0x250000 и 0x350000. На что влияет ключик? Ну, я думаю, что в совокупность с посчитанными твиками, он влияет на энтропию.

На основе уже битиков из другого регистра (gUmcProgramFlags, 0x134B0, фотокарточка 2), выбирается вариант программирования ключиков. В отличие от лежащего в сыром виде Scramble ключика, там уже всё нормально. В случае первого варианта, AMD Playstation Portable попытается взять буфер из некоего S5 Buffer (я очень хочу предположить, что это речь про режимы энергопотребления, но не буду). Второй вариант возьмёт существующий адрес, лежащий в ещё одном регистре, ну и после программирования постучится к CCP за SHA-256 хэшем (да).

А, ну вы возможно увидели некий WriteKeys, я предполагаю, что это значение может зависеть от того, прогорели ли фьюзы (а я думаю, что у TSME него есть свой фьюз (как у Intel AntiTheft, блин!)).

Адреса, по которым могут храниться ключи, я показывать не буду, потому что они вполне себе могут быть разными, да и оставлю это на ваш интерес. Адресов всего 4. Только вам это, коде экзекушен инсайд амд плейстейшн портабл необходим. Ну или можете воспользоваться недавно найденным приколом на 16 поколениях АМУДЕ!

В конечном итоге, к моим целям эта находка никуда не привела.
  • 🤓 10
  • 😭 4
More from @dxe_0x0
  1. Sep 10, 2026Дарова!!1 Если вы вдруг будете на ZeroNights, то я, это, буду на Heap Stage рассказывать п…
  2. Aug 28, 2026Вообще, SMN (System Management Network) штука интересная, так как каким-то неведомым мне о…
  3. Aug 26, 2026System Management Network (SMN) - это шина для коммуникации между ASP/PSP и другими МК (по…
  4. Jul 27, 2026Даров! Вообще, оказывается, у меня есть данный аниме-канал. Только сейчас вспомнил. И поче…
  5. Apr 24, 2026Из вырезанного контента (перефразировано в угоду блога, без "статейного флёра"): У APCB ес…
  6. Apr 15, 2026Another industry-wide knife fight. - AMD Advisory - CVE - BDU -
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →