Prick chicken all over with a fork to create openings for the seasonings to penetrate. In a small bowl combine the garlic, shallots, onion, ginger, oyster sauce, dark soy sauce, light soy sauce, ketchup, chili sauce and chili powder. Mix together.
Place chicken in a 9x13 inch baking dish and rub the sauce mixture into the chicken. Cover and refrigerate. Marinate for at least 4 hours or overnight if possible.
Preheat oven to 425 degrees F (220 degrees C).
Remove cover and roast chicken in preheated oven for 30 minutes. Turn to the other side and roast for another 30 minutes, or until chicken is cooked through, golden in colour and juices run clear. Baste frequently with marinade while roasting. Serve with sliced cucumbers.