Clean the chicken and soak in clean water for 15 minutes. Then message with white vinegar, set aside for 10 minutes. Then rinse the chicken with paper (drying process is quite important).
Combine all the marinade ingredient in a small bowl.
Prepare a large bag, place the chicken in and then add all the marinade sauce. Rub the bag gently to make sure the chicken is evenly coated by the sauce. Keep in fridge at least overnight to 48 hours. Flip 2-3 times.
Take only the chicken out (discard the liquid and all the other spices). Truss the legs and place on a baking sheet (beast up) and then air dry until the skin becomes tightened and dry (usually take 1 to 4 hours based on the room condition).
Preheat the oven to 200 degree C (400 Degree F). Place the chicken on the low rack and roast for 30 minutes. Lower the temperature to 120 degree C (250 degree F) and bake for another 20 minutes (you can rotate the baking pan).
Cooled down for 15 minutes before shredding and enjoy. You can serve it with spicy sauce, soy sauce or plum sauce.