True Story, most "crackers" these days just edit the source code (usually c++/java) by changing variables for a pre-written bot. They link the latest greatest exploits/buffer overflows, and use it's already built in port scanning features, which autoscan blocks of ip addresses. After infecting new machines, they join the same channel, and can also be remotely controlled. Mostly used for drdos attacks these days.
On a side note, only a handful of people are going to write one from scratch. 99.9% of the time your going to borrow functions, and why not?