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.5 hacking help (needed and giving)

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Single player cheat request
View previous topic :: View next topic  
Author Message
Roland117
Newbie cheater
Reputation: 0

Joined: 27 Jun 2011
Posts: 14

PostPosted: Mon Jun 27, 2011 8:42 am    Post subject: Terraria 1.5 hacking help (needed and giving) Reply with quote

Hello everyone, It's my first post here on the forums! However, since that's not much of an introduction, here's what I've found, but don't know how to use:

For infinite uses of items without losing any said item, you need multiple thrown weapon items (throwing knives, shuriken, etc.) use a 4byte search for the number of throwing items you have. say, 11 for instance.

Now, throw one item far enough away to not pick it up if it survives. Search again, then once more until you have the exact number. Then, select it, and use the find out what accesses this address option.

Throw one last item, then check the debugger. It should provide you with a subtraction operation. NOP that operation, and you have infinite uses of items, while still being able to pick them up!

Lastly, if anyone could show me how to take this, simplify it a little, then make a trainer out of it, I would love them very much!
Back to top
View user's profile Send private message
syncro
Newbie cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 15

PostPosted: Tue Jun 28, 2011 4:13 am    Post subject: Reply with quote

If you want that same thing to work with a simple toggle then you should make a script out of it, i only know so much about scripts at the moment but in Terraria you should use the aobscan command or whatever its called.
To make a script for this specific dec [eax+3c] code(im hoping thats the one you mean), right click it and open in dissasembler (make sure you restore it to original first), then open the auto assembler (ctrl+a or under tools menu), then under templates menu select the cheat table framework code and then under templates again select the code injection, then press ok.
And you should have this.
[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)

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

originalcode:
add [eax+3C],0 //adding 0 doesnt change the number of shit you throw
mov eax,[ebp-000004CC]

exit:
jmp returnhere

(the adress of the opcode dec [eax+3c]):
jmp newmem
nop
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
(adress of opcode, again):
dec [eax+3C]
mov eax,[ebp-000004CC]
//Alt: db FF 48 3C 8B 85 34 FB FF FF

Alright, this code would work just fine for turning it on and off all you want during a game, but it wouldnt work again if you closed and opened your game up again.
To make a code that works for any time you should use the aobscan thingy i talked(wrote) about before, im still new to this but i get how it works.
In the dissassembler are the array of bytes you need for the aobscan to work.

Adress: --->Bytes:<----- Opcode: Comment:
(adress) --->FF 48 3C<--- dec [eax+3c]

So if you know the bytes you just type them into the command you add to your script, you need to change the script so it uses the aobscan correctly
Ill just make one for you as an example(its the real script that should work for you too if you'r game is 1.0.5) But first, only a 3 byte array of bytes might give more than one result, so the aobscan function might find the wrong value to change instead of your reducing items value. So you should find a longer value for it.
To do that scan for array of bytes in your cheat engine (not the dissassembler) and type in those 3 bytes FF 48 3C then if you get a bunch of results check their adresses to find the right one, check if it's the same adress as the dec [eax+3c] has in your dissassembler, if you find the right one from the list right click it and select the [browse this memory region] option. Then you should see in the dissassembler window, the lower box that has a bunch of long bytes all over it, should have moved to the bytes that your adress has, from that list select the line of bytes at the top (below the example bytes line), and drag your mouse cursor over the line until you selected all of them and then copy them. After you have those bytes copied you can be sure that you wont find the wrong adress anymore, so you modify the right place and you hack will work. Ok one more thing Confused , some of the bytes change ,both when you toggle the script and also when you restart the game. When you find some bytes that change , you can either compare them on a notepad file or whatever you think of, you can replace those bytes with an xx or if only one side of a byte changes like 6B turns into 68 you can change that to 6x so the aobscan will just take whatever value there is instead of the x.

Anyway enough writing, ill just copy paste the script ive quickly made.
----------------------------------------------------

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
aobscan(somenamehere,xx xx xx xx xx xx xx xx xx 8B 80 80 00 00 00 3B 43 04 0F 83 A7 00 00 00 8B 7C 83 0C 83 7F 3C 00)
label(returnhere)
label(originalcode)
label(exit)

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

originalcode:
add [eax+3C],0
mov eax,[ebp-000004CC]

exit:
jmp returnhere

somenamehere://this was the adress before
jmp newmem
nop
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
aobscan(somenameheretoo,xx xx xx xx xx xx xx xx xx 8B 80 80 00 00 00 3B 43 04 0F 83 A7 00 00 00 8B 7C 83 0C 83 7F 3C 00)
dealloc(newmem)
somenameheretoo:
dec [eax+3C]//switches back to what it was before
mov eax,[ebp-000004CC]
//Alt: db FF 48 3C 8B 85 34 FB FF FF

When you are done with the script, on the auto assembler window menu, click file and then click assign to cheat table.
To make a trainer out of this, just use the cheat engine trainer maker.
I dont know that too well, so you'll have to look for info on that somewhere.
Hope you learned something, and this is also my first post.
Kinda long i guess for a reply...
Oh ill add my cheat table to this, it also has a spam hack that i made, lets you spam those shurikens. Besides that it has a blink godmode, it doesnt do anything vs fall damage but monsters cant hit you, or lava either.
Also no drowning, no items consumed(this is what ive talked about this whole time), also a split stack hack(this is said to crash the game by the ppl ive sent it to. Also no breath and no mana use from items.
Enjoy.



Terraria hax by syncro.CT
 Description:
Be careful using the stack split hack it might crash.

Download
 Filename:  Terraria hax by syncro.CT
 Filesize:  241.75 KB
 Downloaded:  443 Time(s)

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

Joined: 27 Jun 2011
Posts: 14

PostPosted: Tue Jun 28, 2011 7:03 am    Post subject: Wow Reply with quote

That's incredibly helpfull! The only thing I need to do now is to figure out how to make the script find the addresses, since I think they change every time you load terraria... If I could find that out, I would probably build a trainer for terraria! Thanks!
Back to top
View user's profile Send private message
syncro
Newbie cheater
Reputation: 0

Joined: 10 Jun 2011
Posts: 15

PostPosted: Tue Jun 28, 2011 9:51 am    Post subject: Reply with quote

Isnt that what the aobscan in the script does?
It finds the adress based on its array of bytes, the array of bytes doesnt change completely ,only few bytes in it perhaps.
It find the adress that the array of bytes belongs to and basically the found adress is the name you choose to put there.
Like aobscan(name,bytes)
So if the adress that you want the scan to find is 1A50044 then if it finds it,
the name is the adress.

Heres some easier example:
1A50044 has the bytes next to it that are BB AA 63 13 53
so you do aobscan(myadress,BB AA 63 13 53)
and then normally in a script you would have
1A50044:
mov [eax+4]

but instead you put
myadress:
mov [eax+4]

There is still some extra to it that i dont really understand yet, ive seen it in some other terraria scripts where there are offsets like:
myadress-14:
mov [eax+4]

If you want to learn you can download and look at the scripts of the more advanced cheat tables.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Single player cheat request 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)