Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Project Idea | God’s Eye

  • Difficulty Level : Hard
  • Last Updated : 25 Apr, 2019

Project Idea: Complete user’s Activities tracking with Remote Assistance

This Program is divided into two major modules one is for complete activity tracking and can even tell which activity is currently active on the user’s side.
Can also work as a Global Keylogger to log the text written by a user on any process window ( Only when Proper undertaking ).
The second module is for Remote Access which is widely used for Visual remote assistance and specially used on Industries, Colleges, Training Centers and many more. This project is fully based on Client-Server Architecture which is efficiently implemented using JAVA, C bridged by JNI.

Features :
First Module : Activity Tracking
Server side:
It can track 100 clients at a time with simplest user interface with fast access to data .
This server program gives you choices to track user text on current activity from window handle to text init. (A-Z tracking)
Can even track Google chrome tabs to a text file located in FileSystem.
Uses Global key logger to log text typed by each of the users.
Client side:
There is no UI for the client-side program.
It runs as a background process which runs on window’s startup or can be invoked by server process using RMI(remote method invocation).

Second Module: Remote Visual Accessing
Master side:
It based on Master and slave architecture. Master’s side provides a visual Reflection of slave’s PC to provide a nice interface for remote access.
Master can control the slave’s machine completely from playing music to searching web.
It can only handle the slave at a time.
Slave side:
No user interface for Slave’s side its a background process.
Master’s actions are fully reflected on the slave’s machine.
A slave can be invoked by a Master machine at any time.

Implementation Details:
No database used for the purpose of fast accessing of a large amount of data created per second.
For accessing Data we used nested TreeMap along with ArrayList for storing data in an efficient manner for fast access.
The concept behind using TreeMap is to fetch the data in Sorted order in O(logn) time complexity.
Small code snippet is given from implementation :

for (Map.Entry<String, TreeMap<String, TreeMap<String, ArrayList> > > en : tm.entrySet()) {
    System.out.print(en.getKey() + "-->");
    TreeMap<String, TreeMap<String, ArrayList> > tm1 = en.getValue();
    for (Map.Entry<String, TreeMap<String, ArrayList> > en1 : tm1.entrySet()) {
        System.out.print(en1.getKey() + "-->");
        TreeMap<String, ArrayList> tm2 = en1.getValue();
        for (Map.Entry<String, ArrayList> en2 : tm2.entrySet()) {
            System.out.print(en2.getKey() + "-->");
            ArrayList ar = en2.getValue();
                                for(int i=0;i");

Tools/Programming Languages used:

Deeply studied about JNI from web resources
Worked with Windows inbuilt functions using jni.
Learned about Runtime class, Robot class, etc.
Special thanks to GEEKSFORGEEKS, StackOverflow.

Prakhar Gupta, Moradabad Institute of Technology,
Github account:
GeeksforGeeks Profile:
LinkedIn profile:

Mritumjay Yadav, Sant longowal Institute of Engineering Technology, Punjab, Pincode:148106
LinkedIn profile:
Github account:
GeeksforGeeks profile:

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!