i'm sorry i'm not a programmer

, any open source tool available to do that?
Do you have bitcoind running on a linux server?
In that case, something like this might work:
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "yourkey"$i ; done
Bravo! Many thanks!

, i don't have bitcoind running now, but i will get one to do so.
That will only guess a final character (i.e. is assuming you missed the very last character only). If you are not certain which character you missed then you'd need to basically repeat like this:
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "y"$i"ourkey" ; done
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "yo"$i"urkey" ; done
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "you"$i"rkey" ; done
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "your"$i"key" ; done
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "yourk"$i"ey" ; done
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "yourke"$i"y" ; done
for i in `perl -e '$,=" ";print +(A..Z),(a..z),(0..9)'` ; do bitcoin-cli importprivkey "yourkey"$i ; done
(hope that makes sense and of course the first character is always going to be the 5)