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 


NEW Ideas for Next Release of Cheat Engine.

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
MRDB512
Advanced Cheater
Reputation: 0

Joined: 31 Aug 2007
Posts: 60

PostPosted: Sat Aug 09, 2008 8:11 am    Post subject: NEW Ideas for Next Release of Cheat Engine. Reply with quote

Also in the Address list,
Add to Right-Click Menu, Filter by value
and the Selected Address Click-Right
Step enter values

to at 1,or 10, 100 with increase-ments of 1,or 2 or 10 for all the addresses selected in the list!

so when the user go back into game, the value would be one in the list
and from the 10 step idea, the user would know which one it would be
and work with that address, cos of the value

instead of, freezing value x3 checking and deleting until found the right address

Also...
in Break and Trance, when the program does a jmp or call then the program would put a sign or character like ----> to say to the user that It jmped. cos sometimes the instruction are close together and not always know if it did jmp or not! Cool


ALT* 1.2
ArrowSuggestion 1 - Ref EXAMPLE 1

Auto assemble...

    1. template code inject
    2......
    3......
    4. template cheat table framework code


now!

if you could make a check in the CheatEngine code,
if user have selected, template 1 and 4, then
copy the jmp address
and
copy all the code under origialcode: til exit:
to
[Disable]

Please see the below example

Code:

Example!
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)


0044B9A4:            //1:
jmp newmem
nop
returnhere:

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


originalcode:
sub eax,[edx+005a6688]

exit:
jmp returnhere
 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat

0044B9A4: //copyed from 1:
//copyed from originalcode:
sub eax,[edx+005a6688]

dealloc(newmem)   //added as standard!



****
****and to put the dealloc(newmem) as standard!


ArrowSuggestion 2 - Ref EXAMPLE 2
also...
enable a code inject que

************************************************************ 1
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
************************************************************ 2
alloc(newmem1,2048) //2kb should be enough
label(returnhere1)
label(originalcode1)
label(exit1)
************************************************************ 3
alloc(newmem2,2048) //2kb should be enough
label(returnhere2)
label(originalcode2)
label(exit2)

or something similer!

so you can add

address more than one

Code:

here is an example of code!
==============================================================
//note: what the code below does is, change
//      so that when user buys an item or does anything to do with money
//      it changes sub to add.
//      Really simple, but!
//      not if you have to join code for 4 of them!
//
//      Delta512
//
//  no code has been removed, Just moved and commented!
//
// *ALT 1.0
//  I was going to write this code run first time, then boom
// and the problem was Exit1: Jmp returnhere in the 1 section,
// so I added a 1 to the end returnhere1
//
//
// *ALT 1.1
// Added 4, Found another one!
//

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(cpu)
label(originalcode)
label(exit)

//==================== 1
alloc(newmem1,2048) //2kb should be enough
label(returnhere1)
label(cpu1)
label(originalcode1)
label(exit1)

//==================== 2
alloc(newmem2,2048) //2kb should be enough
label(returnhere2)
label(cpu2)
label(originalcode2)
label(exit2)

//==================== 3
alloc(newmem3,2048) //2kb should be enough
label(returnhere3)
label(cpu3)
label(originalcode3)
label(exit3)

//==================== 4
alloc(newmem4,2048) //2kb should be enough
label(returnhere4)
label(cpu4)
label(originalcode4)
label(exit4)


// *********************************************

0044B9A4:
jmp newmem
nop
returnhere:

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


originalcode:
//sub eax,[edx+005a6688]

cmp bx,0000
jne cpu
add eax,[edx+005a6688]


exit:
jmp returnhere


cpu:
sub eax,[edx+005a6688]
jmp returnhere


//===================== 1

//[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

0046CA46:
jmp newmem1
returnhere1:

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


originalcode1:
//sub eax,0000c350

cmp bx,0000
jne cpu1
add eax,0000c350


exit1:
jmp returnhere1

cpu1:
sub eax,0000c350
jmp returnhere1

 
//====================== 2

//[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

0046CADE:
jmp newmem2
returnhere2:

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


originalcode2:
//sub eax,0000ea60

cmp bx,0000
jne cpu2
add eax,0000ea60


exit2:
jmp returnhere2


cpu2:
sub eax,0000ea60
jmp returnhere2
 

//======================= 3

//[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

0046CDB9:
jmp newmem3
nop
returnhere3:

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


originalcode3:
//sub edx,[ecx+000000bc]

cmp bx,0000
jne cpu3
add edx,[ecx+000000bc]


exit3:
jmp returnhere3

cpu3:
sub edx,[ecx+000000bc]
jmp returnhere3
 
//====================== 4
//[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

0046CB83:
jmp newmem4
returnhere4:

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


originalcode4:
//sub eax,00009c40

cmp bx,0000
jne cpu4
add eax,00009c40


exit4:
jmp returnhere4

cpu4:
sub eax,00009c40
jmp returnhere4


///*******************************************

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
0044B9A4:
sub eax,[edx+005a6688]
//[DISABLE]
//code from here till the end of the code will be used to disable the cheat
0046CA46:
sub eax,0000c350
//[DISABLE]
//code from here till the end of the code will be used to disable the cheat
0046CADE:
sub eax,0000ea60
//[DISABLE]
//code from here till the end of the code will be used to disable the cheat
0046CDB9:
sub edx,[ecx+000000bc]
//[DISABLE]
//code from here till the end of the code will be used to disable the cheat
0046CB83:
sub eax,00009c40

// *********
dealloc(newmem)
dealloc(newmem1)
dealloc(newmem2)
dealloc(newmem3)
dealloc(newmem4)

///


==============================================================


example

say, you want a money instruction,
but there are more than one say 5

you could, use find out what writes to this address
click and do!
to build up list of address found

and then select all addresses, put them into one big file with newmem's
example alloc newmem1,newmem2
and there jmps

then disable menu, I can manually alter this to fit!
but the rest I would think it to be wise to include this in your next build version

Your Product ROCKS!

Cheers,
Mrdb512


*ALT 1.1
Added Suggestion 1 - Ref EXAMPLE 1
Added Suggestion 2 - Ref EXAMPLE 2

Just for fun! Cool


Last edited by MRDB512 on Fri Aug 15, 2008 11:01 am; edited 3 times in total
Back to top
View user's profile Send private message
FoxTrot
Expert Cheater
Reputation: 0

Joined: 02 Sep 2007
Posts: 163
Location: Moderator Paradise

PostPosted: Sat Aug 09, 2008 5:19 pm    Post subject: Reply with quote

LUL, Mega Ownage I <3 This.
_________________


Level 35 Assasin [Y]
Level 50 Spearman [Y]
Level 27 Mage [Y]
Level 19 Warrior - HV - [Y]
Level 17 Archer - HV - [Y]
Level 71 Sniper - Heavily Funded - [Y]
Level 21 Pirate - POOR - [Y]

My Maplestory Millitia.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Twilly
Grandmaster Cheater Supreme
Reputation: 0

Joined: 05 Dec 2007
Posts: 1645
Location: Singapore

PostPosted: Sat Aug 09, 2008 7:36 pm    Post subject: Reply with quote

Nice thread on this. I hope Dark Byte would be able to add this...
_________________
Back to top
View user's profile Send private message
Overload
Master Cheater
Reputation: 0

Joined: 08 Feb 2008
Posts: 293

PostPosted: Sat Aug 09, 2008 8:27 pm    Post subject: Reply with quote

I don't really understand...
_________________
Blog

Quote:
Rhys says:
you can be my maid
Rhys says:
ill buy you a french maid outfit
Tyler says:
Sounds good
Rhys says:
ill hold you to that
Back to top
View user's profile Send private message MSN Messenger
Twilly
Grandmaster Cheater Supreme
Reputation: 0

Joined: 05 Dec 2007
Posts: 1645
Location: Singapore

PostPosted: Sat Aug 09, 2008 8:33 pm    Post subject: Reply with quote

Overload wrote:
I don't really understand...


He is suggesting all the code that he has typed out to be added into Cheat Engine, that's what I'm thinking he's doing.

_________________
Back to top
View user's profile Send private message
gayporn star
Cheater
Reputation: 0

Joined: 10 Aug 2008
Posts: 36
Location: mpcforum.com

PostPosted: Sun Aug 10, 2008 8:21 am    Post subject: Reply with quote

Well, It will take a while before the new CE will be released. Wink
Back to top
View user's profile Send private message
MRDB512
Advanced Cheater
Reputation: 0

Joined: 31 Aug 2007
Posts: 60

PostPosted: Sun Aug 10, 2008 5:23 pm    Post subject: Reply with quote

Overload wrote:
I don't really understand...


Shocked if you meant example 2 in main post code

Arrow This is an more detailed Explanation of example 1
there are two suggestions in the main post code

I will explain this is more detail!

To help explain a bit more


do the following

fire up your Cheat engine

go to the memory viewer

click on the Tools > Auto assemble

Click Template
in the order

|Template|
|
1. Code Injection
2. .........................
3. .............................
4. Cheat table frame work code

1 and 4
Click File > Assign to current Cheat Table

now look at the code
notice that the [Disable] tab is empty


Now the standard of coding is that what you enable you would want to
disable...

so, if you click enable, your code gets written, now click disable [ ] the box
and in |Memory view| nothing changed!

cos the [disable] tab is empty...

So, what I am suggesting is that,
Updating the code in Cheat Engine, the software!
to check to see if the user you!, has checked the template is this order


|Template|
|
1. Code Injection
2. .........................
3. .............................
4. Cheat table frame work code

1 and 4
[REF:]
[STEP 1]
and if so then, instead of just adding Template 1 and then 4 with the corrected Jmp addresses

CE would, do step 1, but also COPY the Jmp address to [disable]
and COPY all thats under label(originalcode)
so in this example it world be

originalcode:

    mov eax,fs:[00000000]


I hope that clears things up!


Code:

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

//           COPY THIS COPY THIS
                 004AC60F:

jmp newmem
nop
returnhere:

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


originalcode:
//                      AND THIS AND THIS
mov eax,fs:[00000000]

exit:
jmp returnhere
 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat

//            TO HERE TO HERE!



so [disable] tab would look like the below, for this example

    [DISABLE]
    004AC60F:
    mov eax,fs:[00000000]
    ****
    ****and add dealloc(newmem) as standard!

Code:

Note: I say this cos Try doing Template order 4 then 1, the code gets all messed up!

So the code would go
Check to see if user has clicked temp 1
> Check to see if user has clicked temp 4
>> Proceed to Step 1 and Step 2 and set FLAG 1
if not exit

[step 1]
do temp 1 and prompt user for address, ((which it already does!))
if FLAG 1 then call step 2
exit

[step 2]
// use accessed templete 1 and 4
Copy address Prompt with added ':' character to end of string to
:Label [Disable]
Search for Label originalcode:
Copy ALL Just before next Label:
ret




I had fun writing the code above, its only for REF: Stages have been skipped to get to the point!



// NEW POST

gytkps wrote:
Overload wrote:
I don't really understand...


He is suggesting all the code that he has typed out to be added into Cheat Engine, that's what I'm thinking he's doing.



my Code would be useless in a different game!

so, what I am suggesting, is going 1 step further by
adding more Checks and Options

you know the
    Find out what %s this address options
    %s = Reads from,
    or writes to,
    or accesses


and the debugger,

What I am Suggesting is that when the user does a write, read, access
Jmp code in debugger

you know the list, in the debugger

the user can select, straight From the list, which ones,
((addresses)), the user wants added, to

Combo of Temp 1 and 4 with FLAG 1,

so its just not one address

What the user has to do now is Click the Show Disassembler >
Find Code where they want to inject the Jmp and nop, TOOLS > Auto Assembler... and the wrest...

so what I mean is from what I've said above

the program has to make to areas where the user can add to the que
addresses of where the user wants the JMP and nop to go
and add that to the Code... Batch!! JOB

With option ADD TO BASKET or QUE

Code:

Debug window:
Found addresses
0056bbeb:
[b]005511aa:[/b]
01234a23
01a244a2
[b]00448a21:[/b]
[b]00343412:[/b]
005711da:

Bold = Selected!!
with option Right-CLick add to QUE
available also from |Memory View|

Que Window:
005511aa:
00448a21:
00343412:
and so on...


with option Generate Script...
PROMPT for string, and pre-enter a string(((which it already does!!)))
and ADD to Cheat Engine TABLE

Then you the user goes in and changes the code to you see fit!

but now a good foundation is there to start with!

Code:

[Enable]
[Disable]

Options work, and alloc and dealloc, fitted already!!
with Pre-Fects of 1 and 2 and 3 or A,B,C or what ever, as long as not the same, so would be STRING(%I) where %I = number, counter SIMPLE!!Wink

Note: REF Examples from main post not this one!
all the above address get added into script for example 2 with example 1 already implemented!!

Arrow REF: Pock Around for File BASKET you'll find it! or just use the link below read the review! HAPPY DAYS!!


Snapfiles.com Search string = PikyBasket NO SPACE

Addresses Que ,Instead of files or folders

or should I say Addresses BASKET!! Cool
Back to top
View user's profile Send private message
hitmanrcd88
How do I cheat?
Reputation: 0

Joined: 07 Aug 2008
Posts: 0

PostPosted: Fri Aug 15, 2008 8:08 pm    Post subject: Plus Plus Reply with quote

Wow I'd like that Idea. But I'll more like it if CE Very undetectable from Protected Game. Razz

Thanks
Back to top
View user's profile Send private message
MRDB512
Advanced Cheater
Reputation: 0

Joined: 31 Aug 2007
Posts: 60

PostPosted: Sat Aug 16, 2008 11:34 am    Post subject: Reply with quote

No Chance of that, cos

game come Debugger Proofed, that is until you change this and that and add 1 here and mov 2 there

and nop this and jmp this and skip that

sort of thing,
the First Time I ran into Debugger Proofed, was with Half-Life 2
Respect go to them, for without them, we would not be-able to do a nocd hack
or even train the game, some of the new ones Wink
whats funny is after they have done that, they still leave the game nocd protected or checked routine to there, go figure!

Cheers

also... Check out
http://forum.cheatengine.org/viewtopic.php?p=2724305&highlight=#2724305

even if your not a noob its still fun the train different games!.
I will be posting by .CT to go with out shortly

mybe you could write a how to... for the linked game
or know someone that would like to.

Go Forums

Keep it real!

_________________
DATABASE

Its a good learn trip, but at the end you would want to know
how you got there!
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
Page 1 of 1

 
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