Crush the Oreos into fine crumbs using a food processor or rolling pin. Set aside about 1/2 cup for topping.
In a medium bowl, combine the remaining crumbs with melted butter. Press firmly into the bottom of a 9x13-inch dish to form the crust.
In another bowl, beat the cream cheese until smooth. Add powdered sugar and mix until combined. Fold in half of the whipped topping and spread over the crust.
In a separate bowl, whisk together both pudding mixes with cold milk for 2-3 minutes until thickened.
Spread the pudding layer over the cream cheese layer. Then spread the remaining whipped topping on top.
Sprinkle with reserved crushed Oreos or chocolate shavings.
Refrigerate for at least 4 hours or overnight for best results.