Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

I opened an sqlite database file, and it seems to have many rows that arent readable. The data has got weird symbols including "question mark diamonds". Is it data that iphone encrypts when it goes to the database and decrypts back. Is there a way to read the data?

What are my chances of decrypting it? where do I start?

share|improve this question
add comment

closed as off topic by Adnan, Terry Chia, TildalWave, NULLZ, Gilles May 26 '13 at 8:05

Questions on Information Security Stack Exchange are expected to relate to Information security within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 0 down vote accepted

encoding != encryption

What you describe as non-readable and weird symbol characters does not necessarily suggest encryption. What it means is, there are some parts of data using characters that can not be visually represented by the software you're using to read them.

This could be either visual representation of non-printable control characters (such as carriage return, linefeed,...) and are substited with a visual representation characters of software designers' choice, or extended range Unicode characters that the application you're using to read this data back can't represent by the font and character set it's using, be it by design, or by improper character reperesentation settings in it (if supported at all).

In short, character encoding used isn't supported by your data inspector, and for all we know, it might as well be binary data stored in a BLOB field. This, however, doesn't automatically suggest the fields are encrypted in any way.

share|improve this answer
add comment

Apple encrypts data using a CommonCrypto library and I would guess what you are seeing is SQLCipher. Details to be found in the manual.

http://developer.apple.com/library/ios/#documentation/Security/Reference/certifkeytrustservices/Reference/reference.html#//apple_ref/doc/uid/TP30000157

Also I recommend reading these:
http://mobileorchard.com/tutorial-iphone-sqlite-encryption-with-sqlcipher/
http://sokol8.blogspot.no/2011/05/iphone-sqlite-data-encryption-sqlcipher.html
http://stackoverflow.com/questions/929744/encrypting-sqlite-database-file-in-iphone-os

share|improve this answer
1  
Is there any tool to decrypt the database? I dont care to decrypt each value. I run windows 7 btw –  BlackFire27 May 22 '13 at 7:43
    
I believe this has been asked before, eg. take a look at the following stackoverflow.com/questions/16665945/… –  Andy Thompson May 22 '13 at 7:47
1  
Andy - this answer would be much more valuable if you could summarise the bits in that link that answer the question. This also helps protect against link rot. –  Rory Alsop May 22 '13 at 23:08
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.