<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Viber SQlite Database Extraction / Forensics	</title>
	<atom:link href="https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/feed/" rel="self" type="application/rss+xml" />
	<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/</link>
	<description>Efficiency vs. Inefficiency, in a no-holds barred fight.</description>
	<lastBuildDate>Thu, 06 Nov 2025 03:01:43 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: admin		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-4174</link>

		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 06 Nov 2025 03:01:43 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-4174</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-4173&quot;&gt;interiorni vrati&lt;/a&gt;.

Thanks for the update. It would probably make sense to encrypt the database, so can&#039;t really blame the company for doing that. I guess this post is now just a historical sidenote.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-4173">interiorni vrati</a>.</p>
<p>Thanks for the update. It would probably make sense to encrypt the database, so can't really blame the company for doing that. I guess this post is now just a historical sidenote.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: interiorni vrati		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-4173</link>

		<dc:creator><![CDATA[interiorni vrati]]></dc:creator>
		<pubDate>Fri, 10 Oct 2025 10:02:46 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-4173</guid>

					<description><![CDATA[Unfortunately, viber.db encrypted in 2025 :( i tried many methods but no luck!]]></description>
			<content:encoded><![CDATA[<p>Unfortunately, viber.db encrypted in 2025 🙁 i tried many methods but no luck!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Cara		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-1001</link>

		<dc:creator><![CDATA[Cara]]></dc:creator>
		<pubDate>Sun, 12 Apr 2020 22:54:06 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-1001</guid>

					<description><![CDATA[I came across this and really need some help. You would probably come the closest to someone who would understand. I have an iPhone 6 (I realize it&#039;s different, but) and due to my own fault, my storage got really full and overloaded the phone. It corrupted the photos app (iphone&#039;s own photos app that contains camera roll) somehow and I couldn&#039;t even open the app- it would just be a blank screen and crash. However, all the pictures remain and take up the same storage (100 gb). Yesterday, my Viber app glitched too and suddenly I couldn&#039;t scroll back up to my old messages like I could before- it just stopped at a very recent date. Tragically this happened but the app data still takes up the same amount of storage (400 mb) so I&#039;m hoping somehow, I can do something to repair the Viber cache/database/sqlite/file/whatever it is, reboot it, and the app will magically repopulate all the messages. Problem is I can&#039;t back up my phone to itunes or any program before I start on a solution. Because of the glitches/corruption, I can&#039;t even do that. Would you know any solution? Or know anyone who could?? I would be willing to pay.]]></description>
			<content:encoded><![CDATA[<p>I came across this and really need some help. You would probably come the closest to someone who would understand. I have an iPhone 6 (I realize it's different, but) and due to my own fault, my storage got really full and overloaded the phone. It corrupted the photos app (iphone's own photos app that contains camera roll) somehow and I couldn't even open the app- it would just be a blank screen and crash. However, all the pictures remain and take up the same storage (100 gb). Yesterday, my Viber app glitched too and suddenly I couldn't scroll back up to my old messages like I could before- it just stopped at a very recent date. Tragically this happened but the app data still takes up the same amount of storage (400 mb) so I'm hoping somehow, I can do something to repair the Viber cache/database/sqlite/file/whatever it is, reboot it, and the app will magically repopulate all the messages. Problem is I can't back up my phone to itunes or any program before I start on a solution. Because of the glitches/corruption, I can't even do that. Would you know any solution? Or know anyone who could?? I would be willing to pay.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Adam		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-995</link>

		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Fri, 10 Jan 2020 13:33:47 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-995</guid>

					<description><![CDATA[Hi

I used this to filter by sender

SELECT strftime(&#039;%Y-%m-%d %H:%M:%S&#039;,(Events.TimeStamp/1000),&#039;unixepoch&#039;) AS Time, 
 Contact.Name AS Name,
 Contact.ClientName AS AltName,
 Contact.Number As Cellphone,
 CASE Direction WHEN 0 THEN &#039;rcvd&#039; ELSE &#039;sent&#039; END AS Direction,
 Messages.Body AS Message
FROM Events 
 INNER JOIN Contact ON Events.ContactID = Contact.ContactID
 INNER JOIN Messages ON Events.EventID = Messages.EventID
WHERE Name = &#039;personsname&#039;
ORDER BY Time;

How do I query for msgs between 2 contacts please?

Thanks in advance]]></description>
			<content:encoded><![CDATA[<p>Hi</p>
<p>I used this to filter by sender</p>
<p>SELECT strftime('%Y-%m-%d %H:%M:%S',(Events.TimeStamp/1000),'unixepoch') AS Time,<br />
 Contact.Name AS Name,<br />
 Contact.ClientName AS AltName,<br />
 Contact.Number As Cellphone,<br />
 CASE Direction WHEN 0 THEN 'rcvd' ELSE 'sent' END AS Direction,<br />
 Messages.Body AS Message<br />
FROM Events<br />
 INNER JOIN Contact ON Events.ContactID = Contact.ContactID<br />
 INNER JOIN Messages ON Events.EventID = Messages.EventID<br />
WHERE Name = 'personsname'<br />
ORDER BY Time;</p>
<p>How do I query for msgs between 2 contacts please?</p>
<p>Thanks in advance</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: John H		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-994</link>

		<dc:creator><![CDATA[John H]]></dc:creator>
		<pubDate>Wed, 27 Nov 2019 01:51:49 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-994</guid>

					<description><![CDATA[Sorry to be such a pest. Thankyou in advance for your patience. I am a novice..... :-)
I understand that if I can extract the whole database into  .csv / excel I can find the text I want. My problem is I cannot get that to work. The original SQL extracts the data within SQLite easily. I need that to extract to .csv

I tried to run by itself the SQL:
sqlite3 -header -csv -separator &#039;&#124;&#039; viber.db  output.csv
but get syntax error
I then tried to put the SQL: 
sqlite3 -header -csv -separator &#039;&#124;&#039; viber.db  output.csv
in to the original SQL you provided: (tried several places, but get syntax error)
SELECT strftime(&#039;%Y-%m-%d %H:%M:%S&#039;,(Events.TimeStamp/1000),&#039;unixepoch&#039;) AS Time,
Contact.Name AS Name,
Contact.ClientName AS AltName,
Contact.Number As Cellphone,
CASE Direction WHEN 0 THEN &#039;rcvd&#039; ELSE &#039;sent&#039; END AS Direction,
Messages.Body AS Message
FROM Events
INNER JOIN Contact ON Events.ContactID = Contact.ContactID
INNER JOIN Messages ON Events.EventID = Messages.EventID
ORDER BY Time;]]></description>
			<content:encoded><![CDATA[<p>Sorry to be such a pest. Thankyou in advance for your patience. I am a novice&#8230;.. 🙂<br />
I understand that if I can extract the whole database into  .csv / excel I can find the text I want. My problem is I cannot get that to work. The original SQL extracts the data within SQLite easily. I need that to extract to .csv</p>
<p>I tried to run by itself the SQL:<br />
sqlite3 -header -csv -separator '|' viber.db  output.csv<br />
but get syntax error<br />
I then tried to put the SQL:<br />
sqlite3 -header -csv -separator '|' viber.db  output.csv<br />
in to the original SQL you provided: (tried several places, but get syntax error)<br />
SELECT strftime('%Y-%m-%d %H:%M:%S',(Events.TimeStamp/1000),'unixepoch') AS Time,<br />
Contact.Name AS Name,<br />
Contact.ClientName AS AltName,<br />
Contact.Number As Cellphone,<br />
CASE Direction WHEN 0 THEN 'rcvd' ELSE 'sent' END AS Direction,<br />
Messages.Body AS Message<br />
FROM Events<br />
INNER JOIN Contact ON Events.ContactID = Contact.ContactID<br />
INNER JOIN Messages ON Events.EventID = Messages.EventID<br />
ORDER BY Time;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: admin		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-993</link>

		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 25 Nov 2019 08:52:00 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-993</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-992&quot;&gt;John H&lt;/a&gt;.

OK, so you&#039;re using the commandline sqlite command, like this, where viber.sql contains the query? 
sqlite3 -header -csv -separator &#039;&#124;&#039; viber.db &lt; viber.sql &gt; output.csv

... and it outputs a csv file? 
... and you just want to search it for some text? 

I don&#039;t see your problem in importing it into Excel. This guide should be fairly good. https://www.copytrans.net/support/how-to-open-a-csv-file-in-excel/
At stage 5, just put &#124; in the Other box. 

If that still isn&#039;t working, its just a text file. You could open it in a text editor, or even in Word and just use the Find button to look for text.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-992">John H</a>.</p>
<p>OK, so you're using the commandline sqlite command, like this, where viber.sql contains the query?<br />
sqlite3 -header -csv -separator '|' viber.db < viber.sql > output.csv</p>
<p>&#8230; and it outputs a csv file?<br />
&#8230; and you just want to search it for some text? </p>
<p>I don't see your problem in importing it into Excel. This guide should be fairly good. <a href="https://www.copytrans.net/support/how-to-open-a-csv-file-in-excel/" rel="nofollow ugc">https://www.copytrans.net/support/how-to-open-a-csv-file-in-excel/</a><br />
At stage 5, just put | in the Other box. </p>
<p>If that still isn't working, its just a text file. You could open it in a text editor, or even in Word and just use the Find button to look for text.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: John H		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-992</link>

		<dc:creator><![CDATA[John H]]></dc:creator>
		<pubDate>Sun, 24 Nov 2019 22:57:56 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-992</guid>

					<description><![CDATA[I really thankyou for your time.
Oh Dear, I am using SQL Lite, I tried as you said in last suggestion, but it doesn&#039;t output anything, whereas the original works fine to extract data, just need to either be able to export to SQL or find a specific part of a message
SELECT strftime(&#039;%Y-%m-%d %H:%M:%S&#039;,(Events.TimeStamp/1000),&#039;unixepoch&#039;) AS Time,
Contact.Name AS Name,
Contact.ClientName AS AltName,
Contact.Number As Cellphone,
CASE Direction WHEN 0 THEN &#039;rcvd&#039; ELSE &#039;sent&#039; END AS Direction,
Messages.Body AS Message
FROM Events
INNER JOIN Contact ON Events.ContactID = Contact.ContactID
INNER JOIN Messages ON Events.EventID = Messages.EventID
ORDER BY Time;

Appreciate the help]]></description>
			<content:encoded><![CDATA[<p>I really thankyou for your time.<br />
Oh Dear, I am using SQL Lite, I tried as you said in last suggestion, but it doesn't output anything, whereas the original works fine to extract data, just need to either be able to export to SQL or find a specific part of a message<br />
SELECT strftime('%Y-%m-%d %H:%M:%S',(Events.TimeStamp/1000),'unixepoch') AS Time,<br />
Contact.Name AS Name,<br />
Contact.ClientName AS AltName,<br />
Contact.Number As Cellphone,<br />
CASE Direction WHEN 0 THEN 'rcvd' ELSE 'sent' END AS Direction,<br />
Messages.Body AS Message<br />
FROM Events<br />
INNER JOIN Contact ON Events.ContactID = Contact.ContactID<br />
INNER JOIN Messages ON Events.EventID = Messages.EventID<br />
ORDER BY Time;</p>
<p>Appreciate the help</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: admin		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-991</link>

		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 23 Nov 2019 05:27:51 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-991</guid>

					<description><![CDATA[John H. Sorry for the confusion. The &quot;-csv-separator &#039;&#124;&#039;&quot; was referring to the command-line method of extracting the data. But if you&#039;re using the DBeaver method that won&#039;t be relevant. It&#039;s a long time since I wrote the original post, so I&#039;d forgotten that I was giving you two ways to get the data. 

If you&#039;ve used the DBeaver method to load the data, you can actually search in there. Its a database after all! Something like this

SELECT strftime(&#039;%Y-%m-%d %H:%M:%S&#039;,(Events.TimeStamp/1000),&#039;unixepoch&#039;) AS Time,
Contact.Name AS Name,
Contact.ClientName AS AltName,
Contact.Number As Cellphone,
CASE Direction WHEN 0 THEN &#039;rcvd&#039; ELSE &#039;sent&#039; END AS Direction,
Messages.Body AS Message
FROM Events
INNER JOIN Contact ON Events.ContactID = Contact.ContactID
INNER JOIN Messages ON Events.EventID = Messages.EventID
WHERE Message LIKE &quot;%text to search for%&quot;
ORDER BY Time;

Or, from DBeaver, export the results to CSV, and I think you should be able to specify a delimiter such as &#124; (which is an uncommon character unlikely to be used in messages). 

Or, there&#039;s even an extension to DBeaver which will let you export to Excel, I find. https://github.com/dbeaver/dbeaver/wiki/Extension-Office

Is any of that helping, or am I just making it more confusing?]]></description>
			<content:encoded><![CDATA[<p>John H. Sorry for the confusion. The "-csv-separator '|'" was referring to the command-line method of extracting the data. But if you're using the DBeaver method that won't be relevant. It's a long time since I wrote the original post, so I'd forgotten that I was giving you two ways to get the data. </p>
<p>If you've used the DBeaver method to load the data, you can actually search in there. Its a database after all! Something like this</p>
<p>SELECT strftime('%Y-%m-%d %H:%M:%S',(Events.TimeStamp/1000),'unixepoch') AS Time,<br />
Contact.Name AS Name,<br />
Contact.ClientName AS AltName,<br />
Contact.Number As Cellphone,<br />
CASE Direction WHEN 0 THEN 'rcvd' ELSE 'sent' END AS Direction,<br />
Messages.Body AS Message<br />
FROM Events<br />
INNER JOIN Contact ON Events.ContactID = Contact.ContactID<br />
INNER JOIN Messages ON Events.EventID = Messages.EventID<br />
WHERE Message LIKE "%text to search for%"<br />
ORDER BY Time;</p>
<p>Or, from DBeaver, export the results to CSV, and I think you should be able to specify a delimiter such as | (which is an uncommon character unlikely to be used in messages). </p>
<p>Or, there's even an extension to DBeaver which will let you export to Excel, I find. <a href="https://github.com/dbeaver/dbeaver/wiki/Extension-Office" rel="nofollow ugc">https://github.com/dbeaver/dbeaver/wiki/Extension-Office</a></p>
<p>Is any of that helping, or am I just making it more confusing?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: John H		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-990</link>

		<dc:creator><![CDATA[John H]]></dc:creator>
		<pubDate>Sat, 23 Nov 2019 03:15:22 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-990</guid>

					<description><![CDATA[Umm I tried, no result, not sure where to put the 
-csv -separator &#039;&#124;&#039;

I assume I have to somehow in SQL say mode .csv not sure what the commands are I put them before the select but can&#039;t seem to get it right]]></description>
			<content:encoded><![CDATA[<p>Umm I tried, no result, not sure where to put the<br />
-csv -separator '|'</p>
<p>I assume I have to somehow in SQL say mode .csv not sure what the commands are I put them before the select but can't seem to get it right</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: John H		</title>
		<link>https://play.datalude.com/blog/2017/06/viber-sqlite-database-extraction-forensics/comment-page-1/#comment-989</link>

		<dc:creator><![CDATA[John H]]></dc:creator>
		<pubDate>Sat, 23 Nov 2019 02:57:21 +0000</pubDate>
		<guid isPermaLink="false">https://play.datalude.com/blog/?p=402#comment-989</guid>

					<description><![CDATA[Thankyou for responding.I will try the .csv, and of course you are right finding a string in Excel is easier to do. I cannot thank you enough 
Regards
John]]></description>
			<content:encoded><![CDATA[<p>Thankyou for responding.I will try the .csv, and of course you are right finding a string in Excel is easier to do. I cannot thank you enough<br />
Regards<br />
John</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
