Preheat the oven to 350 degrees Fahrenheit.
For the crust: Place the Oreos in a food processor and pulse until they're broken into fine crumbs. Add the Oreos to a medium-sized bowl and mix in the butter.
Press the crust into a 9-inch pie dish. Bake it for 10 minutes.
For the brownie layer: Melt the butter and dark chocolate in a large bowl in the microwave. Use 30-second increments, stirring after each increment. Do not let the mixture get too hot.
Whisk in the sugar, eggs, and vanilla extract. Then, whisk in the flour, cocoa powder, and salt. Pour the brownie mixture onto the Oreo crust.
Bake it for 25 minutes or until a toothpick inserted in the center comes out clean. Let the brownie layer cool for 3 hours.
For the pudding layer: Whisk the milk and pudding in a medium bowl until combined. Let the mixture sit for a few minutes, then spread it over the brownie layer. Chill it for 2 hours.
For the whipped cream: Blend the heavy cream with a stand or hand mixer until soft peaks form. Then add the vanilla extract and powdered sugar and blend until stiff peaks form. Do not over-mix.
Spread the whipped cream over the pudding layer. Add crushed Oreos on top if desired. Enjoy!
