You don't need to know the answer to build the oracle for Grover. The Oracle only needs to only be able to "mark" the state you're looking for. In a real-life application, you wouldn't be looking for a specific bit-string, but rather you're looking for a bit string with a specific property X. Take the following example for instance:
You have a function $f(x)$ and you want to solve $f(x) = y$, for some $y$. Now for this specific problem, you can usually solve the problem analytically and it would be kind of dumb to do a search for $x$ but I think this example will demonstrate why you wouldn't need to know the answer. To do this using Grover, you can build a circuit $U$ such that:
$$U\vert x\rangle\vert0\rangle = \vert x\rangle \vert f(x)\rangle$$
Then if you prepare the state $(H^{\otimes m}\otimes I^{\otimes n})(\vert 0\rangle^{\otimes m}\otimes \vert 0\rangle^{\otimes n})$, $U$ will map it to:
$$\frac{1}{\sqrt{2^m}}\sum_x \vert x\rangle \vert f(x)\rangle$$
In this case we would need an oracle that can mark a state if it equals $y$, then we can perform Grover's search on the second register. If we're successful, then the first register will contain the answer to $f(x) = y$.