It is well-known that the Schnorr identification protocol is honest-verifier perfect ZK because in the honest-verifier setting a simulator can choose (or know in advance) the verifier challenge.
From my reading it seems like Schnorr can be made (dishonest-verifier) ZK by reducing the domain of the challenge to $\{0, 1\}$. In this case, the simulator has access to a blackbox verifier that might emit a challenge $0$ or $1$ which it has to predict in advance. As such, the simulator might not be able to produce a correct transcript, but is able to produce one in $2$ attempts in expectation.
So far so good. What I don't understand is why is this OK? Since the simulator might abort/fail half of the time, doesn't this give the dishonest verifier adversary great odds to distinguish between a real prover transcript and a simulator transcript?