My new website is Up and Running!!!

Dear All, A very Happy New Year 2008 to all of you out there.

A new year good news is that my new website named funcomputing is up and running. It has loads of features such as regular updates, downloads, forums, etc. If one is interested, one can also become a member of the mailing lists to receive regular email updates from me and other people who would like to share their knowledge and experiences.

Visit the site at:
http://www.naresh.se & Mirrors at
http://www.freewebs.com/funcomputing
http://funcomputing.uuuq.com/

Drop in your comments and suggestions as well as sign my guestbook if you like it.

My new website is Up and Running!!!

Dear All, A very Happy New Year 2008 to all of you out there.

A new year good news is that my new website named funcomputing is up and running. It has loads of features such as regular updates, downloads, forums, etc. If one is interested, one can also become a member of the mailing lists to receive regular email updates from me and other people who would like to share their knowledge and experiences.

Visit the site at:
http://www.naresh.se & Mirrors at
http://www.freewebs.com/funcomputing
http://funcomputing.uuuq.com/

http://www.funcomputing.co.nr/
http://www.funcomputing.co.cc/

Drop in your comments and suggestions as well as sign my guestbook if you like it.

Crack for Official Trail KeygenMe 3in1!

As mentioned on my other blog site, I was on vacation (parental leave) and had nothing much to do with some exceptional free time on my hand. I was just going through the normal computing stuff. I remembered some of the things that I used to do during my study days and I thought I should just try it again and see if my brain has rusted or if I can still code emoticon… Well, I certainly have my concerns after working as a product manager now for almost a year and a half. But thank god, I can still code. And well, I downloaded a keygenme and downloaded the tools I needed and sat to work and create some fun and excitement. I had nothing more to write so thought why not write something about this keygenme and teach many of my readers basics of assembly, reverse engineering, tools, etc. But I must admit that all the sites that I used to browse during my college days are long pulled down now (barring a couple of them) so you guys will have to search really hard to get the tools required. But once you get a link to one site, you will get links to all other sites and tools.

Before I write anything, I pledge that I am writing this article only for information and knowledge sharing and not with any ulterior motives. Having said that, I am also sorry for the author of this keygenme as I am putting the solution out for everybody to see. Hopefully, nobody is using it anymore to become a member of your estemeed crew.

Okay no more talk. Lets get down to serious work. As you can see, the file to be reverse engineered is a keygenme file i.e. we need to create a keygen for this particular file and not patch it. Keygenning requires a lot more skills then patching. So lets do it step by step. We will first reverse-engineer and patch the file, then create a patch file which will be generated using a tool to compare the original and patched file and generate the patcher. After that we will create a keygen for this file. This blog entry hence would be broken down into multiple entries. And I will also try to keep it as simple as possible as well as explain all the steps but still at times, it will get a bit complicated.

Anyways, so lets list the tools of the trade. First you need the original keygenme file which you can download from the link which is hidden somewhere in this article (I want to make it all the more exciting for all you budding/experience hackers/crackers/reverse engineers!). So use your basic knowledge about internet and find the hidden link and download the file. Once downloaded, unzip and place it in a directory convinient for you. Double click on the exe file. Don’t worry, the file is completely checked and doesn’t have any viruses or trojans. Running the file shows you a dialog box with 6 text entry fields and 3 command buttons. Write your nickname in the first box (Easiest), and press >> button next to it. It will show a message "Too short name or serial…" in the second text entry. Clicking on >> button once again will show a message "Of course no…".

Hopefully now you get the idea of what needs to be done. When you enter a name, you need to generate a corresponding serial number according to the algorithm in the file. You need to make a keygen (key generator). Lets start with the first step. We patch the file. You will need to have the following tools before you can start doing that:

– W32Dasm (preferably v8.93) – Windows Disassembler is a very good reverse engineering tool. It can attach itself to a process, disassemble an exe or a dll, show string references, import functions, etc. The more you play with it, the better your understanding will get about it. We will use it to disassemble the keygenme file and look into the code flow, etc. to get the exact idea of where to patch the file.

– Hiew (preferably v6.11) – Hiew is a DOS based Hex editor. It can also show the assembly view of a particular file. We will use this tool to go to a particular offset and then patch/replace the instruction there with an assembly instruction of our choice so that our file works perfectly fine as we want it to work.

You will have to download these programs yourself and let me tell you, they are pretty easy to find. I would not be able to give them to you so please don’t ask. Okay, so fire up W32Dasm and load the file. You will now see a disassembled file with a lot of information and things and it might look pretty confusing at first. But don’t worry, the more you play with it, the more you will understand. Also please do read some books on assembly programming. You should be aware of atleast the basics.

Open the string data references and look for the string "Of course no…". Double click on that and you will be taken to a code location inside the disassembly. Look into the status bar which should read something like "Line:667 Pg 8 and 9 of 25 Code Data @:….". I have not written the entire message but it basically says that the code data is 25 page long and we are in page 8 and 9 at line 667. It will also show the code and data offset with the file name. The disassembler is telling that it is one of the places where the string data is referenced.

Repeat the above steps and you should see 2 more locations where that particular string has been referenced. Come back to the first reference. We see a lot of "nop" just above the push which is highlighted. This plays a very important part for the patch process which is a bit complicated so we will tackle it last. Anyways, we go to the second reference of the string data. This should take you to line 1570 Pg 19 of 25…

Look a line above that and we see an instruction "jbe 00401DB4". Cool, if you are aware of a little bit assembly, then we find that jbe stands for jump if below or equal. Above jbe instruction, we find a call to a procedure and a cmp instruction. We got our first location and instruction to patch. Without much mind, we know that we are putting a wrong serial number. Hence the jbe is never executed. To confirm our suspicions, double click on jbe and in the toolbar above, a button "Jump to" would be enabled. Click on that and voila, we reach line: 1585 which references to a string data object "Good!".

Great, now we know that we should always take the jump even if we enter a wrong serial. So lets take the jump all the time. What is the easiest way to do it? Change the jbe to a ja which stands for jump if above (cause we know that we are not able to take the jump if it is below or equal and hence we are always above). Now comes the interesting part. Open a command window and goto the location where you have unzipped Hiew. Open Hiew with the full path to the keygenme as a command line argument. Now press F4 and select the asm mode. You will see the assembly listing here. Go back to W32Dasm, and double click on the jbe instruction. In the status bar, look for @offset. You will find something like 0000119BH. This is the offset of the instruction in the executable file. The last letter H stands for Hexadecimal.

Go back to Hiew and select F5 (Goto). Type in the above location (0000119B). We now see the jbe instruction. Press F3 (Edit) and the cursor blinks on the 7617. Change the 76 to 77. It should now look like 7717 and press F9 (Update). This saves the changes we have done in the editing to the file. Now press F10 (Quit). So finally we have patched the third keygen. Run the executable again, enter something in the fifth box, enter something in the next box and click >>. It will now show you a message "Good!".

Repeating the same process and patching the instruction at offset 00000647H, we will achieve similar results for the first keygen. This one will display the message "Good, try next test…". Great going. We patched 2 keygens, the first and the last one. Now lets patch the middle one. Try doing that as I have said above. Take some time, think before you go on reading now if you really want to learn how to patch.

So here I end this blog entry. The middle one is bit tricky and lets see how you guys fare up. Take care and happy reverse engineering for now.

Long time no see !!!

Long time no see!!! Well, my last blog entry was somewhere around 15th August, 2007. Yes, and a lot of changes happened in my personal as well as professional life during the time period. To start with, I quit my old job with the Indian company in Hyderabad, and have joined a Swedish Telecom company in Sweden. Reasons were many apart from being able to provide more output as well as do some more meaningful and challenging job. I will elaborate on my reasons to leave the company in some of my future posts.

To go on, I also have bought an apartment in Malmö, Sweden. Then the best part of my life came with the birth of my beautiful, sweet little daughter in November 2007. You can find her pics at http://picasaweb.google.com/payaljobs/Sweety071115. And nowadays, I am busy playing and taking care of her. Life is good on both the fronts.

So thats it for the (re)start. Oh! and I was on a vacation for 10 days (known as Pappa days, which can be taken in Sweden after a child is born). And I had quite an amount of free time in the night (when the baby slept and I was not able to…), so I tried to see if the old things that I used to do when I was studying is still valid and does those superb websites/knowledgebases still exists? Yes am talking about cracking/hacking.

Most of the majority have been removed from general public/search engines. I had quite a challenge to get hold of the material again. But I am glad to say that my search is not a waste. And just to see if I am not rusted, I tried a crackme and I was successful. It makes me feel as if I am again young enough :).

Anyways, if you are those ethical or FBI/CBI guys reading this post, I have done nothing wrong. I am just trying to gather knowledge for learning and follow the proverb, Knowledge is Power. I will, just for fun write a new blog on my other blog (the hidden blog!!!???) about the crackme and a kind of tutorial. Cause I feel that the new generation of computer guys are just too abstract, totally out of reality. Also I feel that there is a need to teach people about the basics of computing.

All these high level languages and abstract concepts have really made todays computer engineers into abstract thinkers. No doubt they don’t care about optimization, cpu and memory consumption, etc. as most of their job is done by compilers and linkers. And assembly, the key to everything, the utmost power is in ruins these days. I tried to search for some assembly things and I didn’t get that many hits and I used to get when I was in college. So, I am on my mission to bring out the cool stuff and pass on the knowledge.

But you won’t find it here on this blogs. It will be in a different blog site. Okay, I will give you a hint. The other blogging site is blogsome. So all you wanna be hackers out there, need to find my blog now. All the best. Believe me, its very easy.

Signing off for the day. Take Care…

Glass of Milk!

One day, a poor boy named Howard Kelly was selling goods from door to door to pay his way through school, found he had only one thin dime left, and he was hungry. He decided he would ask for a meal at the next house. However, he lost his nerve when a lovely young woman opened the door.

Instead of a meal he asked for a drink of water! She thought he looked hungry so brought him a large glass of milk. He drank it so slowly, and then asked, How much do I owe you?” You don’t owe me anything,” she replied. “Mother has taught us never to accept pay for a kindness.” He said … “Then I thank you from my heart.”

As Howard Kelly left that house, he not only felt stronger physically, but his faith in God and man was strong also. He had been ready to give up and quit.

Many year’s later that same woman became critically ill. The local doctors were baffled. They finally sent her to the big city, where they called in specialists to study her rare disease. Dr. Howard Kelly was called in for the consultation. When he heard the name of the town she came from, a strange light filled his eyes. Immediately he rose and went down the hall of the hospital to her room. Dressed in his doctor’s gown he went in to see her. He recognized her at once.

He went back to the consultation room determined to do his best to save her life. From that day he gave special attention to her case. After a long struggle, the battle was won. Dr. Kelly requested the business office to pass the final bill to him for approval. He looked at it, then wrote something on the edge and the bill was sent to her room. She feared to open it, for she was sure it would take the rest of her life to pay for it all. Finally she looked, and something caught her attention on the side of the bill.

She read these words … “Paid in full with one glass of milk”

(Signed) Dr. Howard Kelly.

Tears of joy flooded her eyes as her happy heart prayed: “Thank You, God, that Your love has spread broad through human hearts and hands.”

There’s a saying which goes something like this: Bread cast on the waters comes back to you. The good deed you do today may benefit you or someone you love at the least expected time. If you never see the deed again at least you will have made the world a better place – And, after all, isn’t that what life is all about?