Try iPhoneRingtoneMaker. If you have 1.00-1.02 firmware, download the latest version. If you have 1.1.1, there's an alpha of the program (1.4.0) that will work, but for some reason it might take a few times sending the ringtone to the phone to work.
Well... if by "without the hack" you mean without jailbreaking, I'm not sure there is a way to get free ringtones on 1.1.1
My only deal is that with jailbreakme.com, I dont see why anyone would still be on 1.0.2. After upgrading, visiting the site, and jailbreaking, just install "SendSong ver .19e" from Installer. Select a song, and click "Send to Ringtones".
That's the easiest way I know of. You can't trim songs unless you edit them on your computer and sync them via iTunes, but hey... at least that way its still free...