TGViewer
Гепардово гнездо Гепардово гнездо @gepardchan · 617 subscribers
Post #151 2.99K
https://www.ryanliptak.com/blog/every-rc-exe-bug-quirk-probably/

Не знаю, как вы, а я просто обожаю такие посты.

Здесь автор попытался написать альтернативную реализацию компилятора ресурсов Windows. Это программа, которая принимает текстовый .rc файл с описанием менюшек, кнопочек, окошек, иконок, курсоров и прочего, и компилирует это описание в бинарный .res файл, который потом встраивается в бинарник приложения под Windows.

Альтернативных реализаций компилятора ресурсов много, но у автора была цель, которой не добивались остальные: написать все на новом модном современном Zig как можно точнее сохранить совместимость с оригинальной версией от Microsoft, вплоть до багов и незадокументированного поведения.

Как достичь этой цели? Например, можно написать код, а затем пофаззить оригинальную реализацию с альтернативной и найти, на каких данных они выдают разные результаты. В результате этого процесса автор нашел горы странного поведения в компиляторе ресурсов от Microsoft.

Пост длинный; если хотите посмотреть только самое интересное, можно поискать по странице по словам utterly baffling. Если же у вас много времени и вам не лень, можно прочесть и все :)
Ryanliptak Every bug/quirk of the Windows resource compiler (rc.exe), probably - ryanliptak.com Fuzz testing decades-old software can turn up some curious behaviors
  • 👍 10
  • 🔥 3
  • 👌 1
More from @gepardchan
  1. Sep 7, 2025Итак, расскажу о том, что я сделал еще давно, но про что все никак не доходили руки написа…
  2. Dec 10, 2024https://habr.com/ru/post/472970/ Статья 2019 года, то есть довольно старая, с учетом того,…
  3. Nov 30, 2024Сегодня читал про то, как Debian везде перешел на 64-х битный time_t. Изменение войдет в р…
  4. Nov 22, 2024Еще про проклятые фичи баша https://yossarian.net/til/post/some-surprising-code-execution-…
  5. Nov 21, 2024Про переписывание истории В баше (а точнее, в GNU Readline, который используется башом), е…
  6. Nov 17, 2024Вдогонку про Юникод и Rust Во-первых, спасибо всем, кто читал и распространял мой пост про…
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 →