Zen,
The Art of...
Reference Points...
Thought 1
By +Sandman


Put aside your tools and allow your open mind to be your guiding light from here after. 

In the following thought I will attempt to highlight just a few of the -important- aspects to learning to reverse.  Instead of showing you line after line of documented source code I will instead, do my best to explain and demonstrate, the 'thought processes' behind what we do, namely, learning to reverse. 

The Art of reversing is nothing less than finding the question, or key, to the answer you already have. In the case of software reversing you already have the answer in the form of a ready-made program, minus it's source code of course.  In this case you will need to backtrack or 'reverse' your way through this program at some fixed point until you are familiar with it's internal layout. Only then will you be in the position to know where to fish for a serial or, patch the program in order to disable it's protection system. 

The whole idea of pure software reversing is to help us, the reverser, to -understand- the internal generic structures of any given program, regardless of whether our intended target program was coded in Assembler, C++, Visual Basic, Delphi etc.  In the case of Windows for the PC, we soon know that there are only a given number of ways the program can perform a  particular task, such as displaying the generic and very familiar "Beggar off cracker" message box.  Therefore, in our early days of learning to crack, what we are looking for is sequences of assembler instructions (as shown in Softice or W32Dasm) that appear to perform a specific task.  Common things we look for are sequences of instructions that compare a value to either one already stored in a memory address or, directly against another value and then, based on the results from this comparison to perform a conditional jump to either the "Good Cracker" or "Bad Cracker" message box routine.  What we are doing is looking for a recognizable  'Reference Point' from which we can work from.   The more we learn, the more reference points we can build upon which we can then add to our existing knowledge. 

Most of us know what a Map of a large town or city looks like, we know for example the differences between rivers, roads, lakes, forests by the type of symbols used, so if we are given a map written in a foreign language then we can still work out where just about everything is even though the superficial visual text markers are not available to us. In this case, our reference points are those symbols on the map that we recognize as meaning a river, road lake etc. 

As a tutorial writer, I try my best to write my tutorials in a way that I hope, newbies will at least begin to see and learn the -common- patterns that exist in the vast majority of programs currently available. By doing this, we can use these snippets of knowledge as reference points later on in our learning cycle.   On the other hand, the dot-to-dot type tutorials serve to show you the many variations of steps that are often required when using your tools, such as when using Softice & W32Dasm. Can you see the difference here?. 

Reference points in software reversing are those nuggets of information we have learned and which, we jealously cling to when all else fails and it's here we can say " we feelt it" after successfully breaking a particularly hard protection system.  But why leave things there?, If, like me you enjoy intellectual challenges, especially those that baffle & batter the grey cells then it's not too hard to find such challenges if, you know -how- to find & recognize them for what they are.. 

Therefore, learning to -reverse- should not be left to the pursuit of cracking software, in fact, if you did this then you will be missing out on a whole lot of useful background knowledge that can often  make the difference between being able to crack a particular program or, failing at every attempt you make at it. 

Just because you can't -see- the answer straight away doesn't mean you can't find it by using some lateral thinking. 

Most of us in the real world know of, or know someone who seems to have the knack of being able to turn an argument or discussion inside out and against us no matter how hard we try otherwise. How is this done?.  The answer is quite simple, they are able to cleverly re-define our "reference points" in order to 'hide' them from us.  No reference point, no grounds for our argument!.

As a side note to this, It's like me putting you in a  boat in the middle of a large ocean and asking you to tell me where you are.  No problem say's you, my compass will tell me. But I say's, I didn't pack one up for you, what then.  (I have just get rid of one of your reference points!).  But you say, I can see the sun, and I reply that  it's in the middle of the night!. (Another reference point is taken away from you).. No problemo you say, the stars will tell me,  but I say, it's very foggy and you can't see further than 20 yards!!. (Yet another reference point lost...)   Now your -safe- options are severely limited, your lost and with no safe reference points to help guide you things look pretty bleak.. The obvious answer here is to wait until conditions become more favourable before setting off in any direction. But when faced with limited reference points it's all too easy to either give up trying or make a mistake that will lead you to nowhere. 

Still not convinced?, oh my, your a hard lot to convince tonight!..:) 

Okay, try this.. 

No matter what your native language is, if you are given to read, say a poem or prose that is grammatically correct, uses words familiar to you and are all correctly spelt, then, without a reference point of some kind you will find it hard to understand or comprehend what it is about!. 

Take a look at this example of a prose I found on the web, it's in it's full, unaltered form, with the exception that I have deliberately left out the title & author. 

                                     The breaking waves dashed high 
                                     On a stern and rock-bound coast, 
                                     And the woods, against a stormy sky, 
                                     Their giant branches tossed; 

                                     And the heavy night hung dark 
                                     The hills and waters o'er, 
                                     When a band of exiles moored their bark 
                                     On a wild New England shore. 

                                     Not as the conqueror comes, 
                                     They, the true-hearted, came; 
                                     Not with the roll of the stirring drums, 
                                     And the trumpet that sings of fame; 

                                     Not as the flying come, 
                                     In silence and in fear;-- 
                                     They shook the depths of the desert's gloom 
                                     With their hymns of lofty cheer. 

                                     Amidst the storm they sang, 
                                     And the stars heard, and the sea; 
                                     And the sounding aisles of the dim woods rang 
                                     To the anthem of the free! 

                                     The ocean-eagle soared 
                                     From his nest by the white wave's foam, 
                                     And the rocking pines of the forest roared; 
                                     This was their welcome home! 

                                     Their were men with hoary hair 
                                     Amidst that pilgrim band; 
                                     Why had they come to wither there, 
                                     Away from their childhood's land? 

                                     Their was woman's fearless eye, 
                                     Lit by her deep love's truth; 
                                     There was manhood's brow, serenely high, 
                                     And the fiery heart of youth. 

                                     What sought they thus afar? 
                                     Bright jewels of the mine? 
                                     The wealth of seas, the spoils of war?-- 
                                     They sought a faith's pure shrine! 

                                     Aye, call it holy ground, 
                                     The soil where they first trod! 
                                     They left unstained what there they found-- 
                                     Freedom to worship God! 
 

What is this prose about?  Believe it or not, I could fill a whole book with this kind of prose and still many of you won't know what the book was about!.  Here once again we have the -answer- in the form of this prose, yet to understand it we need to know the key, a reference point if you will, that represents the title for this prose. In learning to -think- like a cracker we need to first find a starting place or, a reference point from which we can begin our work. But where do we start?. 

Perhaps the -easiest- place to start from is to try and find this prose on the web. I found it through a search engine but unless you know what the prose is talking about how will you know in what subject to look in!. Perhaps then this is not a good place to start from?.. 

Okay, you've read the prose a few times and have made some general notes on what -you- think the paragraphs are saying.  Now here's where you must begin to try and find those subtle connections between one paragraph and another.. 

Things that you need to do and ask yourself.. 

Are there any -general- themes to this prose? If so what are they? 
Are there any names of people, places or objects mentioned? If so what are they? 

At this point can we make any rough connections between what we've already found? 

Next, if we think our prose is about an -event- in time, regardless of whether it's of a factual event or, a fictious one, then any objects or place names mentioned can often give us good clues to what era this prose may be describing!.  Example, if this prose is describing an -event- that happened at around the time the Roman's invaded England then it's doubtless that the motor car will be mentioned, but a chariot maybe?  Also, if a name of a place is mentioned then bear in mind that they are sometimes renamed/changed one, or more times over the course of time. 

At this stage we may already have some possible reference points to which we can make a start  at unravelling our prose.. 

  In general, but not always, each paragraph in a prose can be thought of as a small, but separate story in it's own right, so try and find a -key- word from each paragraph that appears to stand out from the rest of the paragraph. Put these -key- words to one side.  Possible key words we can choose would be names of Objects, Places or People etc. 

Now examine these -key- words and see if there's a connection between them. It's rare to find a solid connection between all your -key- words, but often, once you do find the -right- connection you can go back to the prose and suddenly you'll find that the prose now makes sense!. That's when you can 'feel it" and the Zen is strong within you!. 

In order to complete this task you must email me and tell me the answers to the following questions: 

What is the title.
Who is the author.
Where can we find this prose.

UPDATE: 11th January 2000 
~Sorry, no more solutions are being accepted.~

Good hunting!
+Sandman 



My Congratulations on completing this example goes to the following students: 
 
 
 
Reverser Completed...
   
EvilTeach  1st January 2000
Randy Juhl  2nd January 2000 
Peronospora  3rd January 2000 
Johannes_Kepler   3rd January 2000 
DragonMaster  4th January 2000 
Filopopulus  4th January 2000
Crusher  5th January 2000
Austin  6th January 2000
AL SINDOR  6th January 2000
Aule   7th January 2000
Esther  7th January 2000
Hedgehog  8th January 2000
Luiz Tarelho  8th January 2000
TheX  8th January 2000
Schattenkrieger  9th January 2000
Zook  10th January 2000
^heiko  10th January 2000
CriTteR  10th January 2000
Blitzz  10th January 2000

And finally... 

Feel free to send and share with me, your -thoughts- on how you were able to complete this exercise. Did -you- learn anything new from this experience?. Do you have any -zen- thoughts you might want to share?. 
 


How then do you reverse a reverser? Simple, you take all his knowledge & Ethics and turn it all inside & backwards on him!.



 


Page by +Sandman
Page Created: 1st January 2000