If you can't see how things are running (coding) wouldn't that make it harder to attack such code or network?
That's wrong. We still see it; we need to get a binary of some sort to run after all, right.
Hackers can look at either the binary directly or its disassembly, it's possible to
fuzz test a binary and do all sorts of
static and
dynamic program analysis.
How else do you think jailbreaks and Windows exploits are created?