Secret Codes is under GNU GENERAL
PUBLIC LICENSE. It is written by Simone Pernice from
26th January 2009, build 37, version 1.9.1.
SecretCodes needs a MIDP 2.0 phone. The synchronize function was
tested on Motorola phones only.
To ask questions, suggest improvements or changes, fix bugs, send a
donation or postcard contact Simone.
This program is given WITHOUT any warranty. SecretCodes stores
encrypted databases, each of them may be used for a single topic.
Every database is made by a set of records. Every record is made by
a set of values and the labels associated to them (the records). It
is possible to backup and restore those records to/from a PC.
The initial screen shows all the available databases plus help and
about options. Select a database to open it, HELP to show this help
and ABOUT to read author and version details. To open a database it
is also required a password because they are encrypted. Use EXIT
button to exit the program and NEW button to create a new database
providing its name and password (the password has to be inserted
twice for confirmation, do not insert anything to avoid
After a database is opened its list of records is showed. If the
database is just created the list of labels is showed: set the
number of values and their label to use for the most of records.
Use ADD button to add records, use ADD SAME LABELS to add a new
record with the same labels of the selected one, use DELETE
DATABASE button to delete the entire database, use SAVE&CLOSE
button to save and close the database. Use SETTINGS to choose what
to show of every record, what value to use to order the records,
the sort order, the case sensitiveness, and if the labels should be
shown. Use SYNCHRONIZE to backup or restore the current database in
a PC or in another phone running SecretCodes: all the available
connections will be showed (USB cable and IrDA are defaults), if
the phone supports JSR82 it is also possible use Bluetooth. The
backup file in encrypted, to restore it a new database with the
same password has to be created. Use PASSWORD to change the current
password (the password has to be insert twice for confirmation, do
not insert anything to avoid encryption). Use EDIT COMMON LABELS to
set the number and name of the labels for most of the records.
Select a record to edit its key and values. Use DEL RECORD to
delete the record, use EDIT LABELS to set up a list of personalized
number of values and value names for that record, use NEW PASSWORD
to generate a random password for a value field. EDIT LABELS shows
a new screen to add or remove values, and to use the common labels.
GEN PASSWORD shows a new screen: select in which value will be
inserted the password, the password length, if it has to include
lower case chars, upper case chars, numbers, symbols or if it has
to follow a template where every place is of a given type. Use GEN
PASSWORD to make a new password (which can be edited), use OK to
write it in the value field and CANCEL to go back.
USB Synchronization Procedure
I usually receive a lot of questions about the USB synchronization. It
is based upon J2ME Serial Connection interface, which let the phone
links to the PC through USB/Serial/IrDA protocol. On the PC a
simple terminal emulator will receive the data in text format and
save it. Unfortunately the link procedure is not standardized by
J2ME, therefore every manufacturer needs its own steps and phone
settings. Here I will describe the procedure for Motorola
In order to save on your PC a database you have to open a database
with your password and then select backup option. The phone will
ask you if SecretCodes is allowed to use your phone com port.
Answer yes and (only then) plug an USB cable from your PC to your
phone. Then start HyperTerminal (you can find it in start ->
programs -> accessories -> communication). It will ask for a
connection name and then a port: select the same com port of the
phone (which you can find in device manager after your phone is
linked to the pc). At this point in Hyper Terminal select transfer
-> capture text and chose a file name. Eventually push a key in
Hyper Terminal to get all your database in text format.
The restore procedure is exactly the opposite of backup with the
exception it is not required to press any key.
Tools to Synchronize
Janvrot Ivan Vicente Miranda made a software for backup and restore
Secret Codes databases through USB connection. It has a nice
graphical interface based upon Qt library. The software was developed
and tested on Linux (I tried it on Ubuntu), however Janvrot kindly
compiled the tool for Windows as well (although that version needs some
improvement). Janvrot kindly made it
available as open source. Janvrot compiled the code for Linux and
Windows (which requires the Qt libray dll: qt-mt338.dll). I find it
really useful for the people who want to make database backup and
restore over USB cable therefore I put its code on my website.
Linux Backup/Restore Executable
Windows Backup/Restore Executable
CodeThe backup feature need further development. You need to
download also Qt libray qt-mt338.dll
Linux Backup/Restore Source
There are several secret code variants depending if the phone supports
only serial cable connection (USB/RS232) or Bluetooth (JSR82) or
file system (JSR75). I want to thank Jakub Stryja for its idea of file
system backup and its help to test the file system version.
Backup on serial cable only
Backup on serial cable and Bluetooth (JSR82)
Backup on serial cable and phone's file system (JSR75)
Source code of all versions