@dadreamer if you're often looking at the binary data, you might have some use of "print-map" function of my readRSRC script:
./readRSRC.py --print-map=RSRC -x -i 'test_out/lv10/vi.lib/Utility/Convert RTD Reading (waveform).vi'
test_out/lv10/vi.lib/Utility/Convert RTD Reading (waveform).vi: Warning: Block b'PRT ' section 0 size is 152 and does not match parsed size 128
test_out/lv10/vi.lib/Utility/Convert RTD Reading (waveform).vi: Warning: Block b'VICD' section 0 XML export exception: The block is only partially exported as XML.
00000000: RSRCHeader[0] (size:32)
00000020: BlockData (size:13559)
00000020: BlockSectionData[LVSR,0] (size:140)
000000AC: BlockSectionData[RTSG,0] (size:20)
000000C0: BlockSectionData[OBSG,0] (size:20)
000000D4: BlockSectionData[CCSG,0] (size:20)
000000E8: BlockSectionData[LIvi,0] (size:52)
000000EC: Block[LIvi,0].LinkObject[0].NextLinkInfo (size:2)
000000EE: Block[LIvi,0].LinkObject[0].Ident (size:4)
000000F2: Block[LIvi,0].LinkObject[0].Unk1 (size:34)
00000114: Block[LIvi,0].LinkObject[0].Unk2 (size:2)
0000011A: Block[LIvi,0].LinkObject[1].NextLinkInfo (size:2)
0000011C: BlockSectionData[CONP,0] (size:6)
00000124: BlockSectionData[TM80,0] (size:64)
00000164: BlockSectionData[DFDS,0] (size:388)
000002E8: BlockSectionData[LIds,0] (size:52)
[...]
00003A44: BlockSectionStart[VCTP,0] (size:20)
00003A58: BlockSectionStart[FTAB,128] (size:20)
00003A6C: NameStrings (size:34)
00003A6C: NameOfSection[LVSR,0] (size:34)
When you use "--print-map=RSRC" it prints what is stored at which offset of the RSRC file. Obviously it can't print compressed data this way, so for compressed sections you can map the specific section, ie. "--print-map=DFDS". And to get BIN file which matches this mapping, you can extract the VI with "-d" instead of "-x" - then you will get uncompressed BIN files for all sections, instead of some being converted to XML.