I've had a look at FXDIS once but found it not working/crashing with not so trivial shaders. Also it only outputs assembly and no hlsl, so the result is not that easy to read for something more complex.
Another way is if you can manage to convert the byte code to SPIR-V somehow. There are many great tools to analyze and even decompile SPIR-V back to HLSL and GLSL:
SPIRV Cross
SPIRV Viewer
There is a way to convert DXIL (shader model 6) to SPIRV with
dxil-spirv
And a way to upgrade d3d byte code to shader model 6 with
DirectXShaderCompiler
So a way to decompile to GLSL/HLSL is there, but a lot of intermediate steps where things could fail. Good luck