Preheat the oven to 350°F and line a cupcake tin with liners.
Coarsely chop 10 Oreos and set aside.
Whisk the flour, cocoa powder, baking powder, baking soda, and salt in a medium bowl.
Combine the oil and sugar in a large bowl, then add the eggs one at a time, beating well after each.
Add the dry ingredients in batches, alternating with the milk, beginning and ending with the dry. Mix until just combined.
Stir in the vanilla, then fold in the chopped Oreos.
Fill each liner about ⅔ full and bake for 18 to 22 minutes, until a toothpick comes out clean.
Cool completely on a wire rack before frosting.
Beat the softened butter until creamy and smooth.
Add the powdered sugar one cup at a time, beating until fluffy.
Pour in the heavy cream and vanilla, then beat on medium-high for 2 to 3 minutes until light and fluffy.
Beat in the crushed Oreos until well combined.
Transfer the frosting to a piping bag fitted with a decorative tip.
Pipe onto the cooled cupcakes and top each with half an Oreo.