Messenger Project
Download
Report
Transcript Messenger Project
Messenger Project
Chat session
Project plan cont’d
•
On track, almost according to plan!
–
Late on testing... Optimistic plan ;o)
Activity
Project Description
Requirements analysis & definition
Project Design
Implementation
Module testing
System testing
Acceptance test
w45
w46
w47
w48
w49
w50
w51
w51
w52
w52
w1
Project plan cont’d
• Last week
– Updated design
– Resolved useability issues
– Implementation
• Plans for next week
– Continue implementation
– Begin testing regarding
• Useability
Useability
• Interfaces towards the user
– Messages recorded / not recorded
– Messages stored in database / locally
– Configurability
Useability
• Intrusive
– User can specify users that normally should be recorded.
– The user can stop recording any session or disable recording of all
sessions
– User are notified that the session is recorded.
• Colored of text
• Default settings
enable / disable
begin recording
stop recording
save previous messages
User
<<include>>
Set database
try connection
<<include>>
Preset record for contact
write temporarilly on disk
<<include>>
messagebox
Useability
• Recording
– Each time the user begins a session
– If the connection to the database is not possible, the user is informed and
messages are saved to hard drive.
– Messages can always be stored locally and messages can be saved after a
session.
Messenger
Program
Chat Recorder
Database
User
User begins chat session
Recorder initialized
connect database
User chooses to record chat
messages saved on disk
Messages sent to Database as
they are typed
Saved messages sent
to Database
User begins chat session
Recorder initialized
connect database
Saved messages sent
to Database
Useability
• Configurability
– Default options
Implementation details
•
First implementation for Yahoo Messenger 5.6
•
We want to support most (any) messengers
– The same architecture for all messengers, different libraries
Implementation details
•
IM
–
•
IMM
–
•
Functions used on IN side of Stargate.dll
SOI
–
•
Dll module written for purpose of intercept IMs
SII
–
•
Yahoo! Messenger
IMMDll
–
•
Data Flow Manager
YMSGR
–
•
IM Messenger
DFM
–
•
Instant Message
Functions used on OUT side of Stargate.dll
SM
–
Shared Memory
Implementation details
•
Lurker.dll
– Purpose:
• Keeping record on already infiltrated IMMs
• Check trough all running processes for new
infiltration targets.
• Load defined dll file in target's process.
Implementation details
•
Yahoo.dll
– Purpose:
• Getting messages from YMSGR
• Sending captured messages to Stargate.dll
Implementation details
•
Stargate.dll
– Purpose:
• Transferring IMs from one process to
another.
• Synchronizing access to shared memory
Implementation details
•
Database connectivity
– Process running on the orson server continously
– JDBC connect to the DB localy
– The clientside uses a "driver" written around winsocket API to connect to the
database
DEMO