SQLite BLOB exporter with GUI

As promised in one of previous posts, I’ve written a little GUI-ed program in Java that allows exporting BLOBs data from SQLite to separate files. And I’m giving it away, with all sources.

The program has only one dependency – sqlitejdbc-v056.jar, which is a JDBC driver for SQLite databases. Download it from www.zentus.com/sqlitejdbc/ and put in the same folder where my program’s JAR is.
(UPD: actually it’s better to download newer driver – “sqlite-jdbc-3.7.2.jar” or latter from here – http://code.google.com/p/sqlite-jdbc/)

Besides the above-mentioned dependency, my program is just a single JAR file (sources are packed into it). To launch the program simple double-clicking on it should be just enough. If it isn’t, search web for “launch JAR” – you’ll find plenty of instructions. You must have Java installed, but that is an obvious thing I suppose.

Here’s the download link: mvmn.ho.ua/dld/sliteblobexp.jar (MD5 checksum = 99ca2488ac62f48721dced3c119d1271).
UPD: now also on GitHub – github.com/mvmn/sqlite-blob-export. See “distr” for binary distribution (built JAR file).

A small video of it in action:

SQLite: export BLOB to file; ToastMaster SpeechTimerz: export audio records; Apple CAF to MP3

UPD: Apparently the sqlite BLOB export stuff is a popular request, and my article on how to do it here with Java program source code is just too complex for people that aren’t familiar with Java. So I’m going to do a better one soon, with more complete Java program, precompiled for anyone to use. Stay tuned.
Done! Check this post.

UPD2: It seems JailBreak is not really necessary to get the files from SpeechTimerz – you can use tools like DiskAid or iExplorer to get files from your iPhone apps, JailBreak is not necessary for that (which is good, because it seems iOS5 on iPhone4 isn’t properly jailbreakable still, and for 4s and iPad2 there’s even no “beta” jailbreak).

There is an iPhone app called SpeechTimerz that (among others) I use for ToastMasters public speaking club meetings to perform “timekeeper” role. Besides helping to track/indicate time this app also records audio during speech time, so technically by the end of the meeting all speeches are recorded and can be listened to from the iPhone. But there is no audio export feature in the app, so there is no way to get recordings anywhere.

Having a jailbroken iPhone I have access to all files on it, so I decided to dig in this apps files to see where does the audio go and check wether I could get it out. And I succeeded.

What I found out was that audio (in Apple Core Audio Format) is stored in SQLite database as BLOB (Binary Large OBject) field. So once I’ve got my hands on the file the task was to extract BLOB values from it. It turned out to be a bit harder than I thought.

The final touch was to batch-convert Apple CAF (Core Audio Format) to MP3, which also took me a bit of digging.
Continue reading