Site hosted by Angelfire.com: Build your free website today!

This tutorial will guide you through the AutoHack(Memory Breakpoint and EasyWrite) from tsearch.

You need:

-TSEARCH V1.3c

-PROGRAMME TEST.EXE

-EASYWRITE EXAMPLE FILE

Let's start

Launch TSearch and program test.exe.

In Tsearch click on the button "Open Process" and select PROGRAMME TEXT.EXE

Now you can see on the TSearch caption : "TSearch - PROGRAMME TEST.EXE"

Let's look PROGRAMME TEXT.EXE

Well will try to defeat the first counter(1) who increase when the user press the button.

So here we can see 1 so let's search for this number.

We have found too many addresses so let's continue

Press once the buttton(1) in the PROGRAMME TEXT.EXE for display the value 2

Now we will search for 2 with TSearch

We found one address so double click on it for add it to the cheat table at the right.

We need enable the debugger for use the autohack.

and we make the autohack window visible

Now we select the address in the cheat table and right click on it.in the menu select autohack

The autohack window display the address selected

Now press the button(1) in the PROGRAMME TEST.EXE

The asm line who modify the value at the address 41d090 will be logged in the AutoHack window.

Press the disassembler button for see the listing

Now i will try to show you how decrease the value when you press the button(1) instead of increasing using easywrite

Display easywrite pressing the "easywrite" button

Add a new Patch using the new button,and write an short description if u want.

We have the line : mov [41d090],eax who write the value in the EAX register at the address 41d090

so for decrase the value of 1 we can for example add twice the line dec eax,but we can't do so without replace another line

so we will do a far call from 401384 to our own function and return.

we have to write an little function and for example inject it at the address 0x400000 (once the program is loaded in memory,it doesn't use this area for run)

so at 0x400000 we will write:

dec eax //decrease eax by one

dec eax //decrease another time

mov [41d090],eax // and write the eax value decrased by 2 time at the address 41d090

ret //we return to the main program function

and at 0x401384 we write our far call

call 0x400000

WARNING: be sure than the new instruction will have the same length than the instruction you will replace,complete with nop if not!!!

With easywrite script that will become that :

we push check button for check for script errors

You have noticed than the interpreter is separate into 2 tab

the top one is used for write the script into memory when you check the box(for patch)

and the botton one is used for write the script into memory when you uncheck the box(for unpatch by example)

so in the bottom tab i write the original instruction so our routine will not be called anymore and the button will increase the value like before.

once again press check button for be sure to have no errors.if not press OK

Check the box and press the button (1) few times you will see the value decrease(script at top).

uncheck it for come back to normal(script at bottom )

With the "hex" command you can write hexa chain directly into the memory

By selecting an line and right mouse click on it you display a menu where you have the getoffset command

which display the offset of the selected line

"hex" write hexa chain into the memory ex: hex 9050c3

"asc" write an ascii chain into the memory ex: asc "my text"

it's not teminated with null char so if u need to u have to do it like that:

asc "my text"

hex 00

"offset" set offset where the code must be write into memory

"rem" "//" comment line

If the check box doesn't appear ,you have an error in your script