deadspot
15-12-2005, 11:14 AM
You know what, I decided to to give you some of my knowledge since I was (you complete this sentence lol). I will try to keep this simple cause I do not want to complicate you. I was not a symbian cracker since there was no symbian OS back there but cracking is applicable to everything. It is only a peice of code you play with. I must warn you this is not step by step cracking tutorial. What I teach you here is how to start cracking ok???
cracking you reverse engineer the executable file (APP file in this case) and modify it to meet your evil needs. What the heck is reverse engineering you ask??? Reverse engineering is transforming the (APP or
whatever) file to assembly language in order to:
1. Understand it and transform back to HHL (high level language e.g. C++).
2. Just modify it at assembly level (if you are a devoloper, you are probably fixing some bugs but if you are cracker you would be cracking it).
Some of the crackers use a very simple way to crack (fix what ever you call it ) the file requires registration, which is nooping method.
what do you mean by NOOPing you ask??? NO OP (NO OPeration), it's an assembly instruction means do nothing. you use that to replace some instruction (in simple words to replace the instruction responsible for handing you to the block of code that tells you: YOU HAVE ENTERED A NASTY REGISTRATION NUMBER after you do lol).
for ex. (I will use a SIMPLE example not in assembly)
compare good_registration_number with input_registration_number
jump to nasty_block_of_code if they are not equal----
display you are great for buying this ugly software,,,,|
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
exit program,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,|
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
------------------------------------------------------------------|
|
|--nasty_block_of_code:
display YOU HAVE ENTERED A NASTY REGISTRATION NUMBER
display you are nasty boy do not do it again
(i have used ,,,, as fill-in only so consider it spaces )
what you do is the following:
compare good_registration_number with input_registration_number
NOOP (nothing remember???)
display you are great for buying this ugly software
.
.
.
exit program
nasty_block_of_code:
display YOU HAVE ENTERED A NASTY REGISTRATION NUMBER
display you are nasty boy do not do it again
So you are great for buying this ugly software always because you will never go nasty_block_of_code.
Im sorry for making this childish lol but actually, in assembly you have to use jmp je mov etc (remember I want this to be simple).
This works for many applications. There other ways too, etc. inversing the jump instructions.
replacing:
jump to nasty_block_of_code if they are not equal
with
jump to nasty_block_of_code if they are equal
If you have done this and there is one of the least luckiest persons in the whole world got the
good_registration_number then he will be a nasty boy , you get the picture.
when I say instruction I mean a line of assembly code (in HLL we say statement). Reverse engineering is machine dependant meaning it depends on you machine (more specific, your CPU: Central Processing Unit, the processor ).
For most of machines you disassemble (transform from machine language to assembly language) to Intel set of instructions. That is not the case for symbian APP file since you disassemble to ARM set of instructions. You will find such similarity between them (Intel and ARM) cause assembly in general deal with the hardware.
In order to change the BAD line of code you do not want, you have to have a hex editor (at least in my time). You first disassemble the file and get the address (the nasty addess ) you want to fix and you then enter it in the hex editor and do the required change. When you are cracking PC files (your computer not your cell phone) you have to know about protection routines employed in the file. Protection routines are block of code that are used to protect the program from nasty people (the crackers). In cell phone cracking you have less protection routines since devolopers have to consider the memory and storage limitation.
Im going to tell you what is required for you to start cracking:
1. Learn some high level language (i suggest C++) and master the part concerning loops and jumps.
2. After you have done first requirement you need to know how the PC works (CPU and Memory).
3. If you have done two, then you know about the registers (i won't tell you about this cause I want you to know it yourself but I will give you a hint: Register=Variables in HLL).
4. You have to study assembly language (intel set of instructions I suggest).
5. If you reached here then you must know about the jumps and mov instructions and yeah base conversions (to be able to convert between binary, decimal and hexdecimal).
6. Study the ARM set of instructions (if you have done 4 theb this is a peice of cake).
Now I will tell you the programs you will use in cracking:
1. UnmakeSIS (to unpack the sis EPOC Package into files and get the APP file)
2. Makesis (to repack to sis after modifying the APP file).
3. IDA Pro disassembler (to disassembe the APP file of course).
4. Any Hex editor (to do modifications to the APP file).
I heard that the new version of IDA will allow you to change the code so probably you won't need the Hex editor.
I know that these requirements seems way too long but you will find easy if you have some free time. If you love the tech world you would learn faster, believe me. Some people will tell you to skip some of these steps
but believe me you have to go throught those steps.
I do not want this mini-tutorial to get so huge so I have to end it here.
-----------------------------------------------------------------------------------------------
I hope I gave you anything new. Good Luck on your journey .
Last I would like to say:
1. I did not teach you anything.
2. Im not a cracker.
3. I do even know what PC means, WHERE AM I??? lol
you understand
Peace.
http://iphone-forum.org/viewtopic.php?t=40342
cracking you reverse engineer the executable file (APP file in this case) and modify it to meet your evil needs. What the heck is reverse engineering you ask??? Reverse engineering is transforming the (APP or
whatever) file to assembly language in order to:
1. Understand it and transform back to HHL (high level language e.g. C++).
2. Just modify it at assembly level (if you are a devoloper, you are probably fixing some bugs but if you are cracker you would be cracking it).
Some of the crackers use a very simple way to crack (fix what ever you call it ) the file requires registration, which is nooping method.
what do you mean by NOOPing you ask??? NO OP (NO OPeration), it's an assembly instruction means do nothing. you use that to replace some instruction (in simple words to replace the instruction responsible for handing you to the block of code that tells you: YOU HAVE ENTERED A NASTY REGISTRATION NUMBER after you do lol).
for ex. (I will use a SIMPLE example not in assembly)
compare good_registration_number with input_registration_number
jump to nasty_block_of_code if they are not equal----
display you are great for buying this ugly software,,,,|
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
exit program,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,|
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
------------------------------------------------------------------|
|
|--nasty_block_of_code:
display YOU HAVE ENTERED A NASTY REGISTRATION NUMBER
display you are nasty boy do not do it again
(i have used ,,,, as fill-in only so consider it spaces )
what you do is the following:
compare good_registration_number with input_registration_number
NOOP (nothing remember???)
display you are great for buying this ugly software
.
.
.
exit program
nasty_block_of_code:
display YOU HAVE ENTERED A NASTY REGISTRATION NUMBER
display you are nasty boy do not do it again
So you are great for buying this ugly software always because you will never go nasty_block_of_code.
Im sorry for making this childish lol but actually, in assembly you have to use jmp je mov etc (remember I want this to be simple).
This works for many applications. There other ways too, etc. inversing the jump instructions.
replacing:
jump to nasty_block_of_code if they are not equal
with
jump to nasty_block_of_code if they are equal
If you have done this and there is one of the least luckiest persons in the whole world got the
good_registration_number then he will be a nasty boy , you get the picture.
when I say instruction I mean a line of assembly code (in HLL we say statement). Reverse engineering is machine dependant meaning it depends on you machine (more specific, your CPU: Central Processing Unit, the processor ).
For most of machines you disassemble (transform from machine language to assembly language) to Intel set of instructions. That is not the case for symbian APP file since you disassemble to ARM set of instructions. You will find such similarity between them (Intel and ARM) cause assembly in general deal with the hardware.
In order to change the BAD line of code you do not want, you have to have a hex editor (at least in my time). You first disassemble the file and get the address (the nasty addess ) you want to fix and you then enter it in the hex editor and do the required change. When you are cracking PC files (your computer not your cell phone) you have to know about protection routines employed in the file. Protection routines are block of code that are used to protect the program from nasty people (the crackers). In cell phone cracking you have less protection routines since devolopers have to consider the memory and storage limitation.
Im going to tell you what is required for you to start cracking:
1. Learn some high level language (i suggest C++) and master the part concerning loops and jumps.
2. After you have done first requirement you need to know how the PC works (CPU and Memory).
3. If you have done two, then you know about the registers (i won't tell you about this cause I want you to know it yourself but I will give you a hint: Register=Variables in HLL).
4. You have to study assembly language (intel set of instructions I suggest).
5. If you reached here then you must know about the jumps and mov instructions and yeah base conversions (to be able to convert between binary, decimal and hexdecimal).
6. Study the ARM set of instructions (if you have done 4 theb this is a peice of cake).
Now I will tell you the programs you will use in cracking:
1. UnmakeSIS (to unpack the sis EPOC Package into files and get the APP file)
2. Makesis (to repack to sis after modifying the APP file).
3. IDA Pro disassembler (to disassembe the APP file of course).
4. Any Hex editor (to do modifications to the APP file).
I heard that the new version of IDA will allow you to change the code so probably you won't need the Hex editor.
I know that these requirements seems way too long but you will find easy if you have some free time. If you love the tech world you would learn faster, believe me. Some people will tell you to skip some of these steps
but believe me you have to go throught those steps.
I do not want this mini-tutorial to get so huge so I have to end it here.
-----------------------------------------------------------------------------------------------
I hope I gave you anything new. Good Luck on your journey .
Last I would like to say:
1. I did not teach you anything.
2. Im not a cracker.
3. I do even know what PC means, WHERE AM I??? lol
you understand
Peace.
http://iphone-forum.org/viewtopic.php?t=40342