Rory McIlroy lies two shots behind leader Peter Hanson after the second round of the BMW Masters in Shanghai.