You are on page 1of 56

Page 1/56

PC Controlling through Mobile

Steganography

Page 2/56

PC Controlling through Mobile


A PROJECT REPORT

Submitted by
Mr. xxxx

in partial fulfillment for the award of the degree

of

Diploma-CS

IN
MUMBAI
XXX Engineering College
XXXXXX University : XXXXX - 400001

March - 2014

PC Controlling through Mobile


A PROJECT REPORT

Steganography

Page 3/56

Submitted by

Mr. xyz

in partial fulfillment for the award of the degree

of

Diploma-CS

XXX ENGINEERING COLLEGE, XXXXX

MUMBAI UNIVERSITY:: MUMBAI 400001

Steganography

Page 4/56

OCTOBER 2010

XXXXXX UNIVERSITY: XXXXXX 400 001

BONAFIDE CERTIFICATE

Certified that this project report .PC Controlling through Mobile


is

the

bonafide

work

of

....Mr.

xyz

who carried out the project work under my supervision.

<<Signature of the Head of the Department>>


Supervisor>>
SIGNATURE

<<Name>>
HEAD OF THE DEPARTMENT

<<Signature of the
SIGNATURE

<<Name>>
SUPERVISOR

<<Academic
Designation>>

<<Department>>

<<Full address of the Dept & College >>


Dept & College >>

<<Department>>

<<Full address of the

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

This is the software requirements specification for Control Pc through cell


phone. This document is primarily intended to provide detailed
specifications of the functional requirements and non functional
requirements of product. The requirements are illustrated with the help of
Uml diagrams and images. The SRS will facilitate everyone who wants to
proceed our work or want to research on remote Computer sharing,
controlling devices remotely or using internet technology.

Steganography

Page 8/56

INTRODUCTION

In an age of Technology explosion, the ability to do all the things


automatically and instantly anytime anywhere has become a necessity for
survival. The steep increase in the growth of mobile communication technologies
and computing devices such as mobile phones and personal digital assistants
(PDAs) had migrated vast amounts of information and applications from their
desktop origins to more nimble mobile extensions. We cannot have the desktop
always in our pockets but mobiles are always with us. Thus a technology from
which we can control the computer and other devices from our mobile will cause
a great comfort in our lives.
Need of the project:
Nowadays it has become quite necessary to have remote access to
devices.
Goal of the project:
The user will be able to Browse PC through Mobile and control PC through
Mobile.
Scope of the project:
Following are the main functionality of our project,

Browse through PC from Mobile.

Navigate through PC.

File Upload from Mobile to PC.

File Download from PC to Mobile.

Chat in between Mobile & PC.

Advantages of System

Steganography

Page 9/56

1. Completely portable on Android


2. Small, concise, fast and attractive user interface for small device with
rich internet functionality.
3. The user will be able to Navigate through PC using Mobile.

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

to another machine, whether next door or several hundred miles away,


reconnect to your desktop from there and finish the sentence you were typing.
Even the cursor will be in the same place. With a PC X server, if your PC crashes
or is restarted, all the remote applications will die. With VNC they go on running.

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.

It is truly platform-independent. A desktop running on a Linux machine

may be displayed on a PC. Or a Solaris machine. Or any number of other


architectures. The simplicity of the protocol makes it easy to port to new
platforms. We have a Java viewer, which will run in any Java-capable browser. We
have a Windows NT server, allowing you to view the desktop of a remote NT
machine on any of these platforms using exactly the same viewer
The VNC-based architecture
To achieve the above-mentioned goals while at the same

Steganography

Page 11/56

Fig 1
time

considering

portability

and

generality,

we

propose

VNC

based

architecture. VNC is an implementation of a remote display system based on a


Remote Frame Buffer (RFB) protocol.

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

desktop display as bitmap images in RFB protocol. A SVNC proxy

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:

Convert different devices: A cellular phone is physically limited. The typical


size of the screen is 2.2 inches with 120x130 pixels. SVNC viewer on a emulator
accessing the desktop of a remote Linux about sixteen keys. In contrast, current
desktops are manipulated with keyboards that have over 100 keys and pointing
devices such as a mouse.

Steganography

Page 13/56

Suppress network traffic: The wireless transmission bandwidth available for a


cellular phone is limited. Currently, it is 384k bps, even on IMT-2000 based
services (only downstream at this transmission rate).
Recover from an unscheduled disconnection: Because of its wireless
nature, stable network connectivity cannot be expected. For example, when the
user goes into a tunnel or a building, established connections can be lost. In
addition, in order to use the same cellular phone to talk to someone, the user
must terminate the network connection.
Suppress computational resource use: CPU performance and memory size
are limited on a cellular phone to achieve portability and to lower power
consumption.
Applications of VNC
VNC has a wide range of applications including system administration, IT
support and helpdesks. It can also be used to support the mobile user, both for
hot desking within the enterprise and also to provide remote access at home, or
on the road. The system allows several connections to the same desktop,
providing an invaluable tool for collaborative or shared working in the workplace
or classroom. Computer support within the geographically spread family is an
ever popular useVNC Enterprise Edition is an enhanced version of the industrystandard VNC, developed for use in corporate environments and across the
Internet. Designed and built from the ground up by the original inventors of VNC,
Enterprise Edition provides robust and easily-administered security with a

Steganography

Page 14/56

minimum of fuss.

The

core

Enterprise Edition features, common across all supported platforms, are as


follows.

Platform-Native Authentication removes the need for separate VNC

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.

Desktop Scaling to a particular size, by a particular ratio, or dynamically

to whatever size you choose.

Windows Firewall Integration, making VNC Server more straightforward

to deploy.

Cross-Platform Interoperability with the other members of the VNC

Enterprise family.

File Transfer allows you to copy files between your server and viewer

computers over the VNC connection.


Common Uses For VNC

Steganography

Page 15/56

Workstation toWorkstation (Windows) - In a PCsupport environment this


would arguably be the most useful. With the server software loaded onto each
machine on the network, and the viewer on restricted machines (or
carried around on a floppy disk by support personnel) it would be easy for
remote diagnostics to be carried out on PCs that were located remotely (perhaps
many miles away), either via the company WAN or a dial-up
connection to the remote PC. The issue of monitoring/spying also crops up here if it is suspected that a member of staff is not utilising his/her time correctly,
then the viewer, if connected in View Only mode, can easily
snoop on the user. This could be done by a technician, or even someone senior
who might not have the relevant technical skills; in View Only mode no real
technical skills are required to start up, view, and subsequently shut down the
software.
Workstation to Server This would enable a viewer on any type of
workstation (or WindowsCE machine) to connect to a server running one of the
supported operating systems, so allowing remote control (or monitoring) of that
server. The most common uses here would be for server control/monitoring from
the support persons desk while at work, or when dialling into the server from
home (the viewer software being run on a laptop, desktop or WindowsCE
machine).

Steganography

Page 16/56

Workstation to Workstation (cross-platform) - Because server and viewer


software is also available for the Macintosh machines it is now possible to
remotely run, for example, a non-Windows-compliant application on aWindows
machine, so enabling a vast array of Macintosh software to effectively be run
onWindows PCs (albeit a little slowly and with some obvious restrictions on
functionality).

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

automatically carried out as required. This overrides the default, so making it


useful for lower-speed lines (such as modem dial-ups).

Steganography

Page 17/56

emulate3 emulates three buttons on a two-button mouse (simultaneously

clicking both buttons emulates the third).

fullscreen causes the viewer to start in full-screen mode instead of windowed.

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

: 128 MB DDR RAM

HARD DISK

: 20 GB

Android ENABLED WEB ACCESS MOBILE(GPRS)


2.1.1 ABOUT GPRS

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

give support for bursty traffic

use efficiently network and radio resources

provide flexible services at relatively low costs

possibility for connectivity to the Internet

provide fast access time

to have and support flexible co-existence with GSM voice

2.2 SOFTWARE REQUIREMENTS


LANGUAGE

: JAVA(eclipse)

VNC Server
VNC Viewer
Android Wireless Toolkit
2.2.1 ABOUT JAVA

Java is an

object-oriented programming language with a built-in application programming


interface (API) that can handle graphics and user interfaces and that can be used
to create applications or applets. Because of its rich set of API's, similar to
Macintosh and Windows, and its platform independence, Java can also be

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

is a platform for application development. A platform is a loosely

defined computer industry buzzword that typically means some combination of


hardware and system software that will mostly run all the same software. For
instance PowerMacs running Mac OS 9.2 would be one platform. DEC Alphas
running Windows NT would be another.

Steganography

Page 22/56

There's another problem with distributing executable programs from web


pages. Computer programs are very closely tied to the specific hardware and
operating system they run. A Windows program will not run on a computer that
only runs DOS. A Mac application can't run on a Unix workstation. VMS code
can't be executed on an IBM mainframe, and so on. Therefore major commercial
applications like Microsoft Word or Netscape have to be written almost
independently for all the different platforms they run on. Netscape is one of the
most cross-platform of major applications, and it still only runs on a minority of
platforms.
Java solves the problem of platform-independence by using byte code. The
Java compiler does not produce native executable code for a particular machine
like a C compiler would. Instead it produces a special format called byte code.
Java byte code written in hexadecimal, byte by byte, looks like this:
CA FE BA BE 00 03 00 2D 00 3E 08 00 3B 08 00 01 08 00 20 08
This looks a lot like machine language, but unlike machine language Java
byte code is exactly the same on every platform. This byte code fragment means
the same thing on a Solaris workstation as it does on a Macintosh PowerBook.
Java programs that have been compiled into byte code still need an interpreter
to execute them on any given platform. The interpreter reads the byte code and
translates it into the native language of the host machine on the fly. The most
common such interpreter is Sun's program java (with a little j). Since the byte
code is completely platform independent, only the interpreter and a few native

Steganography

Page 23/56

libraries need to be ported to get Java to run on a new computer or operating


system. The rest of the runtime environment including the compiler and most of
the class libraries are written in Java.
All these pieces, the javac compiler, the java interpreter, the Java
programming language, and more are collectively referred to as Java.
Java was designed to make it much easier to write bug free code.
According to Sun's Bill Joy, shipping C code has, on average, one bug per 55 lines
of code. The most important part of helping programmers write bug-free code is
keeping the language simple.
Java has the bare bones functionality needed to implement its
rich feature set. It does not add lots of syntactic sugar or unnecessary features.
Despite its simplicity Java has considerably more functionality than C, primarily
because of the large class library.
Because Java is simple, it is easy to read and write. Obfuscated Java isn't
nearly as common as obfuscated C. There aren't a lot of special cases or tricks
that will confuse beginners.
About half of the bugs in C and C++ programs are related to memory
allocation and deallocation. Therefore the second important addition Java makes
to providing bug-free code is automatic memory allocation and deallocation. The
C library memory allocation functions malloc() and free() are gone as are C++'s
destructors.

Steganography

Page 24/56

Java is an excellent teaching language, and an excellent choice with which


to learn programming. The language is small so it's easy to become fluent. The
language is interpreted so the compile-run-link cycle is much shorter. The
runtime environment provides automatic memory allocation and garbage
collection so there's less for the programmer to think about. Java is objectoriented unlike Basic so the beginning programmer doesn't have to unlearn bad
programming habits when moving into real world projects. Finally, it's very
difficult (if not quite impossible) to write a Java program that will crash your
system, something that you can't say about any other language.
Object

oriented

programming

is

the

catch

phrase

of

computer

programming in the 1990's. Although object oriented programming has been


around in one form or another since the Simula language was invented in the
1960's, it's really begun to take hold in modern GUI environments like Windows,
Motif and the Mac. In object-oriented programs data is represented by objects.
Objects have two sections, fields (instance variables) and methods. Fields tell
you what an object is. Methods tell you what an object does. These fields and
methods are closely tied to the object's real world characteristics and behavior.
When a program is run messages are passed back and forth between objects.
When an object receives a message it responds accordingly as defined by its
methods.
Object oriented programming is alleged to have a number of
advantages including:

Steganography

Page 25/56

Simpler, easier to read programs

More efficient reuse of code

Faster time to market

More robust, error-free code

In practice object-oriented programs have been just as slow, expensive and


buggy as traditional non-object-oriented programs. In large part this is because
the most popular object-oriented language is C++. C++ is a complex, difficult
language that shares all the obfuscation of C while sharing none of C's
efficiencies. It is possible in practice to write clean, easy-to-read Java code. In C+
+ this is almost unheard of outside of programming textbooks.
Java was designed to not only be cross-platform in source form like C, but
also in compiled binary form. Since this is frankly impossible across processor
architectures Java is compiled to an intermediate form called byte-code. A Java
program never really executes natively on the host machine. Rather a special
native program called the Java interpreter reads the byte code and executes the
corresponding native machine instructions. Thus to port Java programs to a new
platform all that is needed is to port the interpreter and some of the library
routines. Even the compiler is written in Java. The byte codes are precisely
defined, and remain the same on all platforms.
The second important part of making Java cross-platform is the elimination
of undefined or architecture dependent constructs. Integers are always four

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

exception handling mechanism to deal with both expected and unexpected


errors. The worst that an applet can do to a host system is bring down the
runtime environment. It cannot bring down the entire system.

Steganography

Page 27/56

Most importantly Java applets can be executed in an environment that


prohibits them from introducing viruses, deleting or modifying files, or otherwise
destroying data and crashing the host computer. A Java enabled web browser
checks the byte codes of an applet to verify that it doesn't do anything nasty
before it will run the applet.

However the biggest security problem is not

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++.

While you'll never get that last ounce of speed out

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

programs in Java. The HotJava browser, the Eclipse integrated development


environment, the LimeWire file sharing application, the jEdit text editor, the
JBoss application server, the Tomcat servlet container, the Xerces XML parser,

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.

(There are a few exceptions we'll discuss later in the

semester, non-public classes and inner classes).

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

Install- installs the WinVNC Service

Kill - kills a running copy of WinVNC

about shows the About box


It is also possible to run WinVNC from the command line with multiple

options, so combining commands on one line. Quite a number of advanced


settings are also available under WinVNC, but these are somewhat more fiddly to
configure because the registry needs to be edited. Ways of simplifying this
process are currently being looked into for implementation into future revisions.

2.2.3 ABOUT VNC VIEWER

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

brings up a virtual display of the servers desktop. An Options button is available


- clicking on this displays the options. Out of all the available options, View Only
is the one that is the most interesting, since it allows the viewer to view activity
on the server without the server being controlled in any way by the viewer. This
is especially useful for monitoring purposes (monitoring a backup program
running on a server, for example) or for spying purposes - ie, keeping tabs on
how users are utilising their machines. This latter use would no doubt create
some controversy in some circles - after all, no-one likes to be spied on - but it
does have a valid use in certain circumstances. Once connected to the server,
the viewer can control it as if the user was sitting at the remote machine. I found
the speed to be good on a 10Mbits/second LAN. Various options are available via
a pull-down menuwhich allows the user to change certain functions once
connected. If started via the command-line then various options can be input at
that stage without the need for making menu selections. In use I found that
blocks of pixels sometimes appeared on the screen as a new area was being
drawn, but these were erased by the program once the display had finished
updating

itself.

Because

of

bandwidth

restrictions

it

is

obviously

not

recommended to run programs on the server that constantly move a lot of


graphics around (games, for example), but that shouldnt present a problem as
that isnt what the program was designed for. It is a remote control and
monitoring tool - not a means of remotely playing games.
ABOUT Android

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

Features & Specifications


Android is a powerful Operating System supporting a large number of
applications in Smart Phones. These applications make life more comfortable and
advanced for the users. Hardwares that support Android are mainly based

Steganography

Page 36/56

on ARM architecture platform. Some of the current features and specifications of


android are:

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

Android applications are written in java programming language. Android is


available as open source for developers to develop applications which can be
further used for selling in android market. There are around 200000 applications
developed for android with over 3 billion+ downloads. Android relies on Linux
version 2.6 for core system services such as security, memory management,
process

management,

network

stack,

and

driver

model. For

software

development, Android provides Android SDK (Software development kit). Read


more about open source software.

Applications
These are the basics of Android applications:

Android applications are composed of one or more application components

(activities, services, content providers, and broadcast receivers)

Each component performs a different role in the overall application

behavior, and each one can be activated individually (even by other


applications)

The manifest file must declare all components in the application and should

also declare all application requirements, such as the minimum version of


Android required and any hardware configurations required

Steganography

Page 38/56

Non-code application resources (images, strings, layout files, etc.) should

include alternatives for different device configurations (such as different strings


for different languages)

Google, for software development and application development, had launched


two competitions ADC1 and ADC2 for the most innovative applications for
Android. It offered prizes of USD 10 million combined in ADC1 and 2. ADC1 was
launched in January 2008 and ADC 2 was launched in May 2009. These
competitions helped Google a lot in making Android better, more user friendly,
advanced and interactive.

Steganography

Page 39/56

Mobile CLIENT
SERVER

VNC CLIENT

SERVER DESKTOP
WAN
VNC

SERVER
DESKTOP

SERVER
CLIENT
(EXISTING SYSTEM)
VNC CLIENT
SERVER DESKTOP

3.3 UML DIAGRAM

USE CASE DIAGRAM

Steganography

Page 40/56

server conncetion Request


(using IP addres)

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

Accessing The Documents

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

Store Recently Access

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

VNC is a very impressive product, especially considering that its free.


Quite apart from that, its main advantage over its commercial competitors is
that it is open source, so anyone with programming skills can contribute towards
it and so make it an even better, more flexible product. Even in its current form,
its remote control applications are almost limitless, and it will no doubt find
many uses and supporters in a typical support environment. This project is
designed as per the current requirement to the industry. Using this project we
can view the remote desktop using a mobile with GPRS connectivity.

7. FUTURE ENHANCEMENTS

We have proposed a system to remotely access a computer desktop using


only a cellular phone, despite the physical and bandwidth limitations of cellular
phones. The system has a VNC-based architecture for accessing a remote
desktop from the cellular phone. A proxy is placed to convert different devices,
to suppress network traffic, and to support recovery from an unscheduled
disconnection. To increase user-friendliness and to solve the problem of the small
screen, several functions are provided on the cellular viewer. Frequently used
screen areas of the desktop can be registered and quickly restored quickly by

Steganography

Page 55/56

using a Shortcut assignment. The Guidance function can be used to show the
Shortcut assignments.

Two areas of the desktop display can be viewed

simultaneously using the Twin view function. We have implemented a prototype


of this system using Java, and checked the operation on a Java-enabled cellular
phone emulator. Currently, we are extending our implementation to support
incremental updating of the SVNC viewer image, to speed up the frame rate and
to incorporate more intelligent
navigation. We are also trying to provide integrated panning and zooming of the
viewport to simplify these basic operations, by applying speed-dependent
automatic zooming.

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

You might also like