Use a paring knife to release abalone meat from the shell. Use half a lime to scrub around the abalones. Scrape off any sliminess with the paring knife if needed. Then use a brush to scrub off all the black stuff. You can also trim off the black edges if desired. Also remove the mouth and intestines. Rinse well.
Place a small saucepan over medium heat. Once it is hot, add just enough oil to lightly coat the bottom. Add ginger slices and cook for several seconds until fragrant. Then add the white parts of scallions and garlic. Add the abalones in a single layer and sear both sides very briefly, about 30 seconds each side.
Add chicken stock to the saucepan (it should cover the abalones) and add the shiitake mushrooms and salt. Bring everything to a boil and skim off foam if needed. Reduce the heat to medium low, and simmer gently with the lid slightly askew for about 2 hours or slightly more until the abalones are tender.
Discard the ginger, garlic cloves and white scallion parts. Take the abalones and shiitake mushrooms out of the sauce and set aside. You should have about ¾ cup (180ml) of braising liquid in the saucepan. If you have more than that, bring the braising liquid to a boil to reduce it until you have about ¾ cup (180ml).
Add oyster sauce to the saucepan and stir well. Adjust seasonings to taste. Dissolve cornstarch into water, and slowly add the cornstarch slurry while stirring to thicken the sauce to your liking.
Bring a large pot with plenty of water to a boil, then add broccoli florets. Blanch quickly for 1-2 minutes to cook the broccoli while keeping it crisp-tender. Then briefly dip them into a bowl of room temperature water to stop the cooking process. Remove from water right away to retain some warmth. Drain well and arrange on a serving plate.
Slice the abalones thinly. Also slice the mushrooms if desired. Arrange them on top of the blanched broccoli. Pour the sauce generously over everything. Serve right away.