Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
The question isn't related to FPGA configuration bitstreams, I presume. Microcontroller machine level code can be disassembled to asm text, of course without any symbolic information.
Scientific papers have demonstrated deriving a gate level netlist from unencrypted FPGA bitstreams. But there are no commonly available tools for it, in so far I don't think it's a practical option for you. Deriving a high level (e.g. VHDL desription) from gatelevel can be also quite difficult.
disassembly will work ok as long as the code doesn't have any countermeasures.
I suspect it would not be that hard to reverse engineer the .bit format. It makes sense not to publish that info because the user doesn't need to know it ever. This reduces support costs and allows freedom in changing the format whenever the design team wants.