Clean duck thoroughly. Remove excess fat and cut off feet. Tie the neck of duck firmly with a piece of strong string and hold it just above a wok of boiling water.
Use a ladle to scoop up the water and scald the duck repeatedly for a while. Remove and put aside. Pat-dry the duck thoroughly and rub marinade ingredients (A) over the skin. Leave aside for 10 minutes.
Deep-fry duck in hot oil over high heat until the skin turns golden brown. Remove and place duck in a basin of cold water immediately. Leave it to soak for 20 minutes. Remove; drain well.
Place ginger, spring onion and all spice (B) ingredients in a large deep plate. Add seasoning (C) to combine. Stir to mix. Put duck into the deep plate and wrap up the entire plate with a large piece of aluminum foil. Steam over high heat for 1-1 ½ hours. Remove duck and hang to drain completely.
Heat oil for deep-frying in a wok until hot. Slowly and carefully lower the duck into the oil and deep-fry until skin is crispy. If the duck browns too fast, reduce heat. Dish out and cut duck into serving pieces.