Sviluppo e integrazione di strumenti a supporto del reverse engineering di applicazioni flash



Documenti analoghi
Confronto tra strumenti e tecniche per il Reverse Engineering in Macromedia Flash e Microsoft Silverlight

con ANTLR tesi di laurea Anno Accademico Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana candidato Pasquale Ludi Matr. 534\000438

Un framework a supporto della sperimentazione di tecniche euristiche. per l ottimizzazione di pagine Web per Screen Readers

Strumenti per la gestione della configurazione del software

DATABASE. A cura di Massimiliano Buschi

DBMS (Data Base Management System)

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Corso di Sistemi di Elaborazione delle informazioni

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Introduzione al data base

Analisi e sviluppo di un componente per un ESB open source

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Progetto ittorario Anno scol

Progetto: Servizio location based per la ricerca di punti di interesse

Database 1 biblioteca universitaria. Testo del quesito

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Access. P a r t e p r i m a

Uno strumento per la valutazione automatica dell accessibilità delle

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

TEORIA sulle BASI DI DATI

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

EXPLOit Content Management Data Base per documenti SGML/XML

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML

Simple & Efficient.

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0

Confronto sperimentale tra tecniche di testing automatico per applicazioni Android

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Le Basi di Dati. Le Basi di Dati

Organizzazione degli archivi

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Esercizio data base "Biblioteca"

Adobe Flash CS5.5 e Web Animation. Lezione 7: introduzione ad ActionScript 3.0, livelli guida, realizzazione di un player audio in streaming

Università degli Studi di Bologna Bologna, 12/12/2002 Corso di Laurea In Informatica. Alessandro Valenti. Sessione II

RISOLUTORE AUTOMATICO PER SUDOKU

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Volumi di riferimento

Progettazione di un Database

Integrazione di tecnologie XML nella realizzazione di siti Web

Operazioni sui database

Registratori di Cassa

Database. Si ringrazia Marco Bertini per le slides

4 Data Transformation Services

Generazione Automatica di Asserzioni da Modelli di Specifica

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A Language) Stylesheet.

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Progettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto

Sistema Ambiente 2010": Il Network Nazionale della Biodiversità. Checklist, chiavi di identificazione, archivi di immagini ed altre risorse

Lezione 1. Introduzione e Modellazione Concettuale

I CORSI FORMAZIONE FORMATORI CHE HANNO COINVOLTO L E-LEARNING O LE NUOVE TECNOLOGIE APPLICATE ALLA DIDATTICA

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Database e reti. Piero Gallo Pasquale Sirsi

XSL: extensible Stylesheet Language

Modellazione di sistema

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Trasformazione di modelli di progetto : soluzioni basate su XSLT

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Lezione V. Aula Multimediale - sabato 29/03/2008

19. LA PROGRAMMAZIONE LATO SERVER

Indice. Introduzione. Capitolo 1

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Introduzione. Dicom in Oracle 11g: gestione e vantaggi

Design patterns in Java

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Informatica - Office

Il sistema C.R.M. / E.R.M.

ITI M. FARADAY Programmazione modulare a.s

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Progetto e sviluppo di unʼapplicazione iphone per lʼaccesso a reti di sensori senza fili."

MODULO 5 Appunti ACCESS - Basi di dati

Al giorno d oggi, i sistemi per la gestione di database

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Corso di Amministrazione di Reti A.A. 2002/2003

I.T.C. Mario Pagano Napoli

DATABASE RELAZIONALI

Esercizi di JavaScript

Introduzione alla teoria dei database relazionali. Come progettare un database

Progettazione della componente applicativa

Programma corso Adobe Flash CS3

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework.

Introduzione all Architettura del DBMS

Macromedia Flash. Realizzato da Emanuela Scionti

FONDAMENTI di INFORMATICA L. Mezzalira

Il sistema operativo TinyOS

Realizzazione di un applicazione per la stesura di un Business Plan

extensible Markup Language

Object Oriented Software Design

Tecniche di riuso del software: applicazione ad un caso di studio reale

Transcript:

tesi di laurea Sviluppo e integrazione di strumenti a supporto del reverse engineering di Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Giuseppe Silvestre Matr. 534-292

Le Animazioni Flash Applicazioni create con la tecnologia Macromedia Flash. Elevato successo negli ultimi anni grazie alla versatilità, potenza implementativa e duttilità di questa tecnologia, nonché all utilizzo, lizzo, combinato ad essa, di un potente e versatile linguaggio di scripting denominato ActionScript. Problematiche Documentazione non sufficiente o mancante del tutto. Mancanza di un modello generale. Necessità del file sorgente (.fla) per effettuare modifiche. Soluzione Reverse Engineering

L intero percorso del Reverse Engineering

Estrazione delle informazioni File.swf Realizzazione del Flash Decompiler File.html Estrattore BUTTON SHAPE FRAME SOUND IMAGE SPRITE Button.txt Frame.txt Image.txt Script.txt Shape.txt Sprite.txt Suoni.txt Text.txt Datiflashobj.txt SCRIPTS TEXT Button.txt Frame.txt Image.txt Script.txt Shape.txt Sprite.txt Suoni.txt Text.txt Datiflashobj.txt Modello Relazionale Riempimento del Tools di inserimento Access N.B. I vincoli di integrità referenziale presenti tra le tabelle del database impongono un ordine parziale per l inserimento.

Metriche per l ActionScript e loro inserimento nel Metriche impiegate: LOC CLOC ML Autodoc Metriche procedurali, non Object Oriented! AS AS CC Root Global Functions AS Package Diagram Gui Viene fornita un interfaccia amichevole che aumenta l usabilità del software. Classi che accedono al database access e scrivono, mediante query di update, le metriche degli scripts considerati. GestoreMetrichePer GestoreAccess Interfaccia GUI AS AS Calcolatore di metriche ActionScript File.txt Access Gestione Classi che fanno da intermediari tra interfaccia ed applicativi, migliorando la portabilità del sistema. Parser Si realizzano i meccanismi richiesti dalla logica della applicazione. Il parser è in realtà scomposto in più parser specializzati. Util Fornisce classi di supporto agli applicativi (parsers) per l elaborazione.

Strutturazione in un documento XML dei dati contenuti nel Cos è XML? Strutturalmente simile all HTML,con la differenza che: - HTML è un linguaggio di descrizione per la realizzazione della struttura di template di pagine Web (linguaggio di front-office office o equivalentemente di esposizione). - XML è un linguaggio per la realizzazione, in formato testuale, di una struttura dati (linguaggio di back-office). Perchè effettuare la strutturazione con XML? XML è il linguaggio principe per la diffusione delle informazioni secondo i protocolli standard di trasferimento. Ci garantiamo l indipendenza dalla particolare tecnologia usata per la realizzazione del. Access Documento XML Come effettuare la strutturazione? Le tabelle diventano Elementi, i campi delle tabelle diventano Attributi degli elementi. Gli elementi vengono innestati sulla base delle relazioni esistenti tra le tabelle. vantaggio: si ottiene un file di testo facilmente gestibile. svantaggio: aumenta inevitabilmente la ridondanza. Struttura tabellare Struttura ad albero

Tool fromdbtoxml Access Tool fromdbtoxml Documento XML fromdbtoxml java.io.* Va inserito il nome del database così come esso è stato chiamato al momento della registrazione in Origine dei dati ODBC. TraduttoreXML GestoreAccess org.jdom.* java.sql.* Se il database indicato viene trovato, si richiede il nome dell animazione le cui informazioni si vogliono strutturare in un documento XML. Package fromdbtoxml Se l animazione indicata è presente nel database, viene avviata l elaborazione e viene creato il file.xml.

Cos è XMI? Trasformazione del documento XML in un documento XMI XML Metadata Interchange. Linguaggio definito su XML: un documento XMI è un documento XML. Permette di definire, scambiare, manipolare ed integrare oggetti elaborando dati in formato XML. Perchè arrivare ad un documento XMI? XMI consente una mappatura standard degli oggetti attraverso l uso di modelli UML. Un documento XMI può essere importato in uno strumento di modellazione UML per avere una visione grafica degli oggetti mappati e per produrre una relativa a documentazione. XSLT per effettuare la trasformazione extensible Stylesheet Language Trasformation: consente la trasformazione rmazione di un documento XML in un altro documento (compreso XML stesso). XML XMI Un sorgente XSLT è composto da vari template che individuano uno o più elementi del documento XML di partenza e definiscono XSLT le regole per la loro trasformazione in uno o più elementi del documento di arrivo. Struttura ad albero Eseguire XSLT non vuol dire necessariamente procedere in modo Documento XML sequenziale (è simile ad un linguaggio guidato Sorgente XSLT Processore XSLT Documento XMI dagli eventi). Struttura ad albero

Caso di studio: l animazione snoopy.swf Sono stati inseriti nel database: 1 Flash_Object 856 Frame 1 Suono 1 Button 20 Scripts 267 Shape 2 Sprite 69 Text I valori delle metriche per l ActionScript sono: Documento snoopy.xml

Modellazione UML Sviluppi futuri ActiveSWF Raffinamento dei tools al fine di: Individuare e analizzare nuove metriche (in particolare di tipo Object Oriented) Introdurre nuovi elementi (in particolare individuando i componenti di Movieclip ed ActionScript) Considerare nuovi modelli sulla scorta degli elementi trovati per ampliare il modello generale