Virtualization without extensions is possible, but tricky on x86. VMWare has historically used binary translation to deal with the tricky bits. (I.e. go through the binary before you run it, look for instructions that don't virtualize properly, replace them with sequences that can be virtualized and either do the same thing, or trap into the virtual machine monitor.)
Virtualbox does not emulate anything, it uses the CPU's virtualization extensions and the code runs natively on the CPU.