TGViewer
Reverse Dungeon Reverse Dungeon @reverse_dungeon · 5.04K subscribers
Post #4141 302

Forwarded from Violent_Maid (SKVLLZ.)

До какого-то момента мне не особо было интересно вскрывать внутрянку AGESA, но парочку находок меня озадачили тем, чтоб залезть в неё.

Вообще, приколисты на AMD иногда прям хорошо доставляют. Мне нравится, дайте ИЩО. Давайте чутка терминологии:
1. AGESA - набор бинарей, что конфигурируют платформу перед полноценной загрузкой. Конфигурируют разное, память например. Нам это не особо важно;
2. ABL - AGESA Bootloader. Это то, что работает в контексте ASP/PSP и заканчивает свою работу перед тем, как Stage 2 загрузчик отдаст управление x86 ядрам;

Ранее, когда я ещё не родился, AMD хранила в своих директориях чётко обозначенные ABL - у них как минимум был свой ID присвоенный. Теперь же, всё немного иначе. Следим за руками!

На текущий момент AMD в ASP/PSP директории пихает только ABL0. Почему? Потому что AMD теперь считает, что AGESA это единый блоб данных. В ABL0, после стандартного заголовка (256 байт, 0x100), содержатся небольшие структурки, я их назвал дескрипторами:

struct ABL_DESCRIPTOR {
UINT32 EntryID;
UINT32 Offset;
};


Эти структурки, в совокупности, занимают ~0x90 байт в ABL0 и содержат смещения до других ABL (ID записей нам не важны). То есть, ABL0 просто описывает куда ссылаться, если нужен конкретный загрузчик.

Как считаются эти оффсеты? Ну, они считаются от начала ABL0, точнее, от стандартного заголовка ABL0. Например: оффсет до ABL1 составляет 0x300 байт, ABL0 в образе прошивки лежит по адресу 0x25000. Следовательно, ABL1 будет по адресу 0x25300. И так с каждыми ABL. Вот эта совокупность образует весь AGESA блоб. На моей тестовой материнке он примерно ~500КБ суммарно. Только вот каждый из загрузчиков AGESA сжат и пошифрован (AMD используют zlib, если что). Думайте-подписаться.

В самой AGESA много чего, начиная от каких-то базовых конфигураций, аля TOM настроить, заканчивая резервацией защищённых регионов памяти (ну например C6, про который вы возможно узнали от некоторых наработок xoreaxeaxeax).

На своём докладе я говорил, что загрузчиков всего 9.
Напиздюнькал, не считая ABL0 - 19.
  • 🐳 3
More from @reverse_dungeon
  1. Oct 10, 2026https://dmitry.gr/?r=06.%20Thoughts&proj=12.%20RV
  2. Oct 7, 2026https://arxiv.org/abs/2508.06643 Очень большая обзорная статья про символическое выполние…
  3. Oct 4, 2026EDR Evasion: Process Injection Without WriteProcessMemory #EDR #maldev
  4. Sep 30, 2026https://www.manifold.security/blog/third-party-com-placeholder-clickfix
  5. Sep 24, 2026Вспомнилось ! Был такой хороший гайд Introduction to Exploit Development Сегодня он интере…
  6. Sep 20, 2026https://bogdanthegeek.github.io/blog/projects/vapeserver/
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 →