If the virtual machine was built with a fixed disk size, then it should be possible to loop mount the VirtualBox .vdi. The trick is to find the appropriate offset for the loop mount to be successful. The offset will vary depending on the size of the fixed disk. This may help https://forums.virtualbox.org/viewtopic.php?f=7&t=52
If you have a variable sized disk, it will need to be converted to a fixed size disk. It has been a while since I used VirtualBox, but I think 'VBoxManage clonehd --format VDI --variant Fixed <uuid>|<filename> <outputfile>' will do this.