![]() |
Mornella v0.1 |
|
HackingTeam S.r.l. |
Alberto Pelliccione & Thomas Valentini |
|
|
Table of Contents |
|
|
Table of Figures |
|
|
use | |
Abstract | false |
Leaf | false |
Root | false |
Base Type | Usage |
|
|
Name | Value |
Show Attribute Getter Setter | false |
Name | Documentation |
![]() |
Classe per la gestione del file di configurazione: caricamento, update, aggiornamento e rimozione del file di configurazione. |
![]() |
Classe per la gestione della cifratura. |
![]() |
Classe per la lettura di varie informazioni sul device e per il browsing del database contenente le funzionalita' supportate dalla backdoor. Questa classe viene utilizzata soltanto durante la chiamata a TaskInit(). |
![]() |
Classe _statica_ che definisce lo stato della backdoor. |
![]() |
Classe _statica_ per la gestione delle connessioni e l'invio dei log. |
![]() |
|
![]() |
Classe _statica_ per la gestione dei task |
![]() |
Gestisce gli SMS sulla SIM e sul telefono. |
![]() |
Classe principale di Mornella, gestisce l'avvio, lo stop e l'uninstalla della backdoor. |
![]() |
Classe che gestisce la rubrica del telefono. |
![]() |
Timer e' un agente "speciale", non produce log ma va avviato e stoppato come un agente normale, oltretutto agisce come gli altri agenti sulla tabella degli eventi. Per la sua configurazione bisogna leggere la tabella degli eventi ed instanziare un time per ogni EVENT_TIMER identificato. |
![]() |
Gestisce la lista delle chiamate. |
![]() |
Via SMS non possiamo inviare dati binari, per cui il campo Len e ID di ogni comando dovranno essere scritti in plain ASCII. Di conseguenza i due byte del campo Len consentiranno in effetti di rappresentare al massimo 255 valori che comunque vanno bene visto che l'SMS e' piu' corto. Stesso discorso vale per l'ID del comando. |
![]() |
Formato dei comandi:
xxxx|xxxxx.......xxxxx| 4 n
Se il comando viene inviato via SMS puo' essere lungo al massimo 140 byte (poiche' la codifica via SMS e' a 7-bit). E non puo' contenere dati binari.
typedef struct{ UINT CommandLen; BYTE* pCommand; }_Command, *pCommand; |
![]() |
Common.h AgentStruct, EventStruct e ActionStruct vanno definite in un file include comune, anche i semafori |
![]() |
Tabella delle azioni: UINT uActionId; // Id dell'azione UINT uActionType; // Tipo di azione da eseguire
Tabella degli eventi: UINT uEventType; // Tipo di evento (Timer, sms, call etc...) UINT uEventId; // Id dell'evento (univoco) UINT uActionId; // Id dell'azione da eseguire BOOL bTriggered; // Stato dell'evento (triggered, non triggered)
Tabella degli agenti: UINT uAgentId; // Id dell'agente UCHAR AgentStatus; // Running, Stopped, Closing UINT uParamLength; // Lunghezza in byte del buffer che punta ai parametri di avvio PVOID pParams; // Puntatore alla lista dei parametri
#define AGENT_STOPPED 0 #define AGENT_RUNNING 1 #define AGENT_CLOSING 2 // Segnale che indica all'agente di chiudersi |
![]() |
Definizione degli agenti: #define AGENT_SMS 0x1 #define AGENT_PHONEBOOK 0x2 #define AGENT_CALLLIST 0x3
Definizione degli eventi: #define EVENT_TIMER 0x1 #define EVENT_SMS 0x2 #define EVENT_CALL 0x3 #define EVENT_INTERNET 0x4
Definizione delle azioni: #define ACTION_SYNC 0x1 #define ACTION_UNINSTALL 0x2 #define ACTION_RELOAD 0x3 #define ACTION_SMS 0x4 #define ACTION_TOOTHING 0x5 |
![]() |
Variabili globali che verranno settate dal configuratore: BYTE AesKey[32]; -> Inizializzata ad BAB0BAB0.... WCHAR ConfName[32]; -> Inizializzata a C00DC00DC00D... WCHAR LogDirName[32]; -> Inizializzata a F0CAF0CA.... BYTE BackdoorID[8]; -> Inizializzata a D00FD00F BYTE BTMacAddress[8]; -> Inizializzata a BACABACA BYTE WifiMacAddress[8]; -> Inizializzata a FACAFACA WCHAR WifiSSID[32]; -> Inizializzata a BABEBABE BYTE BTPin[8]; -> Inizializzata a B00BB00B (il PIN e' in ASCII!!!!) BYTE WifiKey[16]; -> Inizializzata a CAFECAFE BYTE Version[16]; -> Anno/mese/giorno BYTE UniqueKey[16]; -> Inizializzata a CACACACA DWORD ServerIP; -> Inizializzata a 0xFFAAEEBB BYTE ServerIPv6[32]; -> Inizializzata a 0xF0F0F0 |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe per la gestione del file di configurazione: caricamento, update, aggiornamento e rimozione del file di configurazione. |
Transit From |
![]() |
private wConfName : WCHAR | |
Documentation | Puntatore al nome del file di configurazione, viene allocato dal costruttore e liberato dal distruttore dell'oggetto. |
Initial Value | NULL |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private wEncryptedConfName : WCHAR | |
Documentation | Nome del file di configurazione preso da wConfName e poi cifrato tramite la classe Encryption. |
Initial Value | NULL |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private EncryptionObj : Encryption | |
Documentation |
Oggetto Encryption per la decifratura del file di configurazione e del suo nome. |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private GetAgents () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Legge lo stato degli agenti dalla configurazione e popola la AgentStruct list. Torna TRUE se la lettura e' andata a buon fine, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
private GetEvents () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Legge lo stato degli eventi dalla configurazione e popola la EventStruct list. Torna TRUE se la lettura e' andata a buon fine, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
private GetActions () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Legge lo stato delle azioni dalla configurazione e popola la ActionStruct list. Torna TRUE se la lettura e' andata a buon fine, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
private GetConfiguration () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Prende i dati di configurazione della backdoor dal file e li mette dentro Status.Configuration. Torna TRUE se la lettura e' andata a buon fine, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
public Conf () | |
Static | false |
Leaf | false |
Documentation |
Prende il nome del file di configurazione, in chiaro dalla variabile globale, lo copia dentro wConfName, cifra il nome e lo copia dentro wEncryptedConfName. |
Ordered | false |
Unique | true |
Query | false |
public LoadConf () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Prende il file di configurazione specificato nel parametro wEncryptedConfName, lo legge tramite la classe Encryption e popola le liste AgentStruct, EventStruct, ActionStruct. Torna TRUE se le impostazioni sono state caricate con successo, FALSE se il file non e' stato trovato. In questo caso il file viene creato e popolato con dei valori di default. Questa funzione apre il file di configurazione e lo chiude al termine della lettura. |
Ordered | false |
Unique | true |
Query | false |
public WriteConf (pConf : struct) : BOOL | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Prende in input una struttura con tre liste (Agenti, Eventi ed Azioni) e scrive il nuovo file di configurazione, internamente richiama la RemoveConf() per rimuovere il vecchio file. Torna TRUE se tutto e' andato a buon fine, FALSE altrimenti. Al termine della procedura le liste puntate dal parametro vengono liberate. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public RemoveConf (Type : UINT) : BOOL | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Rimuove il file di configurazione, il flag specifica se viene rimosso il file in chiaro o quello cifrato. Torna TRUE se la rimozione e' andata a buon fine, FALSE altrimenti. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe per la gestione della cifratura. |
Transit From |
![]() |
public EncryptFile (pInFile : WCHAR, pOutFile : WCHAR, Key : BYTE) : BOOL | |||||||||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||||||||
Static | false | ||||||||||||||||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||||||||||||||||
Documentation |
Questa funzione prende un file in ingresso, lo cifra e lo scrive sul filesystem col nome di pOutFile utilizziamo come chiave di cifratura Key. Torna TRUE se il file e' stato cifrato e generato con successo, FALSE altrimenti. |
||||||||||||||||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||||||||||||||||
Query | false |
public DecryptFile (pInFile : WCHAR, pOutFile : WCHAR, Key : BYTE) : BOOL | |||||||||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||||||||
Static | false | ||||||||||||||||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||||||||||||||||
Documentation |
Questa funzione prende un file in ingresso, lo decifra e lo scrive sul filesystem col nome di pOutFile utilizziamo come chiave di decifratura Key. Torna TRUE se il file e' stato decifrato e generato con successo, FALSE altrimenti. |
||||||||||||||||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||||||||||||||||
Query | false |
public EncryptName (wName : WCHAR, Seed : BYTE) : WCHAR | |||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||
Static | false | ||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||
Documentation |
Scrambla una stringa, torna il puntatore al nome scramblato. La stringa poi va deallocata. |
||||||||||||||||||||||
Type Modifier | * | ||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||
Query | false |
public DecryptName (wName : WCHAR, Seed : BYTE) : WCHAR | |||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||
Static | false | ||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||
Documentation |
Descrambla una stringa, torna il puntatore al nome descramblato. La stringa poi va deallocata. |
||||||||||||||||||||||
Type Modifier | * | ||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||
Query | false |
private Scramble (wName : WCHAR, Seed : BYTE, Enc : BOOL) : WCHAR | |||||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||||
Static | false | ||||||||||||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||||||||||||
Documentation |
Questa funzione scrambla/descrambla una stringa e ritorna il puntatore alla nuova stringa. |
||||||||||||||||||||||||||||||||
Type Modifier | * | ||||||||||||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||||||||||||
Query | false |
public Sha1 (pInData : BYTE, Len : UINT, pSha : UINT) : void | |||||||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||||||
Static | false | ||||||||||||||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||||||||||||||
Documentation |
Funzione per la generazione di un hash a 160-bit. La funzione torna void, l'hash viene passato per riferimento ed inserito nel buffer pSha. |
||||||||||||||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||||||||||||||
Query | false |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe per la lettura di varie informazioni sul device e per il browsing del database contenente le funzionalita' supportate dalla backdoor. Questa classe viene utilizzata soltanto durante la chiamata a TaskInit(). |
private DeviceStruct : struct | |
Documentation |
Struttura che definisce le funzionalita' presenti sul dispositivo e supportate da noi. |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private Db : map | |
Documentation |
Database statico dei modelli e funzionalita' supportati. |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
public GetDeviceType () : WCHAR | |
Static | false |
Leaf | false |
Documentation |
Torna una stringa che descrive il modello di telefono, la stringa va poi liberata dal chiamante. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public GetOsVersion (pVersionInfo : OSVERSIONINFO) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Ottiene informazioni sul sistema operativo e riempie la struttura passata per riferimento, torna TRUE se la chiamata e' andata a buon fine, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public IsWiFiHidingSupported () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se supportiamo l'hiding dell'icona del WiFi, FALSE altrimenti. Internamente questa funzione chiama GetOsVersion() e GetDeviceType() per effettuare il browsing del Db e vedere le funzionalita' supportate. |
Ordered | false |
Unique | true |
Query | false |
public IsBTHidingSupported () | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se supportiamo l'hiding dell'icona del BlueTooth, FALSE altrimenti. Internamente questa funzione chiama GetOsVersion() e GetDeviceType() per effettuare il browsing del Db e vedere le funzionalita' supportate. |
Ordered | false |
Unique | true |
Query | false |
public IsWifi () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se il dispositivo e' dotato di un modulo per l'utilizzo del WiFi, FALSE altrimenti. Internamente questa funzione chiama GetOsVersion() e GetDeviceType() per effettuare il browsing del Db e vedere le funzionalita' supportate. |
Ordered | false |
Unique | true |
Query | false |
public IsBT () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se il dispositivo e' dotato di un modulo per l'utilizzo del BT, FALSE altrimenti. Internamente questa funzione chiama GetOsVersion() e GetDeviceType() per effettuare il browsing del Db e vedere le funzionalita' supportate. |
Ordered | false |
Unique | true |
Query | false |
public IsWiFiActivable () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se siamo in grado di attivare il WiFi senza intervento dell'utente, FALSE altrimenti. Internamente questa funzione chiama GetOsVersion() e GetDeviceType() per effettuare il browsing del Db e vedere le funzionalita' supportate. |
Ordered | false |
Unique | true |
Query | false |
public IsBTActivable () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se siamo in grado di attivare il BT senza intervento dell'utente, FALSE altrimenti. Internamente questa funzione chiama GetOsVersion() e GetDeviceType() per effettuare il browsing del Db e vedere le funzionalita' supportate. |
Ordered | false |
Unique | true |
Query | false |
public GetSimId (pSimId : BYTE) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Questa funzione legge l'Id dalla SIM e scrive il valore letto nel buffer passato per riferimento. Torna TRUE se la lettura e' andata a buon fine, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public GetImei (pImei : BYTE) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Questa funzione legge il codice IMEI dal telefono e scrive il valore nel buffer passato per riferimento. Torna TRUE se la lettura e' andata a buon fine, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public GetUniqueId (pUniqueId : BYTE) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Questa funzione ottiene un ID univoco per ogni telefono, nel seguente modo: 1. Legge il codice IMEI lo xora con il Cpu Id e ne effettua lo Sha1. 2. Se non e' possibile leggere il codice IMEI viene effettuato lo Sha1 dello del Cpu ID. In ogni caso il valore viene scritto nel buffer passato per riferimento alla funzione. La funzione torna TRUE se e' stato possibile generare un ID univoco, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public GetPhoneNumber (pPhoneNumber : WCHAR) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Ottiene il numero di telefono associato alla SIM correntemente inserita, il numero viene scritto come _stringa_ all'interno del buffer passato per riferimento. La funziona torna TRUE se il numero e' stato letto correttamente, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public Device () | |
Static | false |
Leaf | false |
Documentation |
Costruttore di default, inizializza il database dei modelli e delle funzioni supportate. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value | |||
Active | false | |||
Business Model | false | |||
Visibility | public | |||
Leaf | false | |||
Root | false | |||
Documentation |
Classe _statica_ che definisce lo stato della backdoor. |
|||
Transit From |
|
private Agents : list | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private Events : list | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private Actions : list | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private Configuration : ConfStruct | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private Device : DeviceStruct | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
public bEventsLock : BOOL | |
Documentation |
Semaforo per l'accesso alla lista degli eventi, e' pubblico per avere una scrittura/lettura atomica. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
public bAgentsLock : BOOL | |
Documentation |
Semaforo per l'accesso alla lista degli agenti, e' pubblico per avere una scrittura/lettura atomica. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
public GetAgentsList () : list | |
Static | false |
Leaf | false |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public GetEventsList () : list | |
Static | false |
Leaf | false |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public GetActionsList () : list | |
Static | false |
Leaf | false |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public GetConfStruct () : ConfStruct | |
Static | false |
Leaf | false |
Documentation |
Torna un puntatore alla struttura che definisce i parametri di configurazione. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public GetDeviceStruct () : DeviceStruct | |
Static | false |
Leaf | false |
Documentation |
Torna un puntatore alla struttura che definisce i parametri specifici del device. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public AddAgent (pAgent : AgentStruct) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Aggiunge un agente alla lista o ne aggiorna lo stato se l'agente gia' esiste. Torna TRUE se l'agente e' stato aggiunto/updatato, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public AddEvent (pEvent : EventStruct) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Aggiunge un evento alla lista o ne aggiorna lo stato se l'evento gia' esiste. Torna TRUE se l'evento e' stato aggiunto/updatato, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public AddAction (pAction : ActionStruct) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Aggiunge un'azione alla lista o ne aggiorna lo stato se l'azione gia' esiste. Torna TRUE se l'azione e' stata aggiunta/updatata, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public AddConf (pConf : ConfStruct) : BOOL | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Legge i parametri di configurazione dal file nella sezione "configurazione" e popola la ConfStruct. Torna TRUE se i dati sono stati aggiunti con successo, FALSE altrimenti. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public RemoveEvent (Id : UINT) : BOOL | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Rimuove un evento dalla lista, torna TRUE se l'evento e' stato rimosso, FALSE altrimenti. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public SetDeviceStruct (Dev : DeviceStruct) : BOOL | |||||||||
Parameters |
|
||||||||
Static | false | ||||||||
Leaf | false | ||||||||
Documentation |
Inizializza la struttura DeviceStruct con tutte le informazioni specifiche del device. Torna TRUE se la funzione e' andata a buon fine, FALSE altrimenti. |
||||||||
Ordered | false | ||||||||
Unique | true | ||||||||
Query | false |
public RemoveAction (Id : UINT) | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Rimuove un'azione dalla lista, torna TRUE se l'azione e' stata rimossa, FALSE altrimenti. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public Clear () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Svuota la lista degli agenti, degli eventi e delle azioni. Torna TRUE se la funzione e' andata a buon fine, FALSE altrimenti. Non va usata prima di aver fermato gli agenti!!!! |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe _statica_ per la gestione delle connessioni e l'invio dei log. |
Transit From |
![]() |
private bIsBtActive : BOOL | |
Documentation |
TRUE se il BT e' attualmente attivo, FALSE altrimenti. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private bIsWifiActive : BOOL | |
Documentation |
TRUE se il WiFi e' attualmente attivo, FALSE altrimenti. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private bIsBtAlreadyActive : BOOL | |
Documentation |
TRUE se il BT e' gia' stato attivato da noi, FALSE altrimenti. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private bIsWifiAlreadyActive : BOOL | |
Documentation |
TRUE se il WiFi e' gia' stato attivato da noi, FALSE altrimenti. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private BackDoorInfo : struct | |
Documentation |
Struttura che definisce le informazioni sulla backdoor: 1. Dimensione della struttura in byte 2. Versione (anno/mese/giorno, 16 byte, 8 Wide chars) 3. Identificativo univoco per cliente (16 byte) 4. ID Univoco del client 5. Orario in epoch time |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private WifiSocket : SOCKET | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private BTSocket : SOCKET | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private InternetSocket : SOCKET | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Documentation |
Serve al costruttore per impostare tutte le opzioni che sono presenti nel file di configurazione e che sono differenti da quelle presenti nelle variabili globali. |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private PollInterval : UINT | |
Documentation |
Tempo in secondi per il loop di polling della connessione. |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private ActivateBT () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Attiva il dispositivo BT, torna TRUE se l'attivazione e' andata a buon fine, FALSE altrimenti. Questa funzione deve controllare prima lo stato di bIsBtAlreadyActive per evitare la doppia attivazione e per mantenere lo stato dell'oggetto coerente con lo stato del telefono. |
Ordered | false |
Unique | true |
Query | false |
private DeActivateBT () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Disattiva il dispositivo BT, torna TRUE se la disattivazione e' andata a buon fine, FALSE altrimenti. Questa funzione deve controllare lo stato del BT per vedere se e' ancora attivo (l'utente potrebbe averlo disattivato), poi deve controllare lo stato di bIsBtAlreadyActive per verificare che il BT non fosse gia' acceso per conto suo. In caso contrario lo spegne altrimenti lo lascia allo stato originale. |
Ordered | false |
Unique | true |
Query | false |
private ActivateWiFi () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Attiva la connessione WiFi, torna TRUE se l'attivazione e' andata a buon fine, FALSE altrimenti. Questa funzione deve controllare prima lo stato di bIsWifiAlreadyActive per evitare la doppia attivazione e per mantenere lo stato dell'oggetto coerente con lo stato del telefono. |
Ordered | false |
Unique | true |
Query | false |
private DeActivateWiFi () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Disattiva il dispositivo WiFi, torna TRUE se la disattivazione e' andata a buon fine, FALSE altrimenti. Questa funzione deve controllare lo stato del Wifi per vedere se e' ancora attivo (l'utente potrebbe averlo disattivato), poi deve controllare lo stato di bIsWifiAlreadyActive per verificare che il Wifi non fosse gia' acceso per conto suo. In caso contrario lo spegne altrimenti lo lascia allo stato originale. |
Ordered | false |
Unique | true |
Query | false |
private SetBTPin (pPin : BYTE) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Imposta il PIN per la connessione BT. Torna TRUE se il PIN e' stato impostato correttamente, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
private IsInternetConnectionAvailable () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Torna TRUE se e' disponibile una connessione ad internet attiva, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
private MiniSleep (Delay : UINT) : void | |||||||||
Parameters |
|
||||||||
Static | false | ||||||||
Leaf | false | ||||||||
Ordered | false | ||||||||
Unique | true | ||||||||
Query | false |
private Send () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Invia tutti i log dalla cartella dei log alla connessione stabilita da Poll(), al termine dell'invio rimuove tutti i log. Se l'invio e' avvenuto con successo torna TRUE, altrimenti torna FALSE (indica che e' necessario rifare il send). Il sending funziona in questo modo: per prima cosa si invia la BackDoorInfo struct, si chiama la Recv() e ci si mette in attesa del comando di configurazione ricevuta. Quindi si invia un log e ci si mette in attesa del comando di log ricevuto (il comando conterra' il messaggio di OK ed il numero di byte ricevuti, in futuro dovrebbe contenere un CRC), se il log e' stato ricevuto con successo si rimuove, altrimenti si risenda. Al termine dell'invio dei log si invia un messaggio di "log terminati". A questo punto si chiama la Recv() e si resta in attesa di eventuali aggiornamenti, a procedura compiuta si chiude la connessione. |
Ordered | false |
Unique | true |
Query | false |
private Recv (Len : UINT) : BYTE | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Riceve uno o piu' comandi dal server, ritorna un puntatore ad un buffer contenente i dati, questo buffer va poi liberato dal chiamante. La funzione prende in input un intero passato per riferimento che conterra' il numero di byte presente nel buffer. Se la funzione fallisce torna NULL. Questa funzione e' privata perche' viene chiamata all'interno della Send() al termine del ciclo di invio. |
||||||||||||
Type Modifier | * | ||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
private Close (Type : UINT) : BOOL | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Chiude la connessione al tipo di socket specificato, la documentazione del tipo si trova nella documentazione dei parametri della funzione. Torna TRUE se la connessione e' stata chiusa con successo, FALSE altrimenti. Close, se necessario, disattiva il BT o il WiFi. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private SetBTMacAddress (pMacAddress : BYTE) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Imposta nella configurazione il nuovo MAC Address che verra' utilizzato per la connessione BT. Torna TRUE se la nuova impostazione e' stata aggiornata correttamente, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
private SetWifiMacAddress (pMacAddress) : BOOL | |||||||||
Parameters |
|
||||||||
Static | false | ||||||||
Leaf | false | ||||||||
Documentation |
Imposta nella configurazione il nuovo MAC Address che verra' utilizzato per la connessione WiFi. Torna TRUE se la nuova impostazione e' stata aggiornata correttamente, FALSE altrimenti. |
||||||||
Ordered | false | ||||||||
Unique | true | ||||||||
Query | false |
private SetWifiSSID (pSSID : WCHAR) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Imposta nella configurazione il nuovo SSID che verra' utilizzato per la connessione WiFi. Torna TRUE se la nuova impostazione e' stata aggiornata correttamente, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
private SetWifiKey (pKey : BYTE, Len : UINT, Type : UINT) : BOOL | |||||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||||
Static | false | ||||||||||||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||||||||||||
Documentation |
Imposta la chiave per la connessione WiFi ed il tipo di connessione (in chiaro, WEP, WPA, WPA2...). Torna TRUE se la funzione e' andata a buon fine, FALSE altrimenti. |
||||||||||||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||||||||||||
Query | false |
public Transfer (Id : UINT) | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Costruttore di default, chiama la Status.GetConfStruct() per inizializzare tutte le impostazioni per il polling e per l'inizializzazione delle connessioni. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public Poll (Type : UINT) : INT | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Effettua il polling per vedere se: 1. E' presente il server BT al quale inviare i dati. 2. E' presente l'AP WiFi al quale inviare i dati. 3. E' presente la connessione ad internet. La connessione viene effettuata direttamente da questa chiamata al primo tipo di connessione disponibile. La funzione torna 0 se non trova nessuna connessione disponibile. Gli altri valori di ritorno sono cosi' definiti:
#define BLUETOOTH_CONNECTED 1 #define WIFI_CONNECTED 2 #define INTERNET_CONNECTED 3
Se la funzione trova, ad esempio, il server bluetooth ma non riesce a collegarsi, invia il valore definito per quella connessione e negato. Sembra complicato ma non lo e', ad esempio nel caso venga trovato il server BT ma non si riesca ad effettuare la connessione il risultato sara':
return -(BLUETOOTH_CONNECTED);
Poll apre la connessione al socket. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Transit From |
![]() |
private iRefCount : INT | |
Documentation |
Viene incrementato ad ogni apertura del file di log e decrementato ad ogni chiusura, lo utilizziamo per tenere traccia dell'utilizzo ed evitare che un file resti appeso a causa nostra. |
Initial Value | 0 |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private wEncName : WCHAR | |
Documentation |
Indica il nome scramblato del file di log sul quale eseguire i vari metodi, va deallocato dal distruttore. |
Initial Value | NULL |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private wDecName : WCHAR | |
Documentation |
Rappresenta il nome in chiaro del file di log, va deallocato dal distruttore. |
Initial Value | NULL |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private hFile : HWND | |
Initial Value | INVALID_HANDLE_VALUE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private LogInfo : struct | |
Documentation |
Struttura che definisce i log che stiamo inviando al server. 1. Lunghezza in byte del nome del log (un UINT). 2. Nome del log in chiaro e in wide-char, NULL terminato. 3. Lunghezza in byte del log file (un UINT). 4. Il log file. |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
public CreateLog (Id : UINT, Type : UINT) : BOOL | |||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Static | false | ||||||||||||||||||||
Leaf | false | ||||||||||||||||||||
Documentation |
Questa funzione prende l'Id, il Type, il Timestamp e li usa per generare il nome. Tale nome viene poi scramblato e viene creato il file di log vero e proprio. La funzione torna TRUE se tutto e' andato bene, FALSE altrimenti. |
||||||||||||||||||||
Ordered | false | ||||||||||||||||||||
Unique | true | ||||||||||||||||||||
Query | false |
public WriteLog (pByte : BYTE, uLen : UINT) : BOOL | |||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||
Static | false | ||||||||||||||||||||||
Leaf | false | ||||||||||||||||||||||
Documentation |
Questa funzione prende i byte in ingresso, li cifra e li scrive all'interno del file di log. Torna TRUE se la scrittura e' andata a buon fine, FALSE altrimenti. |
||||||||||||||||||||||
Ordered | false | ||||||||||||||||||||||
Unique | true | ||||||||||||||||||||||
Query | false |
public CloseLog () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Effettua la chiusura del log e decrementa il reference counter. Torna TRUE se il file e' stato chiuso con successo, FALSE se il reference counter e' diverso da 0 oppure la chiusura non e' stata possibile. |
Ordered | false |
Unique | true |
Query | false |
public RemoveLog (wLogName : WCHAR) : BOOL | |||||||||||||
Parameters |
|
||||||||||||
Static | false | ||||||||||||
Leaf | false | ||||||||||||
Documentation |
Rimuove un file di log che ha come nome wLogName. Torna TRUE se la rimoazione e' andata a buon fine, FALSE altrimenti. |
||||||||||||
Ordered | false | ||||||||||||
Unique | true | ||||||||||||
Query | false |
public ListLogs () : vector | |
Static | false |
Leaf | false |
Documentation |
Lista tutti i log presenti nella cartella dei log e riempie il vettore. Torna NULL in caso di errore, o se non ci sono log ed un valore diverso da 0 se la funzione ha trovato dei file. Il vettore ed i relativi membri vanno liberati dal chiamante. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe _statica_ per la gestione dei task |
Transit From |
![]() |
private Configuration : Conf | |
Documentation |
Puntatore ad un oggetto Conf che viene allocato ed inizializzato dal costruttore. Viene liberato poi dal distruttore. |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private bRemove : BOOL | |
Documentation |
Questo flag viene settato se viene ricevuto l'evento UNINSTALL. In questo caso la TaskInit() rimuove i log e ritorna. |
Initial Value | FALSE |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private TransferObj : Transfer | |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private GetTime () : UINT | |
Static | false |
Leaf | false |
Documentation |
Torna il tempo attuale in epoch time tramite la chiamata a time() castata per tornare un UINT. |
Ordered | false |
Unique | true |
Query | false |
private Sleep () : void | |
Static | false |
Leaf | false |
Documentation |
Serve a non fare un loop infinito continuo e a dormire tra un controllo e l'altro della checklist. Per il momento lo sleep time e' configurato internamente, un futuro verra' reso configurabile. Gli Id riservati (da 0 1024) servono proprio per l'introduzione di futuri comandi di controllo dello stato. |
Ordered | false |
Unique | true |
Query | false |
private StopAgent (Id : UINT) : BOOL | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Setta i flag globali che triggherano la CANCELLATION_POINT. Torna TRUE appena l'agente identificato dall'ID si e' fermato, FALSE se l'agente ha superato il timeout. |
||||||||||
Ordered | true | ||||||||||
Unique | true | ||||||||||
Query | false |
private StopAgents () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Stoppa tutti gli agenti e torna TRUE se tutti si sono fermati nel timeout prestabilito, FALSE altrimenti. Imposta il flag STOP nella tabella degli agenti. |
Ordered | false |
Unique | true |
Query | false |
private StartSms (Type : LPVOID) : DWORD WINAPI | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Routine che viene utilizzata dal thread per la costruzione dell'oggetto SMS. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private StartPhoneBook (Type : LPVOID) : DWORD WINAPI | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Routine che viene utilizzata dal thread per la costruzione dell'oggetto PhoneBook. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private StartCallList (Type : LPVOID) : DWORD WINAPI | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Routine che viene utilizzata dal thread per la costruzione dell'oggetto CallList. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private StartDevice (Type : LPVOID) : DWORD WINAPI | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Routine che viene utilizzata dal thread per la costruzione dell'oggetto Device. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private StartTimer (Type : LPVOID) : DWORD WINAPI | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Routine che viene utilizzata dal thread per la costruzione dell'oggetto Timer. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private StartTransfer (Type : LPVOID) : DWORD WINAPI | |||||||||
Parameters |
|
||||||||
Static | false | ||||||||
Leaf | false | ||||||||
Documentation |
Routine che viene utilizzata dal thread per la costruzione dell'oggetto Transfer. |
||||||||
Ordered | false | ||||||||
Unique | true | ||||||||
Query | false |
private StartAgents () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Avvia tutti gli agenti (tramite le Start*) che sono marcati come attivi nell'oggetto Status.Agents. Torna TRUE se tutti gli agenti sono partiti correttamente, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
public Task () | |
Static | false |
Leaf | false |
Documentation |
Instanzia l'oggetto Conf ed inizializza la configurazione. |
Ordered | false |
Unique | true |
Query | false |
public TaskInit () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Questa funzione stoppa tutti gli agenti attivi, chiama Conf e carica la configurazione, quindi riavvia tutti gli agenti. Torna TRUE se la backdoor e' stata inizializzata con successo, FALSE altrimenti. TaskInit() deve controllare bRemove prima di avviare gli agenti. |
Ordered | false |
Unique | true |
Query | false |
public CheckEvents () : void | |
Static | false |
Leaf | false |
Documentation |
Scorre la lista degli eventi, controlla quali sono stati attivati ed esegue le relative azioni. Ogni azione e' sequenziale, pertanto questa funzione non deve essere eseguita in un thread separato. Deve verificare lo stato di bRemove subito dopo l'inizio della funzione. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Gestisce gli SMS sulla SIM e sul telefono. |
private LogObj : Log | |
Documentation |
Utilizzato per scrivere i log. |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private GetSmsByIndexFromPhone (Id : UINT) : list | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Riempie la struttura SmsStruct con l'SMS (preso dalla memoria del telefono) ottenuto dall'Id. Torna un puntatore alla lista contenente l'entry richiesta. |
||||||||||
Type Modifier | * | ||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private GetSmsByIndexFromSim (Id : UINT) : list | |||||||||
Parameters |
|
||||||||
Static | false | ||||||||
Leaf | false | ||||||||
Documentation |
Riempie la struttura SmsStruct con l'SMS (preso dalla SIM) ottenuto dall'Id. Torna un puntatore alla lista contenente l'entry richiesta. |
||||||||
Type Modifier | * | ||||||||
Ordered | false | ||||||||
Unique | true | ||||||||
Query | false |
private GetSmsNumber (Type : UINT) : UINT | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Torna il numero di SMS presenti nella memoria del telefono o della SIM. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public Sms (Type : UINT) | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public Run () : void | |
Static | false |
Leaf | false |
Documentation |
Loop infinito che effettua il gathering dei dati, esce con una ExitThread() quando viene richiesto lo stop dell'agente. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe principale di Mornella, gestisce l'avvio, lo stop e l'uninstalla della backdoor. |
private TaskObj : Task | |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
public Run () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Inizializza la Backdoor, torna TRUE se tutto e' andato a buon fine, FALSE altrimenti. La funzione instanzia un oggetto Task. Il nome della configurazione viene preso dalla variabile globale ConfName[] impostata dal configuratore. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Classe che gestisce la rubrica del telefono. |
private LogObj : Log | |
Documentation |
Utilizzato per scrivere i log. |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private GetRecordByIndexFromPhone (Id : UINT) : list | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Legge una entry dalla rubrica (del telefono) identificata dall'Id e riempie la EntryStruct. Torna TRUE se la ricerca e' andata a buon fine, FALSE altrimenti. |
||||||||||
Type Modifier | * | ||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private GetRecordByIndexFromSim (Id : UINT) : list | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Legge una entry dalla rubrica (della SIM) identificata dall'Id e riempie la EntryStruct. Torna TRUE se la ricerca e' andata a buon fine, FALSE altrimenti. |
||||||||||
Type Modifier | * | ||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private GetRecordNumber (Type : UINT) : UINT | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Torna il numero di entry presenti nella rubrica. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private GetAll () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Raccoglie nel file di log tutte le entry presenti in rubrica. Torna TRUE se la chiamata e' andata a buon fine, FALSE altrimentil. |
Ordered | false |
Unique | true |
Query | false |
public PhoneBook (Type : UINT) | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Costruttore dell'oggetto, prende un intero per definire il tipo di dati da acquisire. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public Run () : void | |
Static | false |
Leaf | false |
Documentation |
Loop infinito che effettua il gathering dei dati, esce con una ExitThread() quando viene richiesto lo stop dell'agente. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Timer e' un agente "speciale", non produce log ma va avviato e stoppato come un agente normale, oltretutto agisce come gli altri agenti sulla tabella degli eventi. Per la sua configurazione bisogna leggere la tabella degli eventi ed instanziare un time per ogni EVENT_TIMER identificato. |
private TimerList : list | |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Documentation |
Oggetto status che serve per accedere alla tabella degli eventi. |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private MiniSleep (Delay : UINT) : void | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private Clear () : BOOL | |
Static | false |
Leaf | false |
Documentation |
Svuota la lista dei timer. Torna TRUE se la funzione e' andata a buon fine, FALSE altrimenti. |
Ordered | false |
Unique | true |
Query | false |
public AddTimer (TimeStruct) : BOOL | |||||||
Parameters |
|
||||||
Static | false | ||||||
Leaf | false | ||||||
Documentation |
Aggiunge un timer alla lista o ne aggiorna lo stato se il timer gia' esiste. Torna TRUE se il timer e' stato aggiunto/updatato, FALSE altrimenti. |
||||||
Ordered | false | ||||||
Unique | true | ||||||
Query | false |
public Run () : void | |
Static | false |
Leaf | false |
Documentation |
Loop infinito che effettua ciclo per il timer, esce con una ExitThread() quando viene richiesto lo stop dell'agente. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Active | false |
Business Model | false |
Visibility | public |
Leaf | false |
Root | false |
Documentation |
Gestisce la lista delle chiamate. |
private LogObj : Log | |
Documentation |
Utilizzato per scrivere i log. |
Type Modifier | * |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private StatusObj : Status | |
Has Setter | false |
Has Getter | false |
Derived | false |
Multiplicity | Unspecified |
Visible | true |
Aggregation | None |
private GetCallByIndex (Id : UINT) : list | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Riempie la struttura CallStruct con la chiamata ottenuta dall'Id. Torna un puntatore alla lista contenente l'entry richiesta. |
||||||||||
Type Modifier | * | ||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
private GetReceivedCalls () : list | |
Static | false |
Leaf | false |
Documentation |
Torna una lista contenente tutte le chiamate ricevute. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
private GetOutgoingCalls () : list | |
Static | false |
Leaf | false |
Documentation |
Torna una lista contenente tutte le chiamate effettuate. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
private GetMissedCalls () : list | |
Static | false |
Leaf | false |
Documentation |
Torna una lista contenente tutte le chiamate perse. |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
private GetAll () : list | |
Static | false |
Leaf | false |
Documentation |
Torna una lista contenente tutte le chiamate presenti nella lista (ricevute, in uscita e perse). |
Type Modifier | * |
Ordered | false |
Unique | true |
Query | false |
public CallList (Type : UINT) | |||||||||||
Parameters |
|
||||||||||
Static | false | ||||||||||
Leaf | false | ||||||||||
Documentation |
Costruttore dell'oggetto, prende un intero per definire il tipo di dati da acquisire. |
||||||||||
Ordered | false | ||||||||||
Unique | true | ||||||||||
Query | false |
public Run () : void | |
Static | false |
Leaf | false |
Documentation |
Loop infinito che effettua il gathering dei dati, esce con una ExitThread() quando viene richiesto lo stop dell'agente. |
Ordered | false |
Unique | true |
Query | false |
Unamed Usage | |
To |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Unamed Usage | |
From |
![]() |
Visibility | Unspecified |
Stereotypes | use |
Name | Value |
Read Only | false |
Cache | Disable |
Inheritance Strategy | Per class |
Reference | false |
Name | Value |
Documentation | Via SMS non possiamo inviare dati binari, per cui il campo Len e ID di ogni comando dovranno essere scritti in plain ASCII. Di conseguenza i due byte del campo Len consentiranno in effetti di rappresentare al massimo 255 valori che comunque vanno bene visto che l'SMS e' piu' corto. Stesso discorso vale per l'ID del comando. |
Name | Value |
Documentation |
Formato dei comandi:
xxxx|xxxxx.......xxxxx| 4 n
Se il comando viene inviato via SMS puo' essere lungo al massimo 140 byte (poiche' la codifica via SMS e' a 7-bit). E non puo' contenere dati binari.
typedef struct{ UINT CommandLen; BYTE* pCommand; }_Command, *pCommand; |
Name | Value |
Documentation |
Common.h AgentStruct, EventStruct e ActionStruct vanno definite in un file include comune, anche i semafori |
Name | Value |
Documentation |
Tabella delle azioni: UINT uActionId; // Id dell'azione UINT uActionType; // Tipo di azione da eseguire
Tabella degli eventi: UINT uEventType; // Tipo di evento (Timer, sms, call etc...) UINT uEventId; // Id dell'evento (univoco) UINT uActionId; // Id dell'azione da eseguire BOOL bTriggered; // Stato dell'evento (triggered, non triggered)
Tabella degli agenti: UINT uAgentId; // Id dell'agente UCHAR AgentStatus; // Running, Stopped, Closing UINT uParamLength; // Lunghezza in byte del buffer che punta ai parametri di avvio PVOID pParams; // Puntatore alla lista dei parametri
#define AGENT_STOPPED 0 #define AGENT_RUNNING 1 #define AGENT_CLOSING 2 // Segnale che indica all'agente di chiudersi |
Name | Value |
Documentation |
Definizione degli agenti: #define AGENT_SMS 0x1 #define AGENT_PHONEBOOK 0x2 #define AGENT_CALLLIST 0x3
Definizione degli eventi: #define EVENT_TIMER 0x1 #define EVENT_SMS 0x2 #define EVENT_CALL 0x3 #define EVENT_INTERNET 0x4
Definizione delle azioni: #define ACTION_SYNC 0x1 #define ACTION_UNINSTALL 0x2 #define ACTION_RELOAD 0x3 #define ACTION_SMS 0x4 #define ACTION_TOOTHING 0x5 |
Name | Value |
Documentation |
Variabili globali che verranno settate dal configuratore: BYTE AesKey[32]; -> Inizializzata ad BAB0BAB0.... WCHAR ConfName[32]; -> Inizializzata a C00DC00DC00D... WCHAR LogDirName[32]; -> Inizializzata a F0CAF0CA.... BYTE BackdoorID[8]; -> Inizializzata a D00FD00F BYTE BTMacAddress[8]; -> Inizializzata a BACABACA BYTE WifiMacAddress[8]; -> Inizializzata a FACAFACA WCHAR WifiSSID[32]; -> Inizializzata a BABEBABE BYTE BTPin[8]; -> Inizializzata a B00BB00B (il PIN e' in ASCII!!!!) BYTE WifiKey[16]; -> Inizializzata a CAFECAFE BYTE Version[16]; -> Anno/mese/giorno BYTE UniqueKey[16]; -> Inizializzata a CACACACA DWORD ServerIP; -> Inizializzata a 0xFFAAEEBB BYTE ServerIPv6[32]; -> Inizializzata a 0xF0F0F0 |
|
|
Name | Value |
Display Life Lines As Robustness Analysis Icon | 0 |
Name | Documentation |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
Name | Value |
Visibility | public |
Abstract | false |
Leaf | false |
Root | false |
Active | false |
Business Model | false |
new Core() : Message | |||||
To |
|
||||
Type | Message | ||||
Sequence Number | 1 | ||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 2 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
new Core() : Message | |||||
From |
|
||||
Type | Message | ||||
Sequence Number | 1 | ||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 2 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
new Task() : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 3 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 4 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
TaskInit() return : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 30 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 31 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
new Task() : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 3 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 4 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 5 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 6 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 7 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 8 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 9 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 10 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 11 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
new Conf() : Message | |||||
To |
|
||||
Type | Message | ||||
Sequence Number | 12 | ||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 13 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
LoadConf() return : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 27 | ||||||||
Action |
|
||||||||
Asynchronous | false |
delete Conf : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 28 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 29 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
TaskInit() return : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 30 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 31 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 5 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 6 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 7 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 8 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 9 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 10 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 18 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 20 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 22 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 24 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | true |
Multi Object | false |
new Conf() : Message | |||||
From |
|
||||
Type | Message | ||||
Sequence Number | 12 | ||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 13 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
new Encryption() : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 14 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 15 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 16 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 17 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 18 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 19 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 20 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 21 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 22 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 23 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 24 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 25 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
delete Encryption : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 26 | ||||||||
Action |
|
||||||||
Asynchronous | false |
LoadConf() return : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 27 | ||||||||
Action |
|
||||||||
Asynchronous | false |
delete Conf : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 28 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | true |
Multi Object | false |
new Encryption() : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 14 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 15 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 16 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
delete Encryption : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 26 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Comment | |
Documentation |
Loop di esecuzione della backdoor. |
Author | Quequero |
Date Time | 1-set-2008 11.18.27 |
|
|
Name | Value |
Display Life Lines As Robustness Analysis Icon | 0 |
Name | Documentation |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
Stoppiamo tutti gli agenti |
![]() |
Aggiungiamo l'evento reload o nuova conf |
![]() |
Verifica che siano fermi |
![]() |
Scrive la conf se arriva l'evento nuova conf |
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 1 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 2 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 3 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 4 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 5 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 6 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 7 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 21 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 30 | ||||||||||
Action |
|
||||||||||
Asynchronous | false | ||||||||||
Relationships |
|
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 31 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 32 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 2 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 3 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 4 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 5 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 8 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
return : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 9 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 19 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 22 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 29 | ||||||||||
Action |
|
||||||||||
Asynchronous | false | ||||||||||
Relationships |
|
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | true |
Multi Object | false |
Unamed Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 7 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 8 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
return : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 9 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 10 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 11 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 12 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 13 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 14 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 15 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 16 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 17 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 18 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 19 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 20 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 22 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
new Log() : Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 23 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 24 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 25 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 26 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 27 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Self Message | ||||||||||
Sequence Number | 28 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||||
To |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 29 | ||||||||||
Action |
|
||||||||||
Asynchronous | false | ||||||||||
Relationships |
|
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
new Log() : Message | |||||||||
From |
|
||||||||
Type | Message | ||||||||
Sequence Number | 23 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 24 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Unamed Message | |||||||||
To |
|
||||||||
Type | Message | ||||||||
Sequence Number | 25 | ||||||||
Action |
|
||||||||
Asynchronous | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 27 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Transit To |
![]() |
Multiplicity | Unspecified |
Base Classifier |
![]() |
Active | false |
Stopped | false |
Multi Object | false |
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 30 | ||||||||||
Action |
|
||||||||||
Asynchronous | false | ||||||||||
Relationships |
|
Unamed Message | |||||||||||
From |
|
||||||||||
Type | Message | ||||||||||
Sequence Number | 31 | ||||||||||
Action |
|
||||||||||
Asynchronous | false |
Name | Value |
Documentation |
Stoppiamo tutti gli agenti |
Unamed Anchor | |
To |
![]() |
Name | Value |
Documentation |
Aggiungiamo l'evento reload o nuova conf |
Name | Value |
Documentation |
Verifica che siano fermi |
Unamed Anchor | |
To |
![]() |
Name | Value |
Documentation |
Scrive la conf se arriva l'evento nuova conf |