Peter Hanson has world No 1 Rory McIlroy breathing down his neck with a day to go at the BMW Masters in Shanghai.