Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Code for table
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Thu Jan 23, 2014 7:49 am    Post subject: Code for table Reply with quote

hello all
After 7 days i cant find here on forum code to make working script with array of byte ,breakpoint and opcode so i will explain my method how i use cheat on online game and please someone help me to make code.thank you

After i open process i choose array of byte then i put code FF FF FF FF xx xx xx xx xx xx xx xx xx xx xx xx ("xx" is example) then i click scan and after scan i choose any number and drop down and then i mark him and open "browse this memory region"
In memory window i choose first 4 double number in second row below FF FF FF code
(forum dont allow me post picture,i am sorry for that)
when i mark that 4 double number i click right button on them then i choose "data breakpoint" and then i
choose " find out what accesses this address".
Now is open window "the following opcodes accessed xxxxx (code) " then i mark code with number in fence (mov eax,[ecx+64]) and then i click ""add to the codelist" and then i close that "opcode accessed" window.
Now in code list i click double on code (mov eax,[ecx+64]) to open memory viewer again to see where is that opcode.

Double click on that marked opcode i change number from 64 in 50 and then i click OK button and then i minimize cheat engine to see if my code work in game,and if work i dont turn off cheat engine i continue play game. so anyone please help me to write code script to i make trainer,i am see here on forum codes script with aobscan but what i try nothing work.

i am try to do with this code but this not work:
Code:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

aobscan(repair, FF FF FF FF xx xx xx xx xx xx xx xx xx xx xx xx)
label(_repair)
registersymbol(_repair)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov eax,[ecx+64]
test eax,eax

exit:
jmp returnhere

08AB003F:
jmp newmem
mov eax,[ecx+50]
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
08AB003F:
mov eax,[ecx+64]
test eax,eax
//Alt: db 8B 41 64 85 C0


Last edited by hondafrik on Mon Jan 27, 2014 8:44 am; edited 1 time in total
Back to top
View user's profile Send private message
omoe
Grandmaster Cheater
Reputation: 8

Joined: 11 Jun 2013
Posts: 547

PostPosted: Thu Jan 23, 2014 11:26 am    Post subject: Re: Code for trainer or table Reply with quote

A script with aobscan should look like this
Code:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

aobscan(repair, FF FF FF FF xx xx xx xx xx xx xx xx xx xx xx xx)
registersymbol(repair)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov eax,[ecx+64]
test eax,eax

exit:
jmp returnhere

repair:
jmp newmem
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
repair:
mov eax,[ecx+64]
test eax,eax
//Alt: db 8B 41 64 85 C0

_________________
Hey! , Rep++ .
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Thu Jan 23, 2014 12:36 pm    Post subject: Reply with quote

bro your code not work for me Sad
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Thu Jan 23, 2014 12:49 pm    Post subject: Reply with quote

See comments below:

Code:
[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
aobscan(repair,8B 41 64 85 C0 xx xx xx xx xx xx xx xx xx xx xx xx)   ///////////////////////Fix this code!
registersymbol(repair)

newmem:
///////////////////////add something here, or nothing will change

originalcode:
mov eax,[ecx+64]
test eax,eax
jmp returnhere

repair:
jmp newmem
returnhere:
 
[DISABLE]
dealloc(newmem)
repair:
mov eax,[ecx+64]
test eax,eax
//Alt: db 8B 41 64 85 C0

unregistersymbol(repair)    ///////////////////////Don't forget to unregister
Back to top
View user's profile Send private message
omoe
Grandmaster Cheater
Reputation: 8

Joined: 11 Jun 2013
Posts: 547

PostPosted: Thu Jan 23, 2014 3:45 pm    Post subject: Reply with quote

hondafrik wrote:
bro your code not work for me Sad

Its actually your code not my code , I just showed you how to use aobscan properly , People aren't allowed to provide info on online cheating .

_________________
Hey! , Rep++ .
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Fri Jan 24, 2014 1:50 am    Post subject: Reply with quote

ok bro i am sorry but i didnt write real codes and i didnt say for what game i need.please anyone help me to get real code. only i need to make trainer to easy can i use cheat Smile btw friend ++METHOS i am change what you comment in code and this is not work.
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Mon Jan 27, 2014 7:11 am    Post subject: Reply with quote

please someone help me to make my method cheat what i post up to i make table ot trainer,below is code what i try to make but is not work Sad

Code:
[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
aobscan(repair,FF FF FF FF 01 00 00 00 1f 00 00 00 00 00 00 00)   
registersymbol(repair)

newmem:
mov eax,[ecx+50]

originalcode:
mov eax,[ecx+64]
jmp returnhere

repair:
jmp newmem
returnhere:
 
[DISABLE]
dealloc(newmem)
repair:
mov eax,[ecx+64]
//Alt: db 8B 41 64 85 C0

unregistersymbol(repair)
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Mon Jan 27, 2014 1:10 pm    Post subject: Reply with quote

Like I said before, you need to fix this:
Code:
aobscan(repair,FF FF FF FF 01 00 00 00 1f 00 00 00 00 00 00 00)   


Also, this is no good:
Code:
newmem:
mov eax,[ecx+50]

originalcode:
mov eax,[ecx+64]
jmp returnhere


Moving [ecx+50] in to eax will do nothing if you immediately move [ecx+64] in to eax. You can do this to fix it:

Code:
newmem:
mov eax,[ecx+50]
jmp returnhere

originalcode:
mov eax,[ecx+64]
jmp returnhere
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Mon Jan 27, 2014 1:22 pm    Post subject: Reply with quote

i really want to learn this but forum have too much old tutorials from 2009 and posts from olders version of CE,i cant find answer how to do this what i want Sad its be cool when i turn on cheat and then cheat engine have button like "create trainer without coding" lol

btw i am fix this now how you say me:
Code:
newmem:
mov eax,[ecx+50]
jmp returnhere

originalcode:
mov eax,[ecx+64]
jmp returnhere


and i am try this to fix but its not work and i am confused how to fix this or change:

Code:
aobscan(repair,8B 41 64 85 C0 FF FF FF FF 01 00 00 00 1f 00 00 00 00 00 00 00)
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Mon Jan 27, 2014 2:16 pm    Post subject: Reply with quote

Adjust your scan settings to this:



Perform a new scan on that AOB.

If only one result shows up, you can change your script to this:

Code:
aobscan(repair,8B 41 64 85 C0)


If more than one result shows up, you will need to add bytes to the AOB scan. Look at the instruction in memory viewer to see the bytes.
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Mon Jan 27, 2014 2:53 pm    Post subject: Reply with quote

62 results shows up lol

and how you mean "Look at the instruction in memory viewer to see the bytes." i dont understand this part,sorry bro

Edit: or if you mean this what i find in one post here on forum:

"If you look at it in the disassembler, you can see how is this instruction stored in the memory.
8B 83 64 04 00 00
3D E8 03 00 00

You have to come up with a pattern that will identify this code. Let's do this:
Switch value type to "Array of byte", make sure that the "Writable" box is just "optional" and it doesn't have
a checkmark in it, as the code we are looking for is NOT writable, only executable. Now scan for this byte pattern

8B 83 64 04 00 00

You will probably have 8 results, which is not a good start and if you check the first result, it is not the
correct code we are looking for. Thus we can see that we can't use this byte pattern. Now we have to come up with a new pattern that will filter out the 7 wrong results. As we can see, the first byte of the next instruction
starts with 3D. Try to scan for this byte pattern:

8B 83 64 04 00 00 3D "
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Mon Jan 27, 2014 3:28 pm    Post subject: Reply with quote

Assuming you are using someone else's code and did not or can not find the original address, then yes...if you don't know the instruction's address, you will have to find it. You will need to view each of the results that you found by AOB scanning (the 62 results) in memory viewer and test each one until you have found the proper instruction. If you can find the original address, then you can quickly find the instruction that way.

To view the 62 instructions in memory viewer, simply right-click on them, one-by-one, and select 'Disassemble this memory region'.

Here is an example from Firefox:



If you notice, the bytes for the outlined instruction above:

mov ebp,esp

are written like this as Hexadecimal (AOB / array of bytes):

8B EC

When you find your instruction, you will need to add bytes so that your AOB scan is unique to only one instruction (so you only pick up one instruction instead of 62). Using the above example, you would add bytes like so:

8B EC 5D E9 87 00 00 00 3B 0D ?? ?? ?? ?? 75 02 F3 ....etc.

Of course, it may not be that straightforward, but we can look at that later. The first thing you need to do is figure out which one of the 62 instructions is the correct one. Once you figure that out, we can proceed with writing a proper AOB scan.
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Tue Jan 28, 2014 8:48 am    Post subject: Reply with quote

bro i am find real AoB scan of that number and i am make trainer,but when i push hot key to disabled cheat ,my game is crush Sad
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Tue Jan 28, 2014 1:11 pm    Post subject: Reply with quote

Please paste your script so we can see it.
Back to top
View user's profile Send private message
hondafrik
Advanced Cheater
Reputation: 0

Joined: 15 Jan 2014
Posts: 60
Location: Croatia

PostPosted: Tue Jan 28, 2014 2:18 pm    Post subject: Reply with quote

i am join all my 3 aob scan in 1 code and its work for enable but when i do disable game is crush.

Code:
[ENABLE]
alloc(newmem1,2048)
label(returnhere1)
label(originalcode1)
aobscan(repair1,8B 41 ?? 85 C0 74 28)
registersymbol(repair1)

newmem1:
mov eax,[ecx+50]
jmp returnhere1

originalcode1:
mov eax,[ecx+64]
jmp returnhere1

repair1:
jmp newmem1
returnhere1:

alloc(newmem2,2048)
label(returnhere2)
label(originalcode2)
aobscan(repair2,8B 41 68 85 C0 74 28)
registersymbol(repair2)

newmem2:
mov eax,[ecx+50]
jmp returnhere2

originalcode2:
mov eax,[ecx+68]
jmp returnhere2

repair2:
jmp newmem2
returnhere2:

alloc(newmem3,2048)
label(returnhere3)
label(originalcode3)
aobscan(repair3,8B 41 ?? 85 C0 74 28)
registersymbol(repair3)

newmem3:
mov eax,[ecx+50]
jmp returnhere3

originalcode3:
mov eax,[ecx+70]
jmp returnhere3

repair3:
jmp newmem3
returnhere3:

[DISABLE]
dealloc(newmem1)
repair1:
mov eax,[ecx+64]
//Alt: db 8B 41 64 85 C0 74 28
unregistersymbol(repair1)
dealloc(newmem2)
repair2:
mov eax,[ecx+68]
//Alt: db 8B 41 68 ?? C0 74 28
unregistersymbol(repair2)
dealloc(newmem)
repair3:
mov eax,[ecx+70]
//Alt: db 8B 41 70 85 C0 74 28
unregistersymbol(repair3)


Last edited by hondafrik on Tue Feb 04, 2014 11:00 am; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites