Showing posts with label Hacking. Show all posts
Showing posts with label Hacking. Show all posts

Reverse Engineering (RCE): For Beginners

Reverse engineering is a critical set of techniques and tools for understanding what software is really all about. Formally, it is “the process of analyzing a subject system to identify the system’s components and their interrelationships and to create representations of the system in another form or at a higher level of abstraction” (IEEE 1990). This allows us to visualize the software’s structure, its ways of operation, and the features that drive its behaviour, even when the source code and documentation for the software are unavailable. It also equips us with the ability to modify software applications according to our needs.

Learning software reverse engineering requires a combination of skills and a thorough understanding of computers and software development, but like most worthwhile subjects, the only real prerequisite is a strong curiosity and desire to learn. Software reverse engineering integrates several arts: code breaking, puzzle solving, programming, and logical analysis.



While on one hand reverse engineering is used by software analysts to find flaws and faults in a software, to develop a strong protection scheme for the software and to improve the original code, it is also used (and I suppose more often) by hackers and crackers to modify an application to overcome its protection schemes, inject malicious features into an application and enable-disable restricted features. Reverse engineering, as Elliot Chikofsky describes in his foreword to the book “Reversing: Secrets of Reverse Engineering”, is like a stethoscope, which could not only be used by a doctor to detect breathing or heart problems but also by a burglar to listen to the lock mechanism of a safe as the tumblers fall in place. It is a tool which is not inherently good or bad but the issue is the use to which it is put.

While legal issues surround the usage and application of reverse engineering, acquiring knowledge about the techniques of reverse engineering is perfectly legal. As a beginner, you can learn how to create patches for a software in order to bypass restrictions. You can learn the internal working of a protection scheme to be able to find a password/ serial key for it or (even more) to be able to write a keygen for it. More advanced techniques may also teach you how to inject your own code into a piece of software. It is important for good guys to know these techniques too, as it provides one with a perspective of a hacker. To be able to think like hackers motivates one to develop stronger protection schemes and take anti-reversing measures for your software.

On a more personal note, learning reverse engineering is fun. You suddenly find yourself in a world of endless possibilities. There are several websites offering legal “crackme” files. It can be challenging, mentally satisfying and often addicting, when cracking these files. You force your mind to work analytically as never before. You can take your first step in being someone different from those you see all around you.

I wrote this article a few months back to help people (beginners) understand what reverse code enginerring is all about. I myself am a beginner in this field and hopefully someday I could advance to the next level. For now I
already have enough stuff at hand !!


Read more >>

Word Game Solver

Word games like text twist, wordShuffle are great for time pass. They are not just intellectually challenging but also fun. All you need to do is figure out all possible words using the letters given within the specified time. It not only requires a strong vocabulary but also a good visual memory. To try out your skill at such a game play one below:



My first encounter with this game was when a friend of mine challenged me for a game on facebook. Since I am not into playing flash games (except maybe during computing lessons in lab) the game was not intriguing but something else was -- the fundamental logic with which the mind works to find the scrambled words. My programming instincts encouraged me to code this logic and what came up as a result was a word game solver.



This piece of software takes in the scrambled letters and gives you all the words that can be formed with them. So if you are too stressed playing such a game then you can have the computer find the words for you. You can download this solver here:


Most people may regard this as cheating. However if you use it for friendly games and in good spirit, it may not be of major ethical concern. Have regards for those who have spent months of practice and loads of mental ability to set high scores.

Read more >>

This is Amulya Khare's blog cum website. You can know more about him by viewing his profile.

Read about his views and ideas on topics that grab his attention.

Also you can view his work and projects.

Included here are some resources and articles that you might find interesting or helpful.