Академический Документы
Профессиональный Документы
Культура Документы
Steganography
Page 2/56
Submitted by
Mr. xxxx
of
Diploma-CS
IN
MUMBAI
XXX Engineering College
XXXXXX University : XXXXX - 400001
March - 2014
Steganography
Page 3/56
Submitted by
Mr. xyz
of
Diploma-CS
Steganography
Page 4/56
OCTOBER 2010
BONAFIDE CERTIFICATE
the
bonafide
work
of
....Mr.
xyz
<<Name>>
HEAD OF THE DEPARTMENT
<<Signature of the
SIGNATURE
<<Name>>
SUPERVISOR
<<Academic
Designation>>
<<Department>>
<<Department>>
Steganography
Page 5/56
Steganography
Page 6/56
Table of Contents
1. Abstract
2. Introduction
3. Synopsis
4. Project specification
5. Language
6. Design
7. Screen Shot
8. Conclusion
9. Future Scope
10. Summary
Steganography
Page 7/56
ABSTRACT
Steganography
Page 8/56
INTRODUCTION
Advantages of System
Steganography
Page 9/56
Steganography
Page 10/56
VNC
VNC stands for Virtual Network Computing. It is, in essence, a remote
display system which allows you to view a computing 'desktop' environment not
only on the machine where it is running, but from anywhere on the Internet and
from a wide variety of machine architectures.
No state is stored at the viewer. This means you can leave your desk, go
It is small and simple. The Win32 viewer, for example, is about 150K in
size and can be run directly from a floppy. There is no installation needed.
Steganography
Page 11/56
Fig 1
time
considering
portability
and
generality,
we
propose
VNC
based
Structure
It consists of VNC servers running on one or more remote computers, a Smart
VNC (SVNC) proxy, and a SVNC viewer on a cellular phone. A VNC server sends a
remote
converts (crops, shrinks and resamples) the display image and then transfers the
converted image to a SVNC viewer in response to a user request that was
received from that SVNC viewer. The transfer is performed in our own Compact
RFB (CRFB), our simplified RFB protocol. Then, the SVNC viewer displays the
transferred images. Key events received by the SVNC viewer are transmitted to
Steganography
Page 12/56
a SVNC proxy that coverts them and sends them to the server. When the user
first tries to connect to a remote computer, he must specify his user name and
password for authentication as well as the host name of the computer that is
running a VNC server. If authentication succeeds, the SVNC proxy establishes a
session with the VNC server and the SVNC viewer starts user services. To
suppress network traffic, encoding is changed depending on contexts. Usually,
colored display images are transferred from the SVNC proxy to the SVNC viewer.
However, while the user is manipulating the remote desktop, such as scrolling
and moving the pointing device, the display images are gray-scaled to reduce
the number of bytes required to encode the image.
An Architecture for Cellular Phones
The use of existing remote display protocols such as the X Window System
Protocol and the Remote Desktop Protocol of Microsofts Windows 2000 Terminal
Services does not provide the required capability to realize the following goals:
Steganography
Page 13/56
Steganography
Page 14/56
minimum of fuss.
The
core
and system passwords. Users can access their desktops using the same
credentials with which they log on to the system.
One-Port HTTP & VNC allows VNC Server to serve VNC Viewer for Java
and VNC sessions through a single TCP port, simplifying NAT and firewall
configuration.
to deploy.
Enterprise family.
File Transfer allows you to copy files between your server and viewer
Steganography
Page 15/56
Steganography
Page 16/56
Thin Client - As VNC is Thin Client software it is possible for an older, poorlyspecified PC to connect to a better-specified serverPCandremotely run
software that would not have been possible on the lesser PC, either due to
memory, harddrive or power restrictions. However, although it is possible to
connect from multiple machines, all these machines will only be able to
monitor/control the one Windows desktop - ie, VNC does not turn a server into a
true multi-user server in the way that the Citrix products can. The X-based VNC
server is more flexible in this respect.
shared leaves open any existing server connections so the desktop can be
shared with other users. For security reasons this is usually not possible, but
this command overrides the default setting.
8bit any colour depths are usually allowed, with translation to lower bits
Steganography
Page 17/56
listen with this set, the server can initiate connections to the viewer.
PROJECT SPECIFICATION
2.1 HARDWARE REQUIREMENTS
PROCESSOR
: Pentium IV
SPEED
: 2.4GHZ
MEMORY
HARD DISK
: 20 GB
General Packet
Radio
Services
(GPRS)
is
packet-based wireless
communication service that promises data rates from 56 up to 114 Kbps and
continuous connection to the Internet for mobile phone and computer users. The
higher data rates allow users to take part in video conferences and interact with
Steganography
Page 18/56
multimedia Web sites and similar applications using mobile handheld devices as
well as notebook computers. GPRS is based on Global System for Mobile (GSM)
communication and complements existing services such circuit-switched cellular
phone connections and the Short Message Service (SMS).
In theory, GPRS packet-based services cost users less than circuit-switched
services since communication channels are being used on a shared-use, aspackets-are-needed basis rather than dedicated to only one user at a time. It is
also easier to make applications available to mobile users because the faster
data rate means that middleware currently needed to adapt applications to the
slower speed of wireless systems are no longer be needed. As GPRS has become
more widely available, along with other 2.5G and 3G services, mobile users of
virtual private networks (VPNs) have been able to access the private network
continuously over wireless rather than through a rooted dial-up connection.
GPRS also complements Bluetooth, a standard for replacing wired
connections between devices with wireless radio connections. In addition to the
Internet Protocol (IP), GPRS supports X.25, a packet-based protocol that is used
mainly in Europe. GPRS is an evolutionary step toward Enhanced Data GSM
Environment (EDGE) and Universal Mobile Telephone Service (UMTS).
GPRS uses a packet-mode technique to transfer high-speed and low-speed
data and signalling in an efficient manner over GSM radio networks. GPRS data
speeds are expected to reach theoretical data speeds of up to 171.2 Kbps. By
implementing GPRS, the following objectives can be met:
Steganography
Page 19/56
: JAVA(eclipse)
VNC Server
VNC Viewer
Android Wireless Toolkit
2.2.1 ABOUT JAVA
Java is an
Steganography
Page 20/56
thought of as a platform in itself. Java also has standard libraries for doing
mathematics.
Much of the syntax of Java is the same as C and C++. One major
difference is that Java does not have pointers. However, the biggest difference is
that you must write object oriented code in Java. Procedural pieces of code can
only be embedded in objects. In the following we assume that the reader has
some familiarity with a programming language. In particular, some familiarity
with the syntax of C/C++ is useful.
In Java we distinguish between applications, which are programs that
perform the same functions as those written in other programming languages,
and applets, which are programs that can be embedded in a Web page and
accessed over the Internet. Our initial focus will be on writing applications. When
a program is compiled, a byte code is produced that can be read and executed
by any platform that can run Java.
Java is a high-level, third generation programming language, like C,
Fortran, Smalltalk, Perl, and many others. You can use Java to write computer
applications that crunch numbers, process words, play games, store data or do
any of the thousands of other things computer software can do.
Compared to other programming languages, Java is most similar to C.
However although Java shares much of C's syntax, it is not C. Knowing how to
program in C or, better yet, C++, will certainly help you to learn Java more
Steganography
Page 21/56
quickly, but you don't need to know C to learn Java. Unlike C++ Java is not a
superset of C. A Java compiler won't compile C code, and most large C programs
need to be changed substantially before they can become Java programs.
What's most special about Java in relation to other programming
languages is that it lets you write special programs called applets that can be
downloaded from the Internet and played safely within a web browser. Traditional
computer programs have far too much access to your system to be downloaded
and executed willy-nilly. Although you generally trust the maintainers of various
ftp archives and bulletin boards to do basic virus checking and not to post
destructive software, a lot still slips through the cracks. Even more dangerous
software would be promulgated if any web page you visited could run programs
on your system. You have no way of checking these programs for bugs or for outand-out malicious behavior before downloading and running them.
Java solves this problem by severely restricting what an applet can do. A
Java applet cannot write to your hard disk without your permission. It cannot
write to arbitrary addresses in memory and thereby introduce a virus into your
computer. It should not crash your system.
Java
Steganography
Page 22/56
Steganography
Page 23/56
Steganography
Page 24/56
oriented
programming
is
the
catch
phrase
of
computer
Steganography
Page 25/56
Steganography
Page 26/56
bytes long, and floating point variables follow the IEEE 754 standard for
computer arithmetic exactly. You don't have to worry that the meaning of an
integer is going to change if you move from a Pentium to a PowerPC. In Java
everything is guaranteed.
However the virtual machine itself and some parts of the class library must
be written in native code. These are not always as easy or as quick to port as
pure Java programs. This is why for example, there's not yet a version of Java 1.2
for the Mac.
Java was designed from the ground up to allow for secure execution of
code across a network, even when the source of that code was untrusted and
possibly malicious.
This required the elimination of many features of C and C++. Most notably
there are no pointers in Java. Java programs cannot access arbitrary addresses in
memory. All memory access is handled behind the scenes by the (presumably)
trusted runtime environment. Furthermore Java has strong typing. Variables must
be declared, and variables do not change types when you aren't looking. Casts
are strictly limited to casts between types that make sense. Thus you can cast
an int to a long or a byte to a short but not a long to a boolean or an int to a
String.
Java
implements
robust
Steganography
Page 27/56
hackers. It's not viruses. It's not even insiders erasing their hard drives and
quitting your company to go to work for your competitors. No, the biggest
security issue in computing today is bugs. Regular, ordinary, non-malicious
unintended bugs are responsible for more data loss and lost productivity than all
other factors combined. Java, by making it easier to write bug-free code,
substantially improves the security of all kinds of programs.
Java byte codes can be compiled on the fly to code that rivals C++ in
speed using a "just-in-time compiler." Several companies are also working on
native-machine-architecture compilers for Java. These will produce executable
code that does not require a separate interpreter, and that is indistinguishable in
speed from C++.
of a Java program that you might be able to wring from C or Fortran, the results
will be suitable for all but the most demanding applications.
It
is
certainly
possible
to
write
large
Steganography
Page 28/56
the Xalan XSLT processor, and the javac compiler are large programs that are
written entirely in Java.
Java is inherently multi-threaded. A single Java program can have many
different threads executing independently and continuously. Three Java applets
on the same page can run together with each getting equal time from the CPU
with very little extra effort on the part of the programmer.
This makes Java very responsive to user input. It also helps to contribute to
Java's robustness and provides a mechanism whereby the Java environment can
ensure that a malicious applet doesn't steal all of the host's CPU cycles.
Unfortunately multithreading is so tightly integrated with Java, that it
makes Java rather difficult to port to architectures like Windows 3.1 or the
PowerMac that don't natively support preemptive multi-threading.
There is a cost associated with multi-threading. Multi-threading is to Java
what pointer arithmetic is to C, that is, a source of devilishly hard to find bugs.
Nonetheless, in simple programs it's possible to leave multi-threading alone and
normally be OK.
Java does not have an explicit link phase. Java source code is divided into
.java files, roughly one per each class in your program. The compiler compiles
these into .class files containing byte code. Each .java file generally produces
exactly one .class file.
Steganography
Page 29/56
The compiler searches the current directory and directories specified in the
CLASSPATH environment variable to find other classes explicitly referenced by
name in each source code file. If the file you're compiling depends on other, noncompiled files the compiler will try to find them and compile them as well. The
compiler is quite smart, and can handle circular dependencies as well as
methods that are used before they're declared. It also can determine whether a
source code file has changed since the last time it was compiled.
More importantly, classes that were unknown to a program when it was
compiled can still be loaded into it at runtime. For example, a web browser can
load
applets
of
differing
classes
that
it's
never
seen
before
without
recompilation.
Furthermore, Java .class files tend to be quite small, a few kilobytes at
most. It is not necessary to link in large runtime libraries to produce a (nonnative) executable. Instead the necessary classes are loaded from the user's
CLASSPATH.
You do not need to explicitly allocate or deallocate memory in Java.
Memory is allocated as needed, both on the stack and the heap, and reclaimed
by the garbage collector when it is no longer needed. There's no malloc(), free(),
or destructor methods.
There are constructors and these do allocate memory on the heap, but this
is transparent to the programmer.
Steganography
Page 30/56
The exact algorithm used for garbage collection varies from one virtual
machine to the next. The most common approach in modern VMs is generational
garbage collection for short-lived objects, followed by mark and sweep for longer
lived objects. I have never encountered a Java VM that used reference counting.
2.2.2 ABOUT VNC SERVER
The main server program needs to be run on the host machine so viewers
have something to connect to. The server is currently available for X (Unix),
Windows and PPC Macintosh. There is also a version called RFB counter, which is
a simple server produced with the aim of demonstrating that things other than
desktops can be displayed. Under Windows, the server can be run as an
application or service, but for various reasons it is recommended to run it as a
service (for example, a user doesnt then need to be logged into the server
machine before a viewer can access it). Once installed, the server can be set up
to allow viewers to access it.
I will use the Windows version as an example. In this case, all the default
settings can be used for an easy test startup, and the only thing that you will
need to do is enter a password for viewer access. Failure to do so will result in a
dialog box with a security warning message which then takes you back to the
Properties page, so forcing a password to be entered. Besides the options
available via the Properties page, various command-line options are also
available. It is prohibitive to list them all here, so instead I have listed a few
examples:
Steganography
Page 31/56
The viewer is run on the remote machine that will be connecting to the
server. The viewer is currently available for X (Unix), Windows, Java, Macintosh
(requires MacOS 7.1 or greater plus Open Transport 1.1.1 or greater) and
WindowsCE (requiresWindows CE 2.0 or later). The following information covers
the use of the Windows VNC viewer. No installation or configuration is necessary
- the executable is simply run from hard drive or floppy disk, either by doubleclicking the icon or typing in the name of the VNC executable via the command
line. Once started, a dialog box is displayed prompting for the name or IP
address of the server . After that, the user is prompted for the session password
(as previously configured via the server software). Successful authentication
Steganography
Page 32/56
itself.
Because
of
bandwidth
restrictions
it
is
obviously
not
Steganography
Page 33/56
World is contracting with the growth of mobile phone technology. As the number
of users is increasing day by day, facilities are also increasing. Starting with
simple regular handsets which were used just for making phone calls, mobiles
have changed our lives and have become part of it. Now they are not used just
for making calls but they have innumerable uses and can be used as a Camera ,
Music player, Tablet PC, T.V. , Web browser etc . And with the new technologies,
new software and operating systems are required.
What is Android
Operating Systems have developed a lot in last 15 years. Starting from black and
white phones to recent smart phones or mini computers, mobile OS has come far
away. Especially for smart phones, Mobile OS has greatly evolved from Palm OS
in 1996 to Windows pocket PC in 2000 then to Blackberry OS and Android.
Steganography
Page 34/56
One of the most widely used mobile OS these days is ANDROID. Android is a
software bunch comprising not only operating system but also middleware and
key applications. Android Inc was founded in Palo Alto of California, U.S. by Andy
Rubin, Rich miner, Nick sears and Chris White in 2003. Later Android Inc. was
acquired by Google in 2005. After original release there have been number of
updates in the original version of Android.
Steganography
Page 35/56
Steganography
Page 36/56
Android comes with an Android market which is an online software store. It was
developed by Google. It allows Android users to select, and download
applications developed by third party developers and use them. There are
around 2.0 lack+ games, application and widgets available on the market for
users.
Steganography
Page 37/56
management,
network
stack,
and
driver
model. For
software
Applications
These are the basics of Android applications:
The manifest file must declare all components in the application and should
Steganography
Page 38/56
Steganography
Page 39/56
Mobile CLIENT
SERVER
VNC CLIENT
SERVER DESKTOP
WAN
VNC
SERVER
DESKTOP
SERVER
CLIENT
(EXISTING SYSTEM)
VNC CLIENT
SERVER DESKTOP
Steganography
Page 40/56
Authentication
PC (VNC server)
RFB
Mobile USER
CRFB
Desktop Viewer
Proxy server
Access Control
Steganography
Page 41/56
CLASS DIAGRAM
Mobile USER
Viewing Desktop
Accesing Desktop
Connection Request()
Key Access()
Screen Mode()
Proxy
Name
Convert as Frame()
Store The recently Access()
VNC server
Name
IP address
Check IP Address()
Transfer Datas()
Modified and Store Datas()
Steganography
Page 42/56
Fig 4
SEQUENCE DIAGRAM
Steganography
Page 43/56
VNC SERVER
PROXY
MOBILE USER
Connection Request
Check IP Address
Given Connection
RFB
CRFB
KEY Access
Shutdown
Steganography
Page 44/56
ACTIVITY DIAGRAM
Steganography
Page 45/56
Connection False
Serv er
Proxy
Mobile USER
Start
Connection Requirement
Check IP
Address
Connection True
Desktop
View
VNC server
Start
CRFB
RFB
Creating & Open
Documents
VNC
Proxy
Refresh
Screen Mode
Selection
Mouse Pointer
Shutdown
Key Access
END state
Fig 6
Steganography
Page 46/56
COMPONENT DIAGRAM
VNC
Server
VNC
Mobile
USER
Connection Establish
Proxy
Modification Done
Authentication
Convert Frame
Key Access
Desktop View
Steganography
Page 47/56
Fig 7
COLLABORATION DIAGRAM
Steganography
Page 48/56
2: Check IP Address
4: RFB
VNC
SERVER
PROXY
3: Given Connection
5: CRFB
1: Connection Request
6: KEY Access
7: Accessing The Documents
8: Shutdown
MOBILE
USER
Steganography
Page 49/56
Fig 8
DEPLOYMENT DIAGRAM
Steganography
Page 50/56
VNC server
VNC
Mobile(USER)
Proxy
Fig 9
Screen Shot
Steganography
Page 51/56
Steganography
Page 52/56
Steganography
Page 53/56
Steganography
Page 54/56
. CONCLUSION
7. FUTURE ENHANCEMENTS
Steganography
Page 55/56
using a Shortcut assignment. The Guidance function can be used to show the
Shortcut assignments.
Steganography
Page 56/56
8. BIBILOGRAPHY
[1] http:/www.sun.com.java/j2me
[2] http:/www.sun.com.java
[3] http:/www.sun.com/j2me/toolkit
[4] James Keogh, Complete Reference J2ME, TataMcGraw-Hill,2004, New Delhi.
[5] www.iplab.cs.tukuba.ac.jp/~shizuki/r/papers/svnc-csn2002.pdf.
Steganography