Click Here to Install Silverlight*
United StatesChange|All Microsoft Sites
Microsoft
Links

Innovation from MIDC

At Microsoft India Development Center our teams develop strategic products for Microsoft
Home
Contest Details
Archives
Kunal Rajvanshi
IIT Delhi
 
About me
I am a code4bill intern at MSRI .My mentor is Venkie and work on the problem of software protection.
I am doing Btech Computer Science and Engineering from IIT Delhi and I'm presently in my final year . I did my schooling from Delhi Public School , New Delhi .My research interests include graph algorithms and networks . Few of my main projects are "developing a personal tracking system using bluetooth technology" , "A drawing tool for Delhi bus routes" . In the future I plan to work for sometime in a research lab and then do my post graduation.
 
I am the recipient of the Dhirubhai Ambani scholarship for excellence in academics .I am also interested in astronomy . I have been a national finalist in National Astronomy Olympiad held in year 2000 & 2001.I was the national finalist in “Red Rover Goes to Mars” organized by NASA & ISRO .Needless to say I'm a self confessed geek and enjoy problem solving .I have got numerous awards in Maths and Physics competitions held at regional and all-India levels .My interests lie in watching movies, outdoor games and observing people.
 
The code4bill experience has been truly great !!! . The work environment at MSR is amazing . What really impresses me is the flexible work timings and importance given to every person irrespective of his position
 
There are no coding guidelines and lots of freedom . Above all pantry food is nice and there are also good indoor games .
 
I am known by various names but I guess “Kunal” will be fine.
 
Code4Bill Project Details
My project goal is to make a software protection tool which would make binaries difficult to reverse engineer and crack .
 
Consider the following common situation . A software company takes great pains to develop a software .The company then distributes the executable of the software and a key to the users who have paid for the software. The company wants the following conditions to be met :-
 
a) A miscreant buys the code and runs it on his machine on the inputs of his choice . The company wants that the miscreant should not be able to reverse engineer the code . From the execution trace of the program an miscreant should not be able to learn anything useful except for the input/output relationships.
b) A miscreant should not be able to develop a crack for the program i.e. the program should be tamper proof and should not run without a key .
 
It should be obvious that the above situation has wide ranging applications from digital rights management to protection from viruses which attack fixed memory addresses.
 
So we would be using clever data structure tricks to move data around , randomize things and do whatever we can to outsmart the hacker . There is a saying that “there exists no program which cannot be cracked or reverse engineered“ . We would like to change this saying.
 
Some Course Projects
1. BioBox : The project involved building a biocluster grid by integrating ROCKS architecture with BioBox. Project was sponsored by Sun MicroSystems
2. Made a face recognition module using SVD techniques
3. Made a mini-prolog interpreter in PROLOG.
4. Implemented an engineering drawing package which could generate projections on any cross section or cutting plane once an isometric or 3D object model was given as input
5. Made a search engine based on the technique of Latent Semantic Analysis
 
Contact
I can be contacted via email . I would also be active in the Code4Bill forum . So catch u there !!!
kunalrajvanshi@cse.iitd.ernet.in
Brain Teasers

Here are some of the questions that the code4bill contestants answered. How about trying your hand at them?
Multiply 14332 represented in base -7 with 16430 represented in base -8 and represent the output in base -9.
An array contains 9 occurrences of 0s, 8 occurrences of 1s and 7 occurrences of 2s in any order. The array is to be sorted using only swap operations. What is the minimum number of swaps needed in the worst case to sort the array?
You are given an infinite number of cookie boxes containing either 6, 9 or 400 cookies. You are allowed to use these boxes in any combination so desired. What is the maximum number of cookies that you cannot give out using the above boxes?

© 2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement