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 


A little help on hacking Turmoil

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
LuC-iTA
Newbie cheater
Reputation: 0

Joined: 14 Jul 2014
Posts: 14

PostPosted: Thu Oct 22, 2015 6:34 am    Post subject: A little help on hacking Turmoil Reply with quote

Hello.
Could someone help me to hack, or learn how, the game turmoil?
All values are accessed and wites by and to a single opcode. I need ony a single value. I've tried to explore the code with IDA...but I 'can't undestand why there's 6 switch in the code and how a can isolate the money address from others.
In the attached image that is the only opcode for all values in the game. The value found is the money value, in double.
Using pointer scan doesn't work as for other games.

Hope someone could help.

Also I've the same problem with some UE3 games, like Woolfe: The Red Hood Diaries.

Sorry if my eng is not so well written.
Thanks for your attention



2015-10-22_141702.png
 Description:
 Filesize:  211.88 KB
 Viewed:  29546 Time(s)

2015-10-22_141702.png


Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Thu Oct 22, 2015 7:05 pm    Post subject: Reply with quote

I would start by setting an injection to execute some code only when your money address appears.
Code:
newmem:
  cmp esi,0FB60E60
  jne code
  nop // break here
code:
  fld qword ptr [esi]
  mov al,01
  fstp qword ptr [edi]
  jmp return
INJECT:
  jmp newmem
  nop
return:

Then set a break and trace on the NOP.
Now go through the code and see if any prior functions that provide the ESI value only execute for money.
Place your true injection there to intercept the address.
Back to top
View user's profile Send private message
LuC-iTA
Newbie cheater
Reputation: 0

Joined: 14 Jul 2014
Posts: 14

PostPosted: Fri Oct 23, 2015 3:41 am    Post subject: Reply with quote

Zanzer MANY thanks for your reply!!! I'll try as soon as I can! And will post my results! Your metod should work also in some UE3 games in wich all the values I find are stored in a memcpy function. I suppose.

Again many thanks!

EDIT:

I'm sorry but I'm not familiar with the trace function.
Could you help me again?
In the attached image I hope there's something useful because I don't see anything prior the nop that could be intresting. But I'm a newbie so I need to learn.

[img]imgur dot com/ezj9v91[/img]

P.S.:
Exploring the code I've found a push with a comment like "VMProtect.cpp"...Is that a useful information?

Sorry for the BIG image

EDIT2:
In the meanwhile I've made this little script. But I wait for your answer.

Code:

aobscanmodule(INJECT,TurmoilSteam.exe,DD 06 B0 01 DD 1F)
alloc(newmem,$1000)
alloc(_ok,4)

label(code)
label(return)
label(Money)

registersymbol(_ok)

newmem:
cmp byte ptr [_ok],1
jne code

Money:
cmp dword ptr [esi+4],409F4000 // I used this method because I don't know how to compare with double values. And cmp qword won't work.
jne code
mov [esi+4],412E847E
mov byte ptr [_ok],0

code:
  fld qword ptr [esi]
  mov al,01
  fstp qword ptr [edi]
  jmp return

INJECT:
  jmp newmem
  nop
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
  db DD 06 B0 01 DD 1F

unregistersymbol(INJECT)
unregistersymbol(_ok)

dealloc(_ok)
dealloc(newmem)
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Fri Oct 23, 2015 10:14 am    Post subject: Reply with quote

Well, in your screenshot, I would double click the instruction at 0040A243.
Now scroll up one instruction and you'll find the call statement which retrieves your value.
One might set a break and trace there to see if you can find where ESI comes from.
Might need to travel further up the chain at instructions 00515D98 or 00519712 (or further).
It is very tedious and can become frustrating. I normally give up, so heads up! Smile
Back to top
View user's profile Send private message
LuC-iTA
Newbie cheater
Reputation: 0

Joined: 14 Jul 2014
Posts: 14

PostPosted: Fri Oct 23, 2015 1:07 pm    Post subject: Reply with quote

Your help is much appreciated and your knowledge is intresting as well as your trainers! Very Happy I'll try to do my best!
Back to top
View user's profile Send private message
JCDenton
How do I cheat?
Reputation: 0

Joined: 01 Jan 2016
Posts: 1

PostPosted: Sat Jun 04, 2016 6:08 pm    Post subject: Reply with quote

Hi,

I have been trying to find a trainer for this game and nothing shows up or works.

Tracing the instructions leads to the following.

Code:

TurmoilSteam.exe+9977 - 8B C1               - mov eax,ecx
TurmoilSteam.exe+9979 - 83 E0 3F            - and eax,3F { 63 }
TurmoilSteam.exe+997C - C6 05 249E6E00 00   - mov byte ptr [TurmoilSteam.exe+2E9E24],00 { [00000000] } <-------- *Here*
TurmoilSteam.exe+9983 - 8B 44 86 04         - mov eax,[esi+eax*4+04]
TurmoilSteam.exe+9987 - 85 C0               - test eax,eax



This instruction: mov eax,[esi+eax*4+04] calculates the value ( money address - 8 ), but it gets called a lot of times. EAX = 8 for the money address but the values when calculated never add up to the real address.

So, I made a messy table.
To use this table: after activating the script Make sure to press "Q" every time before going to the dig site and once you are at the Oil digging screen the first thing you buy is a dowser/mole (anything of $100).



TurmoilSteam.CT
 Description:
works for Turmoil v0.0.0.292.

Download
 Filename:  TurmoilSteam.CT
 Filesize:  4.75 KB
 Downloaded:  2206 Time(s)

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

Joined: 14 Jul 2014
Posts: 14

PostPosted: Mon Jun 06, 2016 2:55 am    Post subject: Reply with quote

Many thanks!
Back to top
View user's profile Send private message
seikur0
Advanced Cheater
Reputation: 7

Joined: 02 Aug 2013
Posts: 98
Location: Germany

PostPosted: Mon Jul 11, 2016 7:40 pm    Post subject: Reply with quote

I made a table for it:

http://forum.cheatengine.org/viewtopic.php?p=5682057
Back to top
View user's profile Send private message
MasterPekar
How do I cheat?
Reputation: 0

Joined: 25 Oct 2015
Posts: 5

PostPosted: Sun Mar 12, 2017 2:18 pm    Post subject: Reply with quote

JCDenton wrote:
So, I made a messy table.
To use this table: after activating the script Make sure to press "Q" every time before going to the dig site and once you are at the Oil digging screen the first thing you buy is a dowser/mole (anything of $100).

My update for JCDenton's code/table:
+ Start money
+ Auto refresh and capture address and money each round
+ First (2000$) horse ("W") - trigger

How to use:
- Attach to game and activate root script
- Enable/Disable start money and set count
- Go to start digging
- While 2000$ - builld horse ("W" button)
- That's will set start money if enabled (default enabled) and capture valid money address

P.S. forum bugging "Cheat Engine files -> Maximum Upload Size: 8 Bytes". Please - rename TurmoilSteam.lua to TurmoilSteam.ct befor use!



TurmoilSteam.lua
 Description:
My update for JCDenton's code/table:
+ Start money
+ Auto refresh and capture address and money each round
+ First (2000$) horse ("W") - trigger

Download
 Filename:  TurmoilSteam.lua
 Filesize:  5.64 KB
 Downloaded:  1762 Time(s)

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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