Reminder

Each time u visit the blog
Press on keyboard : CTRL + F5
so it refreshs the page, to show u whats new.

Friday, 9 May 2008

Lesson TWO !

2nd lesson !!

u should read the 1st lesson before u go on with this :

i will assume that u know that the program runs as assembly language and converted to binary using assembler.. binary is the (010101010101...etc ).
the computer reads the 01010..... and executes the proper instructions to do the operation.

for this lesson i will show u how to find the assembly code which effects the value that we want to change.

why do we need to find the assembly code ?
simple : some games changes the address of the value each time it executes, and modifying the assembly code that affects the value will lead us to not search for the address anymore !
address 0045003c value 100
2nd execution of the game

address 007AB302 value 100
the 3rd time u execute it will be something else, do u have to find it each time the game loads ?

for the address above i will assume that i found the assembly code "that decreases the value" of the health when i get hit, as if some attacked me, my hp went to 90.

the assembly code was " EXAMPLE : sub [esi+04],eci ".

for those of u who doesnt know what is this, this is an assembly code that subtacts eci from [esi+04]

we can make it " NOP" which is no operation, so it doesnt decrease.
what are esi and eci ? esi and eci are registers, containing the needed values.
after the long intro, LETS START !!

i will run "call of duty 2" and im going to use the ammo as an example, u can run other games, EX : Pinball ! make the value NOT increase just to see that u can do it :)

1.find the effective adress, when i tried to find the address of the ammo value i got this :
each time i change the value they do not change to the same value, so the simplist way is to try changing one by one, the effective address will change all the values, for me it was 01C557C4.


2.right click on the address in the adress table and choose "Find out whats write to this address".

do the same if u r trying it on other game. EX : Pinball.

3. a window will popup.




4.Decrease the value ! remember to do what u want to change.
so if u want the value NOT to increase then increase it, if u want it NOT to decrease then decrease it.... this way we can detect the assembly code which does the job.

for Pinball "you want it NOT to increase the score, go back to the game and increase the score, pause it and get back to cheat engine".

5. somthing like this will show up, depend on the action u took, for me, i fired a bullet so the value decreased . for PinBall it will show something else.


if u noticed : dec [esi+ea....etc , the DEC is short for decrement, since each time i fire a bullet will decrease the value by 1.





6. Press the botton "Replace" a window will apear, click OK.



7.go back to the game and try to change the way u dont want it to do.

i fired a bullet and the bullet count didnt go down :D


here is what i got :




DONE !!! for this lesson, next lesson i will show u how to use the assembly code we found so we dont have to look for the address anymore, and create a program that do the NOPing :)

Friday, 11 April 2008

Preparations ~!

Preparations for the next lesson..
The next lesson is about DMA ( Dynamic Memory Allocation).
the thing i want u to notice, that each time u try to find the addresses of the game, it would be diffrent than the last time, what i mean is, each time u start the game, the address of (score, money.....etc) is not the same address u found the last time...
windows pinball doesnt use DMA, so the addressess are the same..
who ever tried the last lesson on other games,..somthing like C&C Generals, u will seriously notice the change of the addressess on each mission... that means u will have to search again for the new adressess.

The point of this, try to find a game that uses DMA, before i post the next lesson and comment the name of the game u found.
if u couldnt, dont worry, the next lesson is going to be on windows pinball...how ? the method works on both types.
which means u wont have to look for the addressess again if u find them once :)
u will know more when i post the lesson.

Saturday, 5 April 2008

Trainer lesson !!

This is a lesson i made, i wanted to share with u some of the most basic things in Game value's modification.
Game trianers are softwares which changes some values ( cheat ) to help u in the game.
i am not going to explain how programs load into the computer ram nor how registers work..

search google if u want to know,

Anyways,Lets start !

Things we need for this lesson,

1. cheat engine >>> http://www.cheatengine.org/
2. Windows XP 3D pinball :)

Cheat engine basicly is a memory scanner, need to know more ? go to the website and READ.
download cheat engine from the website above.

1. After installing cheat engine,start it -.-

2. Start Windows 3D pinball.


3. After the game has started, check ur score, initiallyit should be 0


4. go back to cheat engine, click on processor, and choose pinball.exe

5.Remember the score ( which was 0 ), type it into the field and then click first scan.

6.Look what we've found in the computer memory Oo.



7.go back to the game, play a little then pause it (press F3), and check ut new score, mine was 2000 urs might be diffrent.
8. go to cheat engine, type ur new value into the field, 2000 for me,then click next scan.
9.we've manimized the number ! what are those ? those are the addresses which the game stores the Value of ur score.
10. Double click on the addresses u found, mine are 2.
why did we find more than 1 ? well thats just in the internal assembly code, changing the value of those addresses will change the game score.
11. after adding the addresses to the addresses table, double click on a value, and change it to what u want.



12. Go back to the game, TADAAAAAAA !

After u've learned the most basic, try it on other games, it works for most of them.
this is a trainer i made, using code injection search google to know more.
download file is on the right, just wait for the page to load.
Ty for reading :)

Sunday, 30 March 2008

Disassemble




This is what i want to fully understand, not the program that it is being disassembled , i want to fully understand the code it self


i can understand like most of it, i usually get lost when it comes to encryption algorithms ...


cant do nothing,just watch how it is being encrypted with no clue -.-"



Tuesday, 25 March 2008

Climbing PPL !

I had "Algorithms" Exam..
7mdullah, i got full mark...
after i was done with it, a guy next to me asked me for some help..
So, i didnt hesitate..
I helped him with like 5 questions or so...
then i went out of the exam..
i heared from another guy, that the guy i helped got a full mark too...
the next day..
the guy came to me, and thanked me for helping...
He said " Thnx man, but u only helped me with one question, right?"
i was like " WTH MAN !!!" <<< in my mind
as if he could've got 98% of the exam by his own !
i didnt reply to him, i just ignored him !
The point is, I HELPED HIM !!! AND THATS WHAT I GET ??
im not waiting for his appreciation, i just want him not to LIE !! he said that infront of other guys !
so, basicly he climbed my back!
Just saying..

Sunday, 23 March 2008

plane -.-

Sometimes i think blogging is stupid for a guy,
WE DONT HAVE FEELINGS !!!
plus, we cant tell it,
i dont know if it is just me, but i dont just tell what i think...is that what they call " 3'mood " ?

Saturday, 15 March 2008

1st exams :X

1st exams has just started !!
i have 2 exams by wednesday !
Both at the same time ! 4:15 ~5:15 !!
a doctor told me, cut ur self into 2 parts and do both, "he is trying to look funny".
but i guess i will do a makeup for one of them and do the other.
i've been told that makeup exams is the end of ur marks.
but what the heck, i dont have other options.
well, Wish me luck...

And Good Luck for u too !!!!

Friday, 14 March 2008

Reversing, HELL YEAH !

im reading a book : Secrets of reversing engineering
Basicly it talks about revering a program into its Code, mostly the assembly code, and manipulate it as u wish !
Example, making a program works at full functionality, even if it needs a serial no. to work.
i've been in this field long time a go, but generally, i never went into its depth.
usually access Games Mermory adresses, try to make No-CD cracks.
But sometimes i couldnt do anything, becoz it was so complicated to keep trying it on my own.
so, started to read books, i hope i keep on.
im planning to read a book about AI (Artifical intelligence), and i think my graduation project will be about it.

New !!!

I've Just created my Blogger account, and i want to start the 1st topic with sharing one of my Fav. Songs
Listen until it finishes, then judge even if u couldnt keep on :P especially after 2:38
http://youtube.com/watch?v=KZK_vWCdJus