Extract cab file and use the database - database

I found an old windows mobile dictionary application and I want to get the database. I extract it but I don't know how to convert it to csv or sql file. Have anybody idea about it ?
You can download the file from here http://www.mediafire.com/download/z32xgmc9fia3nr2/OGD.Akilli.Sozluk.CAB
And I use Ubuntu.

SQLite makes available the C source code to compile a shell program which can be used to do this. It's apparently also included by Ubuntu. Here is the man page for the sqlite shell included with Ubuntu. Please review the documentation as there are a few ways to convert to CSV or get the schema of a table.
Alternatively, you can use a 3rd party tool to view the database in a GUI. I can't speak for Linux solutions, but Firefox has a 3rd party plugin called "SQLite Manager" that will let you use SQLite files in a GUI if you prefer it that way.

Related

Best location for sqlite db file on mac OSX

I am deploying a Delphi Firemonkey app on Mac OSX and being new to Mac programming I am wondering where I should install the sqlite database file.
Under Windows I usually put it in the application installation directory but this isn't appropriate on a Mac (I think!).
There will not be a need for multi-user access to the db file
I have currently placed it in /Library/Application Support/Myapp/Myapp.db but wonder if there is a better (or official) place to put it.
I'd suggest that you take a look at the guidelines from Apple.
You can use '/Library/Application Support/Myapp/Myapp.db' if the database does not contain user specific data. Otherwise use '~/Library/Application Support/Myapp/Myapp.db'.
Please don't hard code those folders, but use NSFileManager.URLForDirectory for retrieving them.

Decompressing .lz file

Curiosity is one of my personal keys. I got a folder of an executable c application, this folder include many files some are files.so , files.ini and other files.lz and I decided to try do some kind of reverse engineering, so I have used a reverse engineering online tool for the files.so and files.ini are already opened via notepad as we all know, but now my problem is about opening files.lz, which i already know that it contains libraries to be used for functions on files.so
This is what i want to know and to have some help in it how can I decompress it via a desktop tool or even an online tool?
Should be Lzip.
When you are in the linux-world, one very usefull commands is file:
$ file myFile.lz
myFile.lz: lzip compressed data, version: 1

File extension .DB - What kind of database is it exactly?

I have a database file with .DB file extension. I have been googling and it looks like SQLite. I tried to connect to it using SQLite and SQLite3 drivers and I am getting an error "File is encrypted or not a database".
So I dont know if file is encrypted or it is not an SQLite database. Are there any other options what should the .DB extension should be? How do I find out that file is encrypted?
I tried to open it in the text editor and it is mostly a mess of charaters and some times there are words visible. I have uploaded the file here: http://cl.ly/3k0E01373r3v182a3p1o for the closer look.
Thank you for your hints and ideas what to do and how to work with this file.
Marco Pontello's TrID is a great way to determine the type of any file.
TrID is simple to use. Just run TrID and point it to the file to be analyzed. The file will be read and compared with the definitions in the database. Results are presented in order of highest probability.
Just download the executable and the latest definitions file into the same directory and then run TrID:
trid.exe "path/to/file.xyz"
It will output a list of possible file types for the file with a confidence rating. Here's a screenshot of using TrID to analyze a SQLite database file:
There's also a GUI version called TrIDNet:
If you're on a Unix-like platform (Mac OS X, Linux, etc), you could try running file myfile.db to see if that can figure out what type of file it is. The file utility will inspect the beginning of the file, looking for any clues like magic numbers, headers, and so on to determine the type of the file.
Look at the first 30 bytes of the file (open it in Notepad, Notepad++ or another simple text viewer). There's usually some kind of tag or extension name in there.
Both SQLite 2 and SQLite 3 have a very clear message: SQLite format 3 for SQLite 3 (obviously) and This file contains an SQLite 2.1 database for SQLite 2.
Note that encrypted SQLite databases don't have a header like that since the entire file is encrypted. See siyw's comment below.
On a Unix-like system (or Cygwin under Windows), the strings utility will search a file for strings, and print them to stdout. Might help you narrow the field.
There are a lot of programs besides database programs that use a "db" extension, including
ArcView Object Database File (ESRI)
MultiEdit
Netscape
Palm
and so on. Google "file extensions" for some sites that catalog file extensions and the programs that use them.
There's no conclusive way to know, because SQLite encrypts the entire database file, including the header.
Further, there's not a lot of difference to you, except for possible error text to a user if you're prompting them for a password.

Find out which DBMS belongs the file

I've an application, that uses encrypted (txt) files to store data. After investigating the decompiled assembly I concluded that it's a file of some DBMS. So how can find out which DBMS is this application using to store it's data, so that I can attach that file to the correct DBMS.
This is little application and there is no license problem. I can just ask the owner to gimme the data, but just curious to solve this myself.
MORE INFO:
Platform is Windows, and after trying couple of decompilers I concluded that it WAS written in Visual C++. However I couldn't fully decompile this exe, otherwise I just could find out it from the source code.
A couple ideas.
If opening the file in a HEX editor doesn't give you any information (like a magic identifier at the start of the file, which you can pop into google, then:
Use the depends tool from microsoft to grab a list of the DLLs being loaded by the application. Chances are whatever DBMS it's using is contained in an external library.
If the first two suggestions yield nothing, load the executable into IDA pro freeware and have a look at the code which is creating these files.

Open and read Excel from a Linux based C program?

I am trying to locate a set of source code that would allow me to open and read the contents of an Excel file on Linux from within a C program.
I dont really want to link it to OpenOffice SDK if I can find something that just does these two things.
carl
If following suites you, then You may take read routines from
Sourceforge
and write routines from
What is a simple and reliable C library for working with Excel files?
As far as I know there is no library that does this. The common method is always to save the file as CVS in Excel, although then markup etc. is lost.
You could try to use the Excel plugin of Gnumeric:
http://svn.gnome.org/viewvc/gnumeric/trunk/plugins/excel/
It works very well (inside gnumeric).
You can use xlhtml to convert the Excel files into HTML, and then use your favorite HTML parser to extract the cell data.
Check out the answers to What is the best C library that can access Excel files?
Possible things for you to look at:
C : xlsLib
C++ : LibExcel
Though I think both are write-only, which is perhaps not what you need.
Grab the xls reading code from Open Office.
why don't you just use Google Docs? With Gears it has offline support and you can edit files too, just a thought - http://docs.google.com
Check out XLSX I/O at https://sourceforge.net/projects/xlsxio/
It is a cross platform C library to read from and write to Excel .xslx files.
Works on Windows, OS X, Linux and does not require Excel or Office to be installed.
It is intended for sequential access to data in .xlsx files, so if it's only the values you are interested in this is what you need.

Resources