zlacker

[return to "Building the DirectX shader compiler better than Microsoft?"]
1. msk-ly+Md[view] [source] 2024-02-10 12:24:02
>>emidoo+(OP)
So the signing[1] DXIL.dll does is just a modified MD5?

1: https://github.com/hexops/DirectXShaderCompiler/blob/4190bb0...

◧◩
2. Culona+2q[view] [source] 2024-02-10 14:37:59
>>msk-ly+Md
This is the part of HN I really like. People who can look at random C code working with memory and be like "yep this looks like modified X". Pretty amazing (to someone like me who mostly works in high level languages).
◧◩◪
3. msk-ly+Hq[view] [source] 2024-02-10 14:44:02
>>Culona+2q
With the phrasing of the article, I immediately thought it must have been something simple/dumb. I quickly thought MD5 so I looked at the magic numbers in the C code and looked them up on wikipedia. Then I noticed the four F G H I functions. Still I’m not sure it is (maybe it’s something common in hashes?) and I still don’t know what the change is
◧◩◪◨
4. EMIREL+391[view] [source] 2024-02-10 19:05:31
>>msk-ly+Hq
From the commit message[1]:

"dxil.dll is closed-source, so we cannot simply patch it in the same way. To fix this, we outright disable runtime loading of dxil.dll and silence warnings related to it not being present / the final binary not being code signed. Instead, once the compiler would emit a compiled shader blob, we perform our own code signing algorithm (Mach Siegbert Vogt DXCSA) which results in a bitwise identical compiled shader, and thus dxil.dll is no longer needed to perform code signing of shaders."

[1] https://github.com/hexops/DirectXShaderCompiler/commit/7a013...

[go to top]