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 


Terraria 1.1.2
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Tables
View previous topic :: View next topic  
Author Message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Wed Jan 25, 2012 8:43 pm    Post subject: Terraria 1.1.2 Reply with quote

I mainly play multiplayer and made a packet editor so this may or may not get updated. Feel free to post any additions you find.

Current Table Includes
- Infinite Health
- Infinite Mana
- No Item Decrease (Building)
- No Item Decrease (Ammo)
- No Item Decrease (Crafting)
- Infinite Double Jump
- Infinite Rocket Boots
- Infinite Wings
- One Hit Kill

Updates
- Moved table options into categories for faster aobscans and better usage.
- Added jump cheats.
- Added damage cheats.
- Added infinite building, ammo, crafting of items.


READ BEFORE USING!
Because this game is written in a managed language, some pieces of code are not loaded into memory until they are requested at least once. This means options may fail to turn on first try. You need to do something that involves the option in order for the code to get loaded into memory. For example:

- To enable health cheats, get hit once, or take fall damage.
- To enable item cheats, use some items, or attempt to craft something.
- To enable jump cheats, attempt to use the items normally first.
- To enable damage cheats, attack something once.



Terraria_1.1.2.CT
 Description:

Download
 Filename:  Terraria_1.1.2.CT
 Filesize:  6.85 KB
 Downloaded:  9978 Time(s)


_________________
- Retired.


Last edited by atom0s on Mon Jan 30, 2012 4:20 pm; edited 1 time in total
Back to top
View user's profile Send private message
_Jeffrey_
Expert Cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 155

PostPosted: Mon Jan 30, 2012 11:54 am    Post subject: Re: Terraria 1.1.2 Reply with quote

Wiccaan wrote:
I mainly play multiplayer and made a packet editor so this may or may not get updated. Feel free to post any additions you find.

Current Table Includes
- Infinite Health
- Infinite Mana
- No Item Decrease (Building)
- No Item Decrease (Ammo)
- No Item Decrease (Crafting)


Note
In order to enable the main option you need to take a form of damage. The assembly does not appear to load the functions for health and such until they are requested at least once. So just take damage then enable the cheats.

Updates
- Added infinite building, ammo, crafting of items.


Wow nice table Wiccaan, how about you add Infinite wings, rocket boots and that from my +12 trainer. Also, it would be nice help me learn to find those kind of aobscan's. because your table works awesome.

Thanks, Jeffthecreeper911

//////////--EDIT--//////////

its not working anymore Sad
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Mon Jan 30, 2012 2:33 pm    Post subject: Reply with quote

Make sure you take damage from something for the table to work. Part of the code in the game doesn't load until it's needed due to garbage collection.

Seems like crafting isn't loaded until requested too so I'm going to redo the table and break things into their own sections. I'll look for the other options when I get some free time this week too.

Edit - Table updated in main post.

_________________
- Retired.
Back to top
View user's profile Send private message
_Jeffrey_
Expert Cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 155

PostPosted: Mon Jan 30, 2012 6:00 pm    Post subject: Reply with quote

Wiccaan wrote:
Make sure you take damage from something for the table to work. Part of the code in the game doesn't load until it's needed due to garbage collection.

Seems like crafting isn't loaded until requested too so I'm going to redo the table and break things into their own sections. I'll look for the other options when I get some free time this week too.

Edit - Table updated in main post.



works perfectly Wiccaan. you really need to teach me how to get the aob's you used in the table. once i fully understand. expect me uploading hacks with aob's
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Mon Jan 30, 2012 6:38 pm    Post subject: Reply with quote

Jeffthecreeper911 wrote:

works perfectly Wiccaan. you really need to teach me how to get the aob's you used in the table. once i fully understand. expect me uploading hacks with aob's


You just need to make sure you use parts of code that are least likely to change. Avoid calls, jumps, offsets, etc. when creating your patterns. Also keep in mind my table above only makes use of scanning usefully to find the code, but not to replace / restore the code. You'd generally want to read the information from the game after finding the pattern in case the offsets changed and such.

But for this table, I'll use infinite wings as an example.

The code executed when using wings is:

Code:

0E317EBE - 8B 85 98F6FFFF             - mov eax,[ebp-00000968]
0E317EC4 - D9 05 2C3D1100             - fld dword ptr [00113D2C] : [(float)5.0100]
0E317ECA - D8 0D 5008320E             - fmul dword ptr [0E320850] : [(float)1.5000]
0E317ED0 - D9 98 74020000             - fstp dword ptr [eax+00000274]
0E317ED6 - 8B 85 98F6FFFF             - mov eax,[ebp-00000968]
0E317EDC - FF 48 60                   - dec [eax+60] <-- Decrease Wing Time Count
0E317EDF - 83 BD A4FEFFFF 00          - cmp dword ptr [ebp-0000015C],00
0E317EE6 - 75 0F                      - jne 0E317EF7


There are a lot of offsets here that could change in the future, so you want to avoid their values and stick to the instruction bytes instead. First we will want to locate a decent amount of bytes that aren't found multiple times. So we'll use the instructions before and after the target instruction:

Code:

0E317ED6 - 8B 85 98F6FFFF             - mov eax,[ebp-00000968]
0E317EDC - FF 48 60                   - dec [eax+60] <-- Decrease Wing Time Count
0E317EDF - 83 BD A4FEFFFF 00          - cmp dword ptr [ebp-0000015C],00


This gives us:

8B 85 98 F6 FF FF FF 48 60 83 BD A4 FE FF FF 00

But we have offsets here that could break the signature later on.
So we only want to use the instruction bytes instead:

8B 85 98 F6 FF FF FF 48 60 83 BD A4 FE FF FF 00
Green = bytes that are unlikely to change.
Red = bytes that are likely to change.

So we get our new signature of:
8B 85 ?? ?? ?? ?? FF 48 ?? 83 BD ?? ?? ?? ?? 00

Before we are sure to use this, scan for it and make sure multiple instances aren't found. If there are more then one results found, you would want to start adding more to the signature, instruction bytes before and after etc. to make the signature more unique.

Which leaves us with:
Code:

[ENABLE]
aobscan(infwings, 8B 85 ?? ?? ?? ?? FF 48 ?? 83 BD ?? ?? ?? ?? 00)
label(_wings)
registersymbol(_wings)

infwings:
_wings:

[DISABLE]
unregistersymbol(_wings)


Then our script to use the found signature address:
Code:

[ENABLE]
_wings+6:
db 90 90 90

[DISABLE]
_wings+6:
db FF 48 60


Like I said though, notice in my script to use the found address, I'm specifically writing the old code with the hard-coded offset. This could break in future updates so it's not a complete solution but enough to get things working.

_________________
- Retired.
Back to top
View user's profile Send private message
_Jeffrey_
Expert Cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 155

PostPosted: Tue Jan 31, 2012 10:53 am    Post subject: Reply with quote

Wiccaan wrote:
Jeffthecreeper911 wrote:

works perfectly Wiccaan. you really need to teach me how to get the aob's you used in the table. once i fully understand. expect me uploading hacks with aob's


You just need to make sure you use parts of code that are least likely to change. Avoid calls, jumps, offsets, etc. when creating your patterns. Also keep in mind my table above only makes use of scanning usefully to find the code, but not to replace / restore the code. You'd generally want to read the information from the game after finding the pattern in case the offsets changed and such.

But for this table, I'll use infinite wings as an example.

The code executed when using wings is:

Code:

0E317EBE - 8B 85 98F6FFFF             - mov eax,[ebp-00000968]
0E317EC4 - D9 05 2C3D1100             - fld dword ptr [00113D2C] : [(float)5.0100]
0E317ECA - D8 0D 5008320E             - fmul dword ptr [0E320850] : [(float)1.5000]
0E317ED0 - D9 98 74020000             - fstp dword ptr [eax+00000274]
0E317ED6 - 8B 85 98F6FFFF             - mov eax,[ebp-00000968]
0E317EDC - FF 48 60                   - dec [eax+60] <-- Decrease Wing Time Count
0E317EDF - 83 BD A4FEFFFF 00          - cmp dword ptr [ebp-0000015C],00
0E317EE6 - 75 0F                      - jne 0E317EF7


There are a lot of offsets here that could change in the future, so you want to avoid their values and stick to the instruction bytes instead. First we will want to locate a decent amount of bytes that aren't found multiple times. So we'll use the instructions before and after the target instruction:

Code:

0E317ED6 - 8B 85 98F6FFFF             - mov eax,[ebp-00000968]
0E317EDC - FF 48 60                   - dec [eax+60] <-- Decrease Wing Time Count
0E317EDF - 83 BD A4FEFFFF 00          - cmp dword ptr [ebp-0000015C],00


This gives us:

8B 85 98 F6 FF FF FF 48 60 83 BD A4 FE FF FF 00

But we have offsets here that could break the signature later on.
So we only want to use the instruction bytes instead:

8B 85 98 F6 FF FF FF 48 60 83 BD A4 FE FF FF 00
Green = bytes that are unlikely to change.
Red = bytes that are likely to change.

So we get our new signature of:
8B 85 ?? ?? ?? ?? FF 48 ?? 83 BD ?? ?? ?? ?? 00

Before we are sure to use this, scan for it and make sure multiple instances aren't found. If there are more then one results found, you would want to start adding more to the signature, instruction bytes before and after etc. to make the signature more unique.

Which leaves us with:
Code:

[ENABLE]
aobscan(infwings, 8B 85 ?? ?? ?? ?? FF 48 ?? 83 BD ?? ?? ?? ?? 00)
label(_wings)
registersymbol(_wings)

infwings:
_wings:

[DISABLE]
unregistersymbol(_wings)


Then our script to use the found signature address:
Code:

[ENABLE]
_wings+6:
db 90 90 90

[DISABLE]
_wings+6:
db FF 48 60


Like I said though, notice in my script to use the found address, I'm specifically writing the old code with the hard-coded offset. This could break in future updates so it's not a complete solution but enough to get things working.



hmm makes sense a little.
i wish my code finding skills weren't so bad because i don't get how you got the offsets and how you picked out the codes that you put as ??. sorry about my complaing. myself following instructions isnt so great Razz

it may take some time for me to understand this

EDIT - im just wondering will the more information button while using the finding what writes/accesses this address function help?
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Tue Jan 31, 2012 12:53 pm    Post subject: Reply with quote

Use the 'Show In Disassembler' button to bring up the disassembled view of the memory.
_________________
- Retired.
Back to top
View user's profile Send private message
_Jeffrey_
Expert Cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 155

PostPosted: Tue Jan 31, 2012 12:59 pm    Post subject: Reply with quote

Wiccaan wrote:
Use the 'Show In Disassembler' button to bring up the disassembled view of the memory.
i know that im just don't know which bytes to change to ??
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Tue Jan 31, 2012 11:21 pm    Post subject: Reply with quote

Jeffthecreeper911 wrote:
Wiccaan wrote:
Use the 'Show In Disassembler' button to bring up the disassembled view of the memory.
i know that im just don't know which bytes to change to ??


You want to avoid jumps, calls, static address / offsets etc. and just focus on the instructs being used.

For example:
0E317ED6 - 8B 85 98F6FFFF - mov eax,[ebp-00000968]

The instruction here is mov with eax/ebp. We can typically assume the instruction part of this wont change. (The EBP part can but if it becomes a problem you can build a different signature.)

So the first two bytes of this instruction are 8B 85 which handle the mov eax, [ebp] part. The last four are the offset but since the offset can easily change across compiles, we don't want to use it.

So we get:
8B 85 ?? ?? ?? ??

Next was:
0E317EDC - FF 48 60 - dec [eax+60]

Again we don't want to use the offset so we know the instruction is dec [eax] which is:
FF 48 ??

60 being the offset so we use that as a wildcard.


Which ends up with:
0E317ED6 - 8B 85 98F6FFFF - mov eax,[ebp-00000968]
0E317EDC - FF 48 60 - dec [eax+60]

8B 85 ?? ?? ?? ?? FF 48 ??

_________________
- Retired.
Back to top
View user's profile Send private message
_Jeffrey_
Expert Cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 155

PostPosted: Wed Feb 01, 2012 9:44 am    Post subject: Reply with quote

Wiccaan wrote:
Jeffthecreeper911 wrote:
Wiccaan wrote:
Use the 'Show In Disassembler' button to bring up the disassembled view of the memory.
i know that im just don't know which bytes to change to ??


You want to avoid jumps, calls, static address / offsets etc. and just focus on the instructs being used.

For example:
0E317ED6 - 8B 85 98F6FFFF - mov eax,[ebp-00000968]

The instruction here is mov with eax/ebp. We can typically assume the instruction part of this wont change. (The EBP part can but if it becomes a problem you can build a different signature.)

So the first two bytes of this instruction are 8B 85 which handle the mov eax, [ebp] part. The last four are the offset but since the offset can easily change across compiles, we don't want to use it.

So we get:
8B 85 ?? ?? ?? ??

Next was:
0E317EDC - FF 48 60 - dec [eax+60]

Again we don't want to use the offset so we know the instruction is dec [eax] which is:
FF 48 ??

60 being the offset so we use that as a wildcard.


Which ends up with:
0E317ED6 - 8B 85 98F6FFFF - mov eax,[ebp-00000968]
0E317EDC - FF 48 60 - dec [eax+60]

8B 85 ?? ?? ?? ?? FF 48 ??


yep that makes sense thanks Wiccaan. I am going to test this on Terraria to see if i get it right.
Back to top
View user's profile Send private message
nnnn20430
How do I cheat?
Reputation: 0

Joined: 27 Apr 2012
Posts: 1

PostPosted: Fri Apr 27, 2012 6:30 am    Post subject: Reply with quote

um your infenite health works perfectly but not if it comes to bieng on fire when i have the on fire buff i steal loose health
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Fri Apr 27, 2012 11:30 am    Post subject: Reply with quote

Change the 'ENABLE THIS' script for Infinite Health to:
Code:

[ENABLE]
aobscan(infhealth, 29 86 54 01 00 00 C6 86 ?? ?? ?? ?? ??)
label(_hp)
registersymbol(_hp)

aobscan(preventdeath, 83 BE 54 01 00 00 00 0F 8E ?? ?? ?? ?? 33 FF)
label(_prevdeath)
registersymbol(_prevdeath)

aobscan(prevdrown, 8B 85 98 F6 FF FF 83 80 54 01 00 00 FE)
label(_prevdrown)
registersymbol(_prevdrown)

aobscan(lavadebuff, 8B 85 ?? ?? ?? ?? FF 88 54 01 00 00 8B 85 ?? ?? ?? ?? 83 B8 54 01 00 00 00)
label(_lavadebuff)
registersymbol(_lavadebuff)

infhealth:
_hp:

preventdeath:
_prevdeath:

prevdrown:
_prevdrown:

lavadebuff:
_lavadebuff:

[DISABLE]
unregistersymbol(_hp)
unregistersymbol(_prevdeath)
unregistersymbol(_prevdrown)
unregistersymbol(_lavadebuff)


And then change the Infinite Health script to:
Code:

[ENABLE]
_hp:
db 90 90 90 90 90 90

_prevdrown+6:
db 90 90 90 90 90 90 90

_lavadebuff+6:
db 90 90 90 90 90 90

[DISABLE]
_hp:
db 29 86 54 01 00 00

_prevdrown+6:
db 83 80 54 01 00 00 FE

_lavadebuff+6:
db FF 88 54 01 00 00

_________________
- Retired.
Back to top
View user's profile Send private message
Roland117
Newbie cheater
Reputation: 0

Joined: 27 Jun 2011
Posts: 14

PostPosted: Mon Jul 30, 2012 4:27 am    Post subject: Reply with quote

I'm having an issue altering your table to work with terraria mod Toparia. I'm trying to alter the activate/de-activate parts, but it gives me an invalid address specifier error. Any advice?

[ENABLE]
_items+06:
db 90 90 90

[DISABLE]
_items+06:
db FF 48 40

That's the change i'm trying to make, but it's saying that the _items+06; is invalid... Sad
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 96

Joined: 25 Jan 2006
Posts: 5554
Location: 127.0.0.1

PostPosted: Sun Aug 26, 2012 2:45 am    Post subject: Reply with quote

Given that Toparia modifies the game itself, it will more then likely cause the signatures that are being scanned for to not match up. You will need to adjust them to fix this problem.
_________________
- Retired.
Back to top
View user's profile Send private message
Roland117
Newbie cheater
Reputation: 0

Joined: 27 Jun 2011
Posts: 14

PostPosted: Sun Aug 26, 2012 1:01 pm    Post subject: Reply with quote

It's not that... When I edit the actual table, it won't work. When I change the table to match the aobs that I have found that do work, it gives me an error in CE. I can't actually change them in ce, because it's making "non-existant references". Thats the problem, I can't edit the table because it says that the table has no references, or something...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Tables 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)