About Me

Identity
Hi, I'm Sanchit Karve from Mumbai, India.
I am currently a sophomore Engineering Student of Mumbai University. I have been programming as a hobby from the time I was 13.
I love musical instruments and play the Flute, Harmonium and the Acoustic and Electric Guitars. My Musical taste includes songs of contrasting genres, right from Soft Alternative Rock Songs by 'Athlete' to Eminem, Led Zeppelin, GnR, Linkin Park and Lynyrd Skynyrd and many more.
My Geek Life
I use my spare time in studying various kinds of Compilers, Applications, Viruses and Worms, Protection Mechanisms and Networking Protocols and use this knowledge to test other Applications for exploits and vulnerabilities and in the process, write anti-hacking protection schemes of my own. I also attack and test embedded software.
Since I'm obsessed with Application Security, you'll find that a majority of my articles and tutorials are based on study of Applications using static and dynamic analysis. It is an interesting field of study, and since not many people use Reverse Engineering for constructive purposes, discovering anything unusual, is of great help.
After Reversing and studying scores of applications, I've realized that although manuals and documentation are the first and the last places we look to clarify something, trusting them completely is a major mistake. Many manuals deliberately give wrong information or hide vital information for reasons best known to them. And the pleasure you get when you find such information and clever code, is more than enough to get you digging deeper in search of more.
My intent is never malicious while reversing code. But to understand the weaknesses of a particular system, and to strengthen security, reversing is a must.
As of now, my web development skills are deploring. I've never tried to learn things on my own as it requires you to have your own server etc. As a result, I'm depending on my college curriculum for this subject.
It's an interesting field and I hope to write ColdFusion, ASP and PHP code one day.
The Making of a Geek
At the age of 13,after being sick and tired of being taught BASIC in school, I decided to learn something else on my own.
So I started buying books and programming magazines on various topics. Since I had no time to read them because of school, I would read them in the bus while on my way to school and on the way back home.
I realized that I was enjoying these subjects and so decided to learn beyond my school curriculum.
I then got fascinated by the world of programming and was interested in the C and C++ Language.
I got more and more curious about everything that I read. Whenever something was mentioned about how the computer executes instructions etc., I would prefer seeing it myself than just know the theoretical content and move further.
Then I learnt 16-bit and 32-bit Assembly Language on my own.
After having a sound knowledge of the Assembly Language, everything I read after that gave me an entirely new meaning. After knowing low-level architecture and operations, it is easier to comprehend many programming concepts and and helps you understand why many rules and restrictions are imposed in different programming languages.
I then heard about Disassemblers and Debuggers on the Internet and used them to analyze the code generation process of various compilers. Disassembling Viruses and Worms gave me a pretty good picture of how they work. This even taught me how to reverse engineer applications, and I got interested in developing anti-debugging techniques as well as breaking protections of popular applications. This knowledge was extremely useful to design many anti-debugging techniques. It's an extremely challenging and fun task.
I also saw that many common filename extensions have File Signatures which are very interesting. For instance it was interesting to see for myself that CLASS files have the Signature as two leading bytes which are 0xCA and 0xFE, which stands for CAFE and is in relation with the Java Coffee cup.
This thirst of knowledge made me learn more and more everyday.
Yes, all this did earn me the title of the Geek and a Hacker but I guess I'm sort of proud of earning such titles ;)
I write Applications for Windows as well as small time apps for *NIX OSes and Java MIDP 2.0 Supported Phones.
I moderate the dream.in.code Programming Forums which has over 10000+ members and am often the Top Contributor of .NET Interop Code at PInvoke.net by Red Gate Software.
My Technical Paper titled "Application Security using Reverse Engineering", written when I was 17 as a First Year undergraduate student secured the third prize in a Technical Paper Presentation Contest held in an Engineering College in Mumbai after competing with only final year undergraduate technical papers.
My favorite computing fields include Application Security and Embedded Systems. I hope my career features in one of these categories.
I enjoy disassembling programs and studying how compilers generate optimized code and how it varies across compilers. I've written many tutorials and articles on this subject.
My current areas of expertise are:
8 bit, 16 bit and 32 bit Assembly (8085/80x86 equivalent)
C/C++
Win32 API
BASIC
Visual BASIC 6.0
IL Assembly
Java J2SE and J2ME
Pascal
PL/SQL
MFC
PERL
I am currently new to implementing scripting technology and .NET
Framework and have a basic understanding of:
JavaScript
C#
ASP
I hate playing computer games, unless if it's one of the Half-life Series, Need For Speed, Grand Theft Auto or an FPS.
born2c0de
I have forgotten when I chose my screen name:"born2c0de". All that I remember is that I wanted my screen name to be unique, so I kept coming up with screen name ideas and searched for them on various search engines. 'born2c0de' along with some other screen names gave NO RESULTS, and I decided to go for it.
I use "b2c" often as an abbreviation for born2c0de.
I'm extremely proud of my signature which is the printf statement given in the second line of each page. It's contradictory nature simply fascinates me. I can't believe I actually came up with that !!!