|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
samuri25404 Grandmaster Cheater Reputation: 7
Joined: 04 May 2007 Posts: 955 Location: Why do you care?
|
Posted: Fri Jun 29, 2007 5:58 pm Post subject: |
|
|
Sure, that's fine
Just as long as you give credits. =P
|
|
Back to top |
|
|
thejustin5 Newbie cheater Reputation: 0
Joined: 01 Jul 2007 Posts: 12
|
Posted: Sun Jul 01, 2007 3:47 pm Post subject: tutorial |
|
|
i cant get past step 2. it doesnt say what program im suposed to click to get health up i dont know.
|
|
Back to top |
|
|
Madman I post too much Reputation: 1
Joined: 04 May 2006 Posts: 3976
|
Posted: Sun Jul 01, 2007 4:25 pm Post subject: |
|
|
good job
_________________
|
|
Back to top |
|
|
mOnSoOn Expert Cheater Reputation: 0
Joined: 05 Jul 2007 Posts: 203
|
Posted: Thu Jul 05, 2007 6:18 pm Post subject: |
|
|
It's not good.
First you have to explain the basics. What is the allocation it self etc.
Quote: | [enable]
alloc(WhatNowMinesweeper,256) //Allocating...
alloc(ChiliDog,4)
label(WhatNowMinesweeper) //Labeling...
label(ReturnHere)
registersymbol(ChiliDog) //Registering...
ChiliDog:
dd 0 //Just FYI, this is telling it that ChiliDog's value starts out at 0
01002FF5: //This is the address that writes to the time on MineSweeper
jmp WhatNowMinesweeper //I rewrote the opcode to tell it to jmp to my
//script
nop //I fill in the last byte
ReturnHere: //I'll tell you about this later
WhatNowMinesweeper: //My actual code
push eax //Save eax, we could have trouble if we don't do this
mov eax,[ChiliDog] //Move the value of ChiliDog into eax
mov [0100579C],eax //Move eax, which is the value of ChiliDog, into the
//time
pop eax //Take eax out, because we're done editing it
jmp ReturnHere //Jmp to ReturnHere, I'll explain this later
[disable]
dealloc(WhatNowMinesweeper) //Deallocate the memory
dealloc(ChiliDog)
unregistersymbol(ChiliDog) //Unregister the symbol
01002FF5: //The address that we modified to jmp to my code
inc [0100579C] //The original opcode, to prevent a crash |
This script has so many problems
This is better:
Code: | [enable]
alloc(WhatNowMinesweeper,256) // Make a room possessed of 256 byts for the script. Actually now the allocation is an address and can be a pointer. [WhatNowMinesweeper+1] is an opcode from you're script.
alloc(ChiliDog,4) // same ... Usually when there is a little bytes it's for storing value\address
label(WhatNowMinesweeper) //Labeling...
label(ReturnHere)
registersymbol(ChiliDog) //Registering... No you will be able to add it to you're CT and change the value.
ChiliDog:
dd 0 // DD = Define DoubleWord. DD 0 means define dword with the value 0. Why the value is 0 now? because we allocate 4 bytes, dword = 4 bytes means that all the value of the addresses will be 00. It can be in this way too: dw 00
dw 00
because Word = 2 bytes so Two Words (aka Double Word..) it's 4 bytes.
or this way: db 00 00 00 00
01002FF5: //This is the address that writes to the time on MineSweeper
jmp WhatNowMinesweeper //Now it will just to our allocation\address
// Which all the Opcodes there.
nop //I fill in the last byte - xD
ReturnHere: //I'll tell you about this later
WhatNowMinesweeper: // This is an address, from this address there is
// Script
push eax //See my example below on the stack -_-"
mov eax,[ChiliDog] //Move the value of ChiliDog into eax
mov [0100579C],eax //Move eax, which is the value of ChiliDog, into the
//time
pop eax //Take eax out, because we're done editing it
jmp ReturnHere //Jmp to ReturnHere, I'll explain this later
[disable]
dealloc(WhatNowMinesweeper) // alloc - allocate. de = Destroy dealloc =
// Destroy allocation
dealloc(ChiliDog)
unregistersymbol(ChiliDog) //Unregister the symbol... (-_-")
01002FF5: //The address that we modified to jmp to my code
inc [0100579C] //The original opcode, to prevent a crash |
Example for the Stack (I didn't wrote it, but it's very good example):
Code: | Code always goes in a series, it has some special dedication lines to certain variables. This dedication space is called the stack. The stack is used to give a variable a blank value, and use it for storage. This about it like this: You have a piece of paper that you are doing your homework on, but then your friend calls you to tell you that you need to call Phil, where his number is 555-6405. You panic, with nothing else to write on, you write it on your homework sheet. After you hang up from talking to your friend, you now have time to find your phone book so you can write down Phil's number. After writing Phil's number in the phone book, you erase it from your homework, call Phil, and continue on with the homework. |
Edit:
The Tutorial is really good but there is some things that not. GJ
|
|
Back to top |
|
|
Slugsnack Grandmaster Cheater Supreme Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Sat Jul 07, 2007 4:59 am Post subject: |
|
|
Quote: | Lastly, the function "registersymbol". What this does, is allows you to add the symbol that you register to your Cheat Table. Note, you still have to allocate memory for it. Let's try this in our script. |
Could you re-explain that bit for me please ? What symbol are you talking about ?
|
|
Back to top |
|
|
smartz993 I post too much Reputation: 2
Joined: 20 Jun 2006 Posts: 2013 Location: USA
|
Posted: Mon Aug 13, 2007 6:42 pm Post subject: |
|
|
Code: | [ENABLE]
alloc(AutoAssembler,1024)
alloc(Continue,1024)
alloc(SayWhat,1024)
alloc(WooHoo,1024)
label(AutoAssembler)
label(Continue)
label(SayWhat)
registersymbol(WooHoo)
AutoAssembler:
mov eax,02
cmp eax,03
jne Continue
je SayWhat
Continue:
cmp eax,[WooHoo]
[DISABLE]
dealloc(AutoAssembler)
dealloc(Continue)
dealloc(SayWhat)
dealloc(WooHoo)
unregistersymbol(WooHoo) |
This script wouldn't be valid. You MUST use all of the labels that you define or CE's AA won't accept it.
|
|
Back to top |
|
|
C.R.E.A.M Grandmaster Cheater Reputation: 0
Joined: 26 Mar 2007 Posts: 897
|
Posted: Mon Oct 29, 2007 5:09 pm Post subject: |
|
|
bump
|
|
Back to top |
|
|
Devourment Master Cheater Reputation: 0
Joined: 04 Oct 2007 Posts: 343 Location: Crystal Mountain
|
Posted: Wed Oct 31, 2007 10:44 am Post subject: |
|
|
+rep, Thanks, IM Slowly Getting To LEarn This, In a Nutshell, i want to be a professional at this, but, Not easy to do eh? it takes a while to get used to, thanks for teh help=]
|
|
Back to top |
|
|
benlue Moderator Reputation: 0
Joined: 09 Oct 2006 Posts: 2142
|
Posted: Thu Nov 01, 2007 2:52 pm Post subject: |
|
|
I've decided to sticky this as i think it will help out many people who read it.
From my view good job.
But before it can be stickied, please remove the quotes since there is too many to be stickied. Once done post here.
Ta.
|
|
Back to top |
|
|
Melman Master Cheater Reputation: 0
Joined: 09 Dec 2006 Posts: 301
|
|
Back to top |
|
|
crazyito Newbie cheater Reputation: 0
Joined: 20 Oct 2007 Posts: 15
|
Posted: Sun Dec 23, 2007 10:08 am Post subject: Re: A Very In Depth Tutorial on Auto Assembler |
|
|
samuri25404 wrote: | ------------------------------
Inc/Dec
`````
Inc: Increase by one. This increases the value of the register or addres by one. Used as below.
Dec: Decrease by one. Virtually the same as Inc.
|
can we increase the value of the reg or add by more than 1, say 2?
|
|
Back to top |
|
|
samuri25404 Grandmaster Cheater Reputation: 7
Joined: 04 May 2007 Posts: 955 Location: Why do you care?
|
Posted: Sun Dec 23, 2007 4:54 pm Post subject: Re: A Very In Depth Tutorial on Auto Assembler |
|
|
Ok, sorry guys for not posting here, but here we go:
mOnSoOn wrote: | :roll: It's not good.
First you have to explain the basics. What is the allocation it self etc.
Quote: | [enable]
alloc(WhatNowMinesweeper,256) //Allocating...
alloc(ChiliDog,4)
label(WhatNowMinesweeper) //Labeling...
label(ReturnHere)
registersymbol(ChiliDog) //Registering...
ChiliDog:
dd 0 //Just FYI, this is telling it that ChiliDog's value starts out at 0
01002FF5: //This is the address that writes to the time on MineSweeper
jmp WhatNowMinesweeper //I rewrote the opcode to tell it to jmp to my
//script
nop //I fill in the last byte
ReturnHere: //I'll tell you about this later
WhatNowMinesweeper: //My actual code
push eax //Save eax, we could have trouble if we don't do this
mov eax,[ChiliDog] //Move the value of ChiliDog into eax
mov [0100579C],eax //Move eax, which is the value of ChiliDog, into the
//time
pop eax //Take eax out, because we're done editing it
jmp ReturnHere //Jmp to ReturnHere, I'll explain this later
[disable]
dealloc(WhatNowMinesweeper) //Deallocate the memory
dealloc(ChiliDog)
unregistersymbol(ChiliDog) //Unregister the symbol
01002FF5: //The address that we modified to jmp to my code
inc [0100579C] //The original opcode, to prevent a crash |
This script has so many problems :?
This is better:
Code: | [enable]
alloc(WhatNowMinesweeper,256) // Make a room possessed of 256 byts for the script. Actually now the allocation is an address and can be a pointer. [WhatNowMinesweeper+1] is an opcode from you're script.
alloc(ChiliDog,4) // same ... Usually when there is a little bytes it's for storing value\address
label(WhatNowMinesweeper) //Labeling...
label(ReturnHere)
registersymbol(ChiliDog) //Registering... No you will be able to add it to you're CT and change the value.
ChiliDog:
dd 0 // DD = Define DoubleWord. DD 0 means define dword with the value 0. Why the value is 0 now? because we allocate 4 bytes, dword = 4 bytes means that all the value of the addresses will be 00. It can be in this way too: dw 00
dw 00
because Word = 2 bytes so Two Words (aka Double Word..) it's 4 bytes.
or this way: db 00 00 00 00
01002FF5: //This is the address that writes to the time on MineSweeper
jmp WhatNowMinesweeper //Now it will just to our allocation\address
// Which all the Opcodes there.
nop //I fill in the last byte - xD
ReturnHere: //I'll tell you about this later
WhatNowMinesweeper: // This is an address, from this address there is
// Script
push eax //See my example below on the stack -_-"
mov eax,[ChiliDog] //Move the value of ChiliDog into eax
mov [0100579C],eax //Move eax, which is the value of ChiliDog, into the
//time
pop eax //Take eax out, because we're done editing it
jmp ReturnHere //Jmp to ReturnHere, I'll explain this later
[disable]
dealloc(WhatNowMinesweeper) // alloc - allocate. de = Destroy dealloc =
// Destroy allocation
dealloc(ChiliDog)
unregistersymbol(ChiliDog) //Unregister the symbol... (-_-")
01002FF5: //The address that we modified to jmp to my code
inc [0100579C] //The original opcode, to prevent a crash |
Example for the Stack (I didn't wrote it, but it's very good example):
Code: | Code always goes in a series, it has some special dedication lines to certain variables. This dedication space is called the stack. The stack is used to give a variable a blank value, and use it for storage. This about it like this: You have a piece of paper that you are doing your homework on, but then your friend calls you to tell you that you need to call Phil, where his number is 555-6405. You panic, with nothing else to write on, you write it on your homework sheet. After you hang up from talking to your friend, you now have time to find your phone book so you can write down Phil's number. After writing Phil's number in the phone book, you erase it from your homework, call Phil, and continue on with the homework. |
Edit:
The Tutorial is really good but there is some things that not. GJ :wink: |
Thanks a ton, I wrote this a while ago, and I've gained a lot of knowledge not just about AA, but about programing in general. If you don't mind, I'll go ahead and replace my script with that (with credits to you, of course).
Slugsnack wrote: | Quote: | Lastly, the function "registersymbol". What this does, is allows you to add the symbol that you register to your Cheat Table. Note, you still have to allocate memory for it. Let's try this in our script. |
Could you re-explain that bit for me please ? What symbol are you talking about ? |
Simply put, in AA, registering a symbol allows you to add something to your Cheat Table with the address _symbolname_ , where _symbolname_ is the name of your symbol.
So if you had in your script:
Code: |
registersymbol(Pancakes)
|
You could add a new address to your Cheat Table with the address "Pancakes".
smartz993 wrote: | Code: | [ENABLE]
alloc(AutoAssembler,1024)
alloc(Continue,1024)
alloc(SayWhat,1024)
alloc(WooHoo,1024)
label(AutoAssembler)
label(Continue)
label(SayWhat)
registersymbol(WooHoo)
AutoAssembler:
mov eax,02
cmp eax,03
jne Continue
je SayWhat
Continue:
cmp eax,[WooHoo]
[DISABLE]
dealloc(AutoAssembler)
dealloc(Continue)
dealloc(SayWhat)
dealloc(WooHoo)
unregistersymbol(WooHoo) |
This script wouldn't be valid. You MUST use all of the labels that you define or CE's AA won't accept it. |
Thanks, I'll fix that.
benlue wrote: | I've decided to sticky this as i think it will help out many people who read it. :wink:
From my view good job. :wink:
But before it can be stickied, please remove the quotes since there is too many to be stickied. Once done post here. :wink:
Ta. :wink: |
Thank you, I'll go ahead and fix that as well.
crazyito wrote: | samuri25404 wrote: | ------------------------------
Inc/Dec
`````
Inc: Increase by one. This increases the value of the register or addres by one. Used as below.
Dec: Decrease by one. Virtually the same as Inc.
|
can we increase the value of the reg or add by more than 1, say 2? |
No, in order to do that, you'd have to do:
_________________
|
|
Back to top |
|
|
crazyito Newbie cheater Reputation: 0
Joined: 20 Oct 2007 Posts: 15
|
Posted: Mon Dec 24, 2007 7:56 am Post subject: |
|
|
that means add is similar to inc? okay, thanks
|
|
Back to top |
|
|
hackerkts Expert Cheater Reputation: 0
Joined: 21 Jan 2006 Posts: 160 Location: Singapore
|
Posted: Mon Dec 24, 2007 10:05 pm Post subject: |
|
|
crazyito wrote: | that means add is similar to inc? okay, thanks |
Inc only add 1..
_________________
Quote: | "Give a man a fish and he will eat for a day. Teach a man to fish and he will eat for the rest of his life." |
Read it, learn it and love it! |
|
Back to top |
|
|
crazyito Newbie cheater Reputation: 0
Joined: 20 Oct 2007 Posts: 15
|
Posted: Tue Dec 25, 2007 8:14 am Post subject: |
|
|
hackerkts wrote: |
Inc only add 1.. |
yeap, that's why I said similar cos both also increase the value. just that inc only add 1 like u said. thanks anyway.
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|