April 19, 2011
Fax services on Vista home premium
All the Windows Vista Home Premium users by now must have figured out that they don’t have the basic Windows Fax and Scan services. Too bad Microsoft decided to remove something that basic from an already crappy operating system. The only solution is to look for an alternate and I seem to have found a good alternate – Classic Phone Tools by Avanquest Software
You can get the full version for free if you follow the right links on the page. So far it seems to work great for me! Let me know if anyone of you knows other better Windows Fax software.
12:05 Posted in Technology | Permalink | Comments (0) | Email this
February 03, 2011
The Mind That Cracked
This has been one of the most interesting stories from the days of hobby programming. Like most of the hacking community, the biggest turn on for writing programs is "Challenge". Of the many challenges and victories, I specifically remember this as being one of the most interesting.
I had won the software programming contest at a national level tech fest called Aureole held in JEC. I was riding high on confidence and had the feeling that I could do anything with computers and programming. I even started considering myself as one of the best programmers in the area. The only person I thought came close or at par or better was my senior in college, Kunal.
That summer I came across a software program being distributed by a local coaching class professor called MindsReader by MindsArray. Two things made me look at the software that was being used by the professor to distribute notes. Firstly, the software was being touted as uncrackable. Secondly the notes being distributed on it were really good. To get those notes you had to buy the software and individual notes packages. Considering I had never paid for software in my life (till then) and having released all my projects as Open Source, it was unlikely that I was going to pay for this one either. All the motivation needed to crack it was in place.
Let the hacking begin...
I obtained a copy of MindsReader from a friend who had bought it and got it installed on my PC. At first I thought it would be as simple as installing with the same key that my friend got. Didn't work. It generated me some key and wanted me to take it to the center or go on the web and generate an activation key for it. I had seen many such software to know that cracking this one would require me to decipher the key generation algorithm... in assembly language! I certainly didn't have time for that but still gave it a try. Got a copy of SoftIce, an executable decompiler and pointed it to the points where I would think the software triggered key generation algorithm. I was sure that the software was using some kind of hardware ID to tie the generated code to the activation code because the activation code that one person got never ran on another machine than the one code was generated for.
Having spent hours trying to figure out which piece of code was actually generating the hardware ID, my head was aching with all the staring at assembly that I had done for nearly 10 hours. My plan was simple, locate the hardware ID generation logic and hard code it with the ID from my friends computer. Yet finding that place in code was the toughest thing I had done in a while!
The Eureka moment!
I started looking at the problem from the perspective of a developer. If I had to generate a unique computer ID how would I do that? Google. Of the many results I got, the one that jumped out at me was a simple DOS executable program that you could embed with your own program by reading off the hardware ID from it's output. The sun finally decided to shine on me and I found the exact same DOS exe being used by MindsReader in its “bin” folder! The solution was right there in front of me all the while and I had been bothering myself with the uneasy painful path. The uncrackable software was now to be cracked. The solution was simpler than one would think. When I ran the DOS exec, I captured it's output on my friends machine. I fired up LECIDE (my self developed C++ IDE) and wrote simple cout>> statements to dump the exact same output as the DOS exec. I compiled and linked the code and named the exe same as the original exe for generating hardware IDs and replaced that in the bin folder, prayed to the Holy Spirit of computer programming and fired MindsReader. Re-entered the registration screen and tried again with the activation key I had borrowed from my friend and the program ran! The feeling of looking at the program run was pure bliss… I had accomplished something that very few dared to try. Yes, it wasn’t as tough as cracking some crazy algorithms would be, but so what? I was the first one to have done that in my small sleepy town and that made me proud enough…
Being a supporter of free software I was now going to enable other peers of mine to be able to run the same software. I would allow them to emulate hardware IDs and also give them a UI to adequately set up hardware id/activation key/notes package combinations. The reason this was helpful is because not everyone bought every notes package. So you could ask different people for which notes package they had purchased and easily manage the emulation process for each package. I christened my tool very appropriately, CrackMind :)
Just before I was about to release this cracker out in the wild I called Kunal and showed him what I had accomplished. After all, showing off your accomplishments to another able programmer is what drives the Open Source industry. I expected him to get surprised (or at least act) but he shocked me by confessing that he was the developer MindsArray had hired to develop MindsReader. My sense of victory was dampened a bit because now I couldn’t release it out to everyone or that would get Kunal in trouble. So instead I just distributed the tool to my entire group who reaped benefits of being my friends. Ohh yeah I reaped benefits out of them as well and I still do!
11:30 | Permalink | Comments (0) | Email this
January 09, 2011
Zinio – Magazines right on your iPad
Of all my experiences with the iPad, the best have been surfing web, reading books, and magazines. The Zinio app has totally redefined the way I get my favorite magazines! Imagine not having to wait weeks to get your PCWorld magazine delivered to your home. Having all your favorite magazines available with you and readable with almost the same or more convenience as the print media has been a dream so far – at least for me. My laptop can’t go everywhere with me but the iPad surely can. My laptop needs a wall socket after 2 hours of use so its not the best for use on airplanes, trains and airports. Its too bulky to handle as well. All of these are not a problem for the iPad.
With Zinio, I got virtually a news stand on my iPad! I can browse and purchase from a HUGE selection of magazines, not just the ones you would otherwise find on stalls. Even the prices appeared relatively cheaper than print media prices. Tell me what kind of Magazine applications are you using? Would love to know!
02:42 | Permalink | Comments (0) | Email this
January 06, 2011
Hobby Open Source Projects
As I have written on several occasions about me, I love programming. You can find the software I have written on this blog. Just made a link to a program called CopyFat with its installer and source code. I will mention here the projects I have done in the past and will eventually post them with Source Code and Installers.
- LECIDE - Learners/Experts Configurable Integrated Development Environment
- With LECIDE I intended to make something like Eclipse IDE much before it showed up. Obviously my effort was much juvenile and to be honest, I started by creating a Notepad clone in VB6 and ended up creating a very complex IDE with syntax coloring, instant help tooltips, multiple compiler support, and BLADE - a drag and drop GUI designer for creating C++ dialog resources. Unfortunately, the way the code was written was horrible. If I wanted to do something new with it today, I would rather jump off a building than taking a dive back into its code. This was a really big project and I won multiple competitions for it. Source code coming soon!
- CopyFat 2.0 - File copy program
- You can read more about it here. It was one of the most useful utilities I ever wrote. It helped me and my friends on several occassions!
- CyberBrowser - Tabbed IE based browser
- A pretty simple browser with Tabbed browsing capability back in the days when IE was still a single window browser. A good reference for those wanting to learn how to use the WebBrowser control in VB6. Download the source code here.
- Winsock Based FTP client
- While learning socket programming, I implemented my own FTP client. The important thing to note is, I didn’t use any third party components to derive FTP functionalities. The code actually talks to the FTP server by opening ports and opening parallel channels for file downloads etc. Great stuff if you are learning socket programming in VB6! Get the source code right here.
16:49 | Permalink | Comments (0) | Email this
December 28, 2010
Trying out the Windows Live Writer
Now I just set up Windows Live Writer which came as a part of the Live Essentials suite. The best part I liked about it is that I can setup multiple blogging accounts in it and write at one place, but post in all the accounts. This is my first post testing out this feature. I have my other blogs at the following locations:
14:02 | Permalink | Comments (0) | Email this


