There is no software that will substitute for a mic preamp. There is a good technical reason Apple doesn't provide a mic level input jack on any modern Mac: mic level signals are so weak that it is extremely difficult to amplify them without also amplifying the noise of nearby digital circuitry, producing an annoying chirping or whirring sound that varies with the amount of CPU activity the computer does.
For this reason, internal mic modules have a built-in preamp attached directly to the mic element. The module also has separate shielding & power connections designed to prevent digital ground noise from affecting it. Even so, it is often necessary to place the module as far from the CPU & other digitally noisy circuits as possible or heavily filter the audio to prevent audible noise in the output.
There is also a second technical reason mic level inputs are not included that has to do with mic cabling. Without getting into the technical details, it is hard to explain in simple terms but basically you can't use long cables with cheap mics without severely degrading audio quality. If you need to place a cheap mic more than around 6 to 10 feet from the computer's audio input, you should use an external preamp attached directly to the end of the mic's cable for good results. It is usually more practical to use a mic intended for line level inputs to begin with.
As an alternative, you can use something like the
Griffin iMic, a USB audio interface that powers the built-in preamp with power from the USB bus.