------------------------------------------------------------------------ -------------------------------H-A-C-KK-E-R-Z---------------------------- ------------------------------------------------------------------------- ------------------INTRODUCTION TO ASSEEMBLY LANGUAGE ( PART 1 )---------- ----------------------------------REGIISTERS----------------------------- ------------------------------------------------------------------------- Like any other pragramming language we have the assembly language. You can consider it to be a very low level languuuage in which programming is not very easy. A software written in any high level language like c++ is converted into machine language so that the computer can understand it . Now , converting the machine language back into the high level language is kind of impossible . So for the purpose of cracking ,the software is disassembled from machine language into assembly language . Any changes can be made in the code and the code can be compiled back to machine language.So lets begin learning the basics of assembly language ( ASM ). You don't need a lot of assembly for cracking , so only the basics will do. But the more you know , the better it is. < REGISTERS > You would have heard this word quite often. Registers can be compared with variables in a high level language.It accually is a place in the CPU where data can be stored and manipulated . There are 4 diffrent kinds of registers,General purpose registers, Stack registers,Segment registers and Index registers . Older version of the registers were named with 2 alphabets.Nowadays the new version of registers have the same name but with an E in front of the older name.e is for extended. ------------------------------------------- 1.> General purpose registers They include 4 registers which are each 16 bits large. They are named AX, BX, CX and DX. All of them are split up in 8 bits registers,AX is split up into AL(low byte) and AH(high byte) and so on for BX, CX and DX. Lets say that AX=1234. Then AL=34 and AH=12. On the 386 and above,there are also 32 bits registers which have the same name as the 16 bits registers but with an E infront of their names (EAX, EBX, ECX, EDX) eax : Extended Accumulator Register ebx : Extended Base Register ecx : Extended Counter Register edx : Extended Data Register You will mostly encounter these registers while using Softice . When you enter a serial number to unlock a software the number gets stored in one of the registers. The actual or the correct serial is stored in some other register . Then they are compared and if both match then the software is unlocked. ------------------------------------------- 2.> Stack registers EBP and ESP are the two stack registers. We will learn more about them later. ebp : Extended Base Pointer esp : Extended Stack Pointer ------------------------------------------- 3.> Segment registers CS - Code segment . This is the block of memory where the code is located DS - Data segment . This is where data can be accessed. ES - Extra segment. An extra segment that also can be used as a data segment. There are others also , but none of these are important for newbies. ------------------------------------------- 4.> Index registers These are "pointer registers" and are very often used for instructions involving strings. esi : Extended Source Index edi : Extended Destination Index ------------------------------------------- You dont need to remember the names of the registers. You should only remember that they serve the purpose of variables. When using softice viewing the contents of a register is called dumping the register. If you have got the basic idea of registers then you can move on to part 2 of assembly tutorial. ------------------------------------------------------------------------- ----------------------------KNOWLEDGE--IS-POWER-------------------------- ------------------------------------------------------------------------- -------------------------------H-A-C-KK-E-R-Z---------------------------- -------------------------------------------------------------------------