That first example is quite boring. This VMDK will not boot - and if it just contains data it will not show any partitions.
The next example assumes a NTFS - one partition data disk. Here the damage is more interesting and less predictable.
### create a backup to be able to revert the corruption
dd if=name-flat.vmdk bs=1M count=10 of=first-MB-of-name-flat-vmdk.bin skip=4
### overwrite first mb with zeroes
dd if=/dev/zero bs=1M count=10 seek=4 of=name-flat.vmdk conv=notrunc
### revert changes
dd if=first-MB-of-name-flat-vmdk.bin of=name-flat.vmdk bs=1M seek=4 count=10 conv=notrunc
In this case the filetable is ok, the NTFS-bootsector is still ok but probably the MFT is corrupt so in real life this VMDK would probably need a massive chkdsk repair.
I hope the examples show how inject zeroes into a flat.vmdk.
For more real life corruption use this approach and inject zeroes to several locations and enjoy yourself.