[bt-devel] NET Bible Unlock Bug
Troy A. Griffitts
scribe at crosswire.org
Thu Sep 27 10:40:25 MST 2007
This issue is partly a decision we made in the SWORD engine. It was
never our intent to allow automated determination if an unlock key was
correct. This was to avoid brute force cracking of keys. In the
windows frontend, we allow the user to type in their key, we use the key
to decipher a couple verses and display for them and ask them if they
would like to continue to use this key. Basically, in the frontend, if
there is a key present, we assume that the module has been unlocked.
There are a number of flaws to this protection; as Martin has shown, it
is fairly easy to determine a likely success programmatically by
checking for mostly printable chars.
Jeremy Erickson wrote:
> As I posted on the wiki, I found a bug in the port of BibleTime to KDE 4
> which it turns out is also present in the current KDE 3 version. When I
> start BibleTime, it prints a message, "WARNING: Unlock key of module NET is
> not valid." However, it is nonetheless possible to use the module as if
> there was no problem. I found out that the message is being printed from
> line 178 in src/backend/drivers/cswordmoduleinfo.cpp when it encounters a
> nonprinting character in the text of Genesis 1. It does in fact decrypt the
> text properly, but some Hebrew characters (the name "Elohim" in footnote 2 of
> 1:1) are represented improperly in the QString and as such test as
> nonprinting characters. This causes the test for a proper unlocking to fail.
> I think the root cause is using fromLatin1() when the text itself was not
> encoded in Latin 1. Would there be a simple fix to make sure the text
> encoding is handled properly? I think this would be sufficient to fix the
> bug. Alternatively, would there be a cleaner way to check for unlocking?
>
> -Jeremy Erickson
>
> _______________________________________________
> bt-devel mailing list
> bt-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/bt-devel
More information about the bt-devel
mailing list