In questo workshop di 5 ore, abbiamo effettuato una breve introduzione a Swift, arrivando a realizzare in poche ore un’applicazione partendo da zero, che permetta all’utente di essere geolocalizzato e che gli permetta di effettuare il check-in nella bellissima e suggestiva location di Todi.
Introduzione ad Android del 14.10.2015 per la settimana della programmazione #codeweek2015.
La presentazione descrive il percorso migliore per iniziare lo sviluppo Android. Presentato anche Android Studio, l'IDE ufficiale della piattaforma. Consigli sulle librerie da utilizzare
Android development - the basics, MFF UK, 2013Tomáš Kypta
This document provides an overview and agenda for an Android development course. It covers the basics of the Android platform, development tools, building blocks of Android apps like activities and fragments, and other key topics like resources, intents, lifecycles, and handling different device configurations. The document gives developers an introduction to developing apps for the Android ecosystem.
Slides made for the third apointment of the three lessons course "Xamarin Introduction", kept at the Politecnico di Milano.
These are the slides used to present how to use SQLite in a Xamarin.Forms app.
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
In questo workshop di 5 ore, abbiamo effettuato una breve introduzione a Swift, arrivando a realizzare in poche ore un’applicazione partendo da zero, che permetta all’utente di essere geolocalizzato e che gli permetta di effettuare il check-in nella bellissima e suggestiva location di Todi.
Introduzione ad Android del 14.10.2015 per la settimana della programmazione #codeweek2015.
La presentazione descrive il percorso migliore per iniziare lo sviluppo Android. Presentato anche Android Studio, l'IDE ufficiale della piattaforma. Consigli sulle librerie da utilizzare
Android development - the basics, MFF UK, 2013Tomáš Kypta
This document provides an overview and agenda for an Android development course. It covers the basics of the Android platform, development tools, building blocks of Android apps like activities and fragments, and other key topics like resources, intents, lifecycles, and handling different device configurations. The document gives developers an introduction to developing apps for the Android ecosystem.
Slides made for the third apointment of the three lessons course "Xamarin Introduction", kept at the Politecnico di Milano.
These are the slides used to present how to use SQLite in a Xamarin.Forms app.
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
Analysts spend up to 80% of their time on data preparation delaying the time to analysis and decision making.” -Analysts spend up to 80% of their time on data preparation delaying the time to analysis and decision making.” Gartner
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
In occasione dell’Oracle MySQL Tech Tour 2016, il TechAdvisor Daniele Marcocci ha illustrato come Oracle OpenStack e MySQL Enterprise Edition permettono di realizzare un DBaaS funzionale e produttivo.
Nella sessione introduttiva sono stati trattati i seguenti punti:
- Capiamo l’architettura
- Approfondimenti
- Database-as-a-Service
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/database-as-a-service-con-mysql-e-oracle-openstack
DB2 Web Query for i – intuitivo, semplice, modulare.
Accesso alle informazioni di business per interrogazioni, rapportistica ed analisi veloci e facili
Node.js REST interface for MongoDB, we modified mongodb-rest (https://github.com/tdegrunt/mongodb-rest) to manage more operation:
counting elements
"distinct" operations
excel/csv export
list of available db collection
list of keys of a specific query
Multithreading support
It's now also possible to search by date range and are managed sort operations.
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Italia
Yashi divisione enterprise in coillaborazione con Microsoft presentano una guida immediata sul perchè conviene migrare ora il vostro Server a Microsoft Windows server 2012 R2
Da luglio 2015 cesserà del tutto il supporto sul sistema 2003 Server e verrà ridotto il supporto su server 2008. Ma non è solo una questione di affidabilità: il mondo è cambiato e con i nuovi sistemi operativi si affrontano meglio le sfide del mercato globale che inevitabilmente riguardano anche la tecnologia informatica della vostra azienda. Un'occasione anche per i partner e operatori specializzati per increentare il business con soddisfazione del cliente.
Programmazione web libera dai frameworkFrancesca1980
Un nuovo progetto web parte quasi sempre con la domanda "che framework usiamo?" Diamo per scontato che non si possa sviluppare per il web senza fare uso di framework. Ma che succederebbe se decidessimo di sviluppare senza framework? Potremmo ottenere maggiore controllo e qualità, meno rischi e meno costi. Serve "solo" la volontà di imparare a programmare bene. Darò alcune dritte con Java e TDD.
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
I detrattori parlano di un declino di Drupal: sempre meno developer lo scelgono per realizzare siti. Eppure se osserviamo la qualità dei progetti basati su Drupal, è evidente che si tratti di progetti di impatto sempre maggiore, per lo più a livello enterprise, in grado di garantire vere e proprie esperienze digitali innovative.
Drupal rimane non solo il più potente e sicuro CMS open source enterprise-grade, ma è diventato un CMF solido che ha saputo rinnovarsi seguendo i principi del framework MACH che promuove piattaforme basate su microservizi, che siano API-first, cloud native ed headless. Quindi no, nessun declino, Drupal è al passo con le migliori tecnologie esistenti sul mercato.
Ecco di cosa parliamo oggi: la nuova major release di Drupal è alle porte e vogliamo raccontarvi tutte le novità per utenti e developer.
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-serviceMarco Pozzan
Power BI Dataflow è il componente di trasformazione dei dati in Power BI. È un processo di Power Query che viene eseguito nel cloud. Bene, questa potrebbe non sembrare una funzionalità molto nuova, giusto? Quindi cosa c'è di nuovo con Dataflow? Le risposte alle vostre domande saranno nella mia sessione :-)
Deft Linux is a free digital forensics and incident response Linux distribution that provides tools for investigating cybersecurity incidents. Giovanni Rattaro, an IT security consultant and member of the BackTrack Linux project, leads the Deft Linux team. The next release, code named "Deft X Xplosion", will build on the existing digital forensics and incident response tools included in previous Deft Linux, Deft Zero, and DART distributions.
Analysts spend up to 80% of their time on data preparation delaying the time to analysis and decision making.” -Analysts spend up to 80% of their time on data preparation delaying the time to analysis and decision making.” Gartner
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
In occasione dell’Oracle MySQL Tech Tour 2016, il TechAdvisor Daniele Marcocci ha illustrato come Oracle OpenStack e MySQL Enterprise Edition permettono di realizzare un DBaaS funzionale e produttivo.
Nella sessione introduttiva sono stati trattati i seguenti punti:
- Capiamo l’architettura
- Approfondimenti
- Database-as-a-Service
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/database-as-a-service-con-mysql-e-oracle-openstack
DB2 Web Query for i – intuitivo, semplice, modulare.
Accesso alle informazioni di business per interrogazioni, rapportistica ed analisi veloci e facili
Node.js REST interface for MongoDB, we modified mongodb-rest (https://github.com/tdegrunt/mongodb-rest) to manage more operation:
counting elements
"distinct" operations
excel/csv export
list of available db collection
list of keys of a specific query
Multithreading support
It's now also possible to search by date range and are managed sort operations.
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Italia
Yashi divisione enterprise in coillaborazione con Microsoft presentano una guida immediata sul perchè conviene migrare ora il vostro Server a Microsoft Windows server 2012 R2
Da luglio 2015 cesserà del tutto il supporto sul sistema 2003 Server e verrà ridotto il supporto su server 2008. Ma non è solo una questione di affidabilità: il mondo è cambiato e con i nuovi sistemi operativi si affrontano meglio le sfide del mercato globale che inevitabilmente riguardano anche la tecnologia informatica della vostra azienda. Un'occasione anche per i partner e operatori specializzati per increentare il business con soddisfazione del cliente.
Programmazione web libera dai frameworkFrancesca1980
Un nuovo progetto web parte quasi sempre con la domanda "che framework usiamo?" Diamo per scontato che non si possa sviluppare per il web senza fare uso di framework. Ma che succederebbe se decidessimo di sviluppare senza framework? Potremmo ottenere maggiore controllo e qualità, meno rischi e meno costi. Serve "solo" la volontà di imparare a programmare bene. Darò alcune dritte con Java e TDD.
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
I detrattori parlano di un declino di Drupal: sempre meno developer lo scelgono per realizzare siti. Eppure se osserviamo la qualità dei progetti basati su Drupal, è evidente che si tratti di progetti di impatto sempre maggiore, per lo più a livello enterprise, in grado di garantire vere e proprie esperienze digitali innovative.
Drupal rimane non solo il più potente e sicuro CMS open source enterprise-grade, ma è diventato un CMF solido che ha saputo rinnovarsi seguendo i principi del framework MACH che promuove piattaforme basate su microservizi, che siano API-first, cloud native ed headless. Quindi no, nessun declino, Drupal è al passo con le migliori tecnologie esistenti sul mercato.
Ecco di cosa parliamo oggi: la nuova major release di Drupal è alle porte e vogliamo raccontarvi tutte le novità per utenti e developer.
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-serviceMarco Pozzan
Power BI Dataflow è il componente di trasformazione dei dati in Power BI. È un processo di Power Query che viene eseguito nel cloud. Bene, questa potrebbe non sembrare una funzionalità molto nuova, giusto? Quindi cosa c'è di nuovo con Dataflow? Le risposte alle vostre domande saranno nella mia sessione :-)
Deft Linux is a free digital forensics and incident response Linux distribution that provides tools for investigating cybersecurity incidents. Giovanni Rattaro, an IT security consultant and member of the BackTrack Linux project, leads the Deft Linux team. The next release, code named "Deft X Xplosion", will build on the existing digital forensics and incident response tools included in previous Deft Linux, Deft Zero, and DART distributions.
deftcon 2015 - Epifani, Picasso, Scarito, Meda - Tor Browser forensics on Win...Deft Association
This document summarizes research into analyzing artifacts from the Tor browser on Windows systems. It describes how the Tor browser leaves various artifacts that can be analyzed, including prefetch files, the UserAssist registry key, thumbnail cache, Windows search database, bookmarks, pagefile.sys, and memory dumps. These artifacts can reveal information like installation date, execution dates and paths, and evidence of websites visited. The document provides an example of how analysis of these artifacts was used in a case to identify the suspect who accessed a private company's salaries before they were published online.
deftcon 2015 - Dave Piscitello - DNS Traffic MonitoringDeft Association
This document discusses how DNS is used by cybercriminals and malware in various ways. It describes how criminals register domains for malicious purposes like phishing, botnets, and malware distribution. It also explains how legitimate domains get compromised and used for criminal ends. The document advocates monitoring DNS traffic and logs to detect abnormal queries that could indicate cyberattacks, exploits, or command and control communications between infected devices and criminal infrastructure.
deftcon 2015 - Nino Vincenzo Verde - European Antitrust Forensic IT ToolsDeft Association
The document discusses the European Antitrust Forensic IT Tools (EAFIT_TOOLS) project. It provides an overview of the project objectives, which are to develop a prototype indexing software to boost technical convergence of forensic analysis tools for European antitrust authorities. The software will index large amounts of documents collected during dawn raids and enable collaborative review. Requirements were gathered from authorities and include capabilities for on-site indexing and analysis during raids. The software architecture is discussed and it will be released as open source. The goals are to standardize forensic procedures and tools to aid multi-jurisdictional antitrust investigations.
Paolo Dal Checco, Alessandro Rossetti, Stefano Fratepietro - DEFT 7 ManualDeft Association
The document is a manual for DEFT 7 Linux, an open-source digital forensics distribution. It describes the authors and contributors to the toolkit. It also includes an end user license agreement and acknowledgements. The manual provides an overview of the applications included in DEFT Linux and DART, the Windows-based component, and requirements for running the distributions.
Paolo Dal Checco, Alessandro Rossetti, Stefano Fratepietro - Manuale DEFT 7Deft Association
DEFT is a Linux distribution and toolkit for digital forensics and intelligence activities. It contains various Linux applications and scripts as well as Windows applications through the DART suite. Some key features include tools for acquiring, analyzing, and investigating digital evidence from a variety of sources like hard drives, smartphones, and network traffic. This manual provides an overview of the main applications in DEFT and includes some tutorials for common digital forensics tasks.
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...Deft Association
This document presents a comprehensive black-box methodology for testing the forensic characteristics of solid-state drives (SSDs). The methodology aims to assess how SSD technologies like trim, garbage collection, wear leveling, and compression impact forensic analysis. A series of controlled experiments are conducted on several SSD models to determine if they implement these technologies and how they affect data persistence and file recoverability when using standard forensic tools and approaches in a black-box setting. The results provide insight into the challenges of SSD forensics and help evaluate the feasibility of potential white-box analysis techniques.
3. DEFT Conference 2012
Obiettivi
Fornire una conoscenza di base su SQLite dal
punto di vista architetturale e funzionale
Presentare le principali caratteristiche dell'SQL
di SQLite
Fornire una panoramica sulle basi dati SQLite
usate dai piu' comuni programmi (eg. Skype,
Firefox, Chrome, ...) e di come analizzarle in
ambito forensics
4. DEFT Conference 2012
Argomenti non trattati
Internals
•Data types
•Strutture dati interne (file format, WAL, ...)
•Versioni ed evoluzione
Programmazione di applicazioni
•Interfacce di programmazione
•Sviluppo su Android, iPhone, Windows Phone
•Un esempio completo in C language
5. DEFT Conference 2012
SQLite
SQLite e' DBMS relazionale piu' installato al
mondo. SQLite e' un software di pubblico
dominio. I suoi principali punti di forza sono:
•Free! Gratis e distribuito con una licenza molto, molto
libera (public domain)
•Falcilmente integrabile nelle applicazioni
•Robustezza ed integrita' dei dati
•Presente praticamente su ogni smartphone, su ogni MAC,
sulla maggioranza dei PC, disponibile su tutti i sistemi
operativi, utilizzato da centinaia di programmi, ...
•Un ottimo e completo SQL utilizzabile direttamente e con i
piu' diffusi linguaggi di programmazione
6. DEFT Conference 2012
Diffusione
SQLite e' utilizzato da:
– Tutti i cellulari Android ed iPhone
– Programmi diffusissimi (stima > 70% PC):
• Firefox, Chrome, Skype, Thunderbird, Dropbox, ...
– I piu' recenti cellulari Symbian
– Tutti i sistemi MAC OS X e Solaris 10
– Molti lettori MP3
– ...
Si stima un utilizzo superiore a 500.000.000 installazioni
7. DEFT Conference 2012
Architettura
L'architettura di SQLite e' semplice. Un database
SQLite e' costituito da un solo fle. Non c'e' nessun
programma, thread o processo. Per accedere a SQLite
un'applicazione deve semplicemente utilizzare la
libreria disponibile come software di pubblico
dominio.
Il formato del fle e' defnito in modo preciso dalle
specifche ed inizia con stringa: “SQLite format 30”. Il
formato e' binary compatible su TUTTE le piattaforme.
Sono disponibili diversi programmi per accedere in
modo semplice ai dati.
8. DEFT Conference 2012
SQL
SQLite supporta lo standard ANSI SQL92 in modo praticamente
completo (sono pochissimi sono i costrutti non implementati).
SQLite e' semplice da utilizzare da linea di comando:
$ sqlite3 my.db
SELECT dept.location, count(*), sum(salary)
from emp, dept
where emp.deptno=dept.deptno
group by dept.location
order by 3 desc
limit 10;
^D
11. DEFT Conference 2012
scalpel.conf
#-------------------------------------------------------------------
# SQLITE DATABASE FILES
#-------------------------------------------------------------------
#
# SQLite
sqlitedb y 20000000000 x53x51x4Cx69x74x65x20x66x6Fx72x6Dx61x74x20x33
#
#
#
#-------------------------------------------------------------------
# SQLITE DATABASE FILES
#-------------------------------------------------------------------
#
# SQLite
sqlitedb y 20000000000 x53x51x4Cx69x74x65x20x66x6Fx72x6Dx61x74x20x33
#
#
#
Il carving di un DB SQLite e' molto semplice!
I primi 16 byte contengono la scritta:
SQLite format3
12. DEFT Conference 2012
SQL (DDL)
I comandi di DDL sono SQL Standard (eg. create table)
SQLite utilizza 5 differenti Storage Class:
– NULL, INTEGER, REAL, TEXT, BLOB
Non c'e' un formato per le date che vengono memorizzate come
testo (eg. ISO8601: YYYY-MM-DD HH:MM:SS.SSS) o come
numerico (eg. secondi da Epoch)
Sono presenti gli indici (B-tree)
Sono presenti le viste (not updatable)
E' disponibile una (una!) tabella di data dictionary: sqlite_master
14. DEFT Conference 2012
SQL (funzioni)
SQLiteQL ha un insieme molto ampio di
operatori, funzioni e clausole:
Operatori:
AND, OR, NOT, BETWEEN ,IN, IS, =, >=, ...
Funzioni su stringhe, date:
LENGTH, UPPER, LOWER, QUOTE,... RANDOM, ROUND, ... DATE,
STRFTIME, ...
Funzioni di gruppo:
COUNT(), SUM(), AVG(), HAVING, ...
16. DEFT Conference 2012
Firefox
Firefox utilizza una dozzina di database SQLite. Il piu'
interessante e' il database places.sqlite che contiene una
dozzina di tabelle tra cui il log delle URL visitate
Su Windows XP: C:Documents and Settings%userApplication
DataMozillaFirefoxProfiles%profile.default - Windows Vista:
C:Users%userAppDataRoamingMozillaFirefoxProfiles
%profile.default
17. DEFT Conference 2012
Firefox
Ultimi siti visitati con Firefox
SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch') as data,
moz_places.url
FROM moz_places, moz_historyvisits
WHERE moz_places.id = moz_historyvisits.place_id
ORDER BY 1 desc
LIMIT 20 OFFSET 0
Siti piu' visitati con Firefox
SELECT moz_places.url, visit_count
FROM moz_places
ORDER BY visit_count desc
LIMIT 20
Ultimi siti visitati con Firefox
SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch') as data,
moz_places.url
FROM moz_places, moz_historyvisits
WHERE moz_places.id = moz_historyvisits.place_id
ORDER BY 1 desc
LIMIT 20 OFFSET 0
Siti piu' visitati con Firefox
SELECT moz_places.url, visit_count
FROM moz_places
ORDER BY visit_count desc
LIMIT 20
18. DEFT Conference 2012
Chrome
Chrome utilizza diversi database SQLite tra cui il piu' significativo
e' History che contiene gli accessi alle pagine web. Le tabelle
piu' interessanti sono ulrs, visits e downloads.
Su Windows XP: C:Documents and Settings%userApplication
DataGoogleChromedefault - Windows Vista: C:Users
%userAppDataLocalGoogleChromedefault ...
19. DEFT Conference 2012
Chrome
Siti visitati con Chrome
SELECT datetime((visit_time-11644473600000000)/1000000,'unixepoch', 'localtime')
as data,
urls.url, urls.title as titolo
FROM urls, visits
WHERE urls.id = visits.url
ORDER BY 1 desc
LIMIT 20 OFFSET 0
Siti visitati con Chrome
SELECT datetime((visit_time-11644473600000000)/1000000,'unixepoch', 'localtime')
as data,
urls.url, urls.title as titolo
FROM urls, visits
WHERE urls.id = visits.url
ORDER BY 1 desc
LIMIT 20 OFFSET 0
20. DEFT Conference 2012
Safari
Safari e' il diffuso browser sviluppato Apple. Il file di database e'
Cache.db e contiene 5 tabelle.
Su Mac OS X: /Users/%user/Library/Caches/com.apple.Safari.
21. DEFT Conference 2012
Safari
Siti visitati con Safari
SELECT cfurl_cache_response.time_stamp as data,
cfurl_cache_response.request_key as url
FROM cfurl_cache_response
ORDER BY 1 desc
LIMIT 20 OFFSET 0
Pagine richieste con Safari
SELECT cfurl_cache_response.time_stamp as data,
cfurl_cache_response.request_key as url,
cfurl_cache_blob_data.receiver_data as contenuto
FROM cfurl_cache_blob_data, cfurl_cache_response
WHERE cfurl_cache_blob_data.entry_ID=cfurl_cache_response.entry_ID
ORDER BY 1 desc
LIMIT 20 OFFSET 0
Siti visitati con Safari
SELECT cfurl_cache_response.time_stamp as data,
cfurl_cache_response.request_key as url
FROM cfurl_cache_response
ORDER BY 1 desc
LIMIT 20 OFFSET 0
Pagine richieste con Safari
SELECT cfurl_cache_response.time_stamp as data,
cfurl_cache_response.request_key as url,
cfurl_cache_blob_data.receiver_data as contenuto
FROM cfurl_cache_blob_data, cfurl_cache_response
WHERE cfurl_cache_blob_data.entry_ID=cfurl_cache_response.entry_ID
ORDER BY 1 desc
LIMIT 20 OFFSET 0
22. DEFT Conference 2012
Skype
Skype mantiene i propri dati sul database file main.db che
contiene una decina di tabelle.
Su MS Windows il database di Skype si trova in C:Documents
and Settings%profileApplication DataSkype%skype_user,
con l'eccezione di Vista and 2008 dove il file e' in C:Documents
and Settings%profileAppDataRoamingSkype%skype_user.
Su Mac OS X: /Users/%user/Library/Application
Support/Skype/%skype_user.
23. DEFT Conference 2012
Skype
Chiamate skype-to-phone (tutte) e skype-to-skype (solo se OK)
SELECT identity as chiamante, guid, call_duration/60 as durata_minuti,
strftime('%Y-%m-%d %H:%M:%S', start_timestamp,'unixepoch','localtime')
as inizio_chiamata
FROM CallMembers
ORDER BY id
Chiamate skype-to-skype (tutte)
SELECT host_identity as chiamante, current_video_audience as destinazione,
duration/60 as durata_minuti,
strftime('%Y-%m-%d %H:%M:%S', begin_timestamp,'unixepoch','localtime')
as inizio_chiamata
FROM Calls
ORDER BY id
Chiamate skype-to-phone (tutte) e skype-to-skype (solo se OK)
SELECT identity as chiamante, guid, call_duration/60 as durata_minuti,
strftime('%Y-%m-%d %H:%M:%S', start_timestamp,'unixepoch','localtime')
as inizio_chiamata
FROM CallMembers
ORDER BY id
Chiamate skype-to-skype (tutte)
SELECT host_identity as chiamante, current_video_audience as destinazione,
duration/60 as durata_minuti,
strftime('%Y-%m-%d %H:%M:%S', begin_timestamp,'unixepoch','localtime')
as inizio_chiamata
FROM Calls
ORDER BY id
24. DEFT Conference 2012
Skype
Chat Skype
SELECT author as chiamante, chatname, body_xml as messaggio,
strftime('%Y-%m-%d %H:%M:%S', timestamp,'unixepoch','localtime') as
inizio_chiamata
FROM messages
ORDER BY timestamp
Chat Skype
SELECT author as chiamante, chatname, body_xml as messaggio,
strftime('%Y-%m-%d %H:%M:%S', timestamp,'unixepoch','localtime') as
inizio_chiamata
FROM messages
ORDER BY timestamp
25. DEFT Conference 2012
Apple iPhone
I sistemi operativi della Apple utilizzano in modo estensivo il
database SQLite. iOS, il sistema operativo dell' iPhone non fa
eccezione.
Tra i molti DB interessanti: sms.db, consolidated.db (iOS >= 4), ...
Sul DB consolidated.db vi sono state polemiche ed e' stata
emessa un patch specifica per rimuovere parte dei dati storici,
ma l'informazione era gia' presente da tempo!
26. DEFT Conference 2012
Apple iPhone
SMS
SELECT ROWID, case flags when 2 then 'Ricevuto' when 3 then 'Inviato'
when 33 then 'Fail' when 129 then '*Del' else 'Unkn' end as tipo,
address as numero_tel, datetime(date,'unixepoch','localtime') as data,
text as messaggio
FROM message
Dove sei stato?
SELECT datetime(Timestamp+978307200,'unixepoch','localtime') as Time,
Latitude, Longitude, 'WiFi' as Source
FROM WifLocation
UNION
SELECT datetime(Timestamp+978307200,'unixepoch','localtime') as Time,
Latitude, Longitude, 'Cell' as Source
FROM CellLocation
ORDER BY 1;
SMS
SELECT ROWID, case flags when 2 then 'Ricevuto' when 3 then 'Inviato'
when 33 then 'Fail' when 129 then '*Del' else 'Unkn' end as tipo,
address as numero_tel, datetime(date,'unixepoch','localtime') as data,
text as messaggio
FROM message
Dove sei stato?
SELECT datetime(Timestamp+978307200,'unixepoch','localtime') as Time,
Latitude, Longitude, 'WiFi' as Source
FROM WifLocation
UNION
SELECT datetime(Timestamp+978307200,'unixepoch','localtime') as Time,
Latitude, Longitude, 'Cell' as Source
FROM CellLocation
ORDER BY 1;
28. DEFT Conference 2012
Android
SMS
SELECT datetime(date/1000,'unixepoch','localtime') as data, address as indirizzo,
subject as soggetto, body as testo
FROM sms
ORDER BY date desc
Statistica chiamate
SELECT number as numero, number_key as chiave,
count(*) as numero, sum(duration) as durata,
min(datetime(date/1000,'unixepoch','localtime')) as prima_chiamata,
max(datetime(date/1000,'unixepoch','localtime')) as ultima_chiamata
FROM calls
GROUP BY number, number_key
ORDER BY 3 DESC
LIMIT 20
SMS
SELECT datetime(date/1000,'unixepoch','localtime') as data, address as indirizzo,
subject as soggetto, body as testo
FROM sms
ORDER BY date desc
Statistica chiamate
SELECT number as numero, number_key as chiave,
count(*) as numero, sum(duration) as durata,
min(datetime(date/1000,'unixepoch','localtime')) as prima_chiamata,
max(datetime(date/1000,'unixepoch','localtime')) as ultima_chiamata
FROM calls
GROUP BY number, number_key
ORDER BY 3 DESC
LIMIT 20
29. DEFT Conference 2012
Qualcosa in piu'...
Agendo direttamente in SQL possono essere evidenziate in modo
molto semplice tutte le cancellazioni logiche (eg. iPhone SMS).
I dispositivi Mobile usano una versione di SQLite compilata senza
l'autovacuum ==> e' possibile recuperare anche i dati cancellati
analizzando la struttura binaria del file di database.
Vi sono alcuni programmi (a pagamento) che consentono l'analisi
dei record cancellati. In ogni caso la struttura di un database
SQLite e' completamente documentata ed e' relativamente
semplice da analizzare in binario con un hexdump o simili...
30. DEFT Conference 2012
Varie ed eventuali
Domande e risposte
Link utili
http://www.SQLite.org/
Sito ufficiale SQLite
http://www.xenialab.it/meo/web/index1.htm
Non ufficiale ma c'e' molta documentazione... in italiano!
by meo bogliolo