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 


[Solved] (latest github CE speedhack works with wine7.0.0)

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

Joined: 23 Apr 2015
Posts: 33

PostPosted: Sat Sep 03, 2022 6:36 am    Post subject: [Solved] (latest github CE speedhack works with wine7.0.0) Reply with quote

CE 7.x speed hack does not work on linux/wine -- surely it is due to some quirkiness of wine (most dll injector fails too).
But interestingly CE 5.4 works at least for some games on linux/wine.

I am wondering how does CE 5.4 implements speed hack?
Apparently 5.4 code is not in github.


Last edited by myocytebd2 on Sat Sep 10, 2022 12:12 am; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Sat Sep 03, 2022 7:08 am    Post subject: Reply with quote

are you on wine 7.10 or older? The newer ones don't seem to work at the moment
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Sun Sep 04, 2022 12:01 am    Post subject: Reply with quote

Dark Byte wrote:
are you on wine 7.10 or older? The newer ones don't seem to work at the moment

Older (7.0 for now).
I have not yet found a dll injector ever worked for from wine 6.0 to 7.0; although other people said something worked (e.g. guided hacked injector).

wine codebase seems complex to start with, so I thought that I could look at CE 5.4 first.

Is CE 5.4 closed source or there is a old repo somewhere?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Tue Sep 06, 2022 9:06 am    Post subject: Reply with quote

the github CE sourcecode now has a fix for wine 7.0
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Thu Sep 08, 2022 2:42 pm    Post subject: Reply with quote

Dark Byte wrote:
the github CE sourcecode now has a fix for wine 7.0


Release-x64 builds without problems.

On windows, speedhack works.
However on wine, enabling speedhack prompts a weird "C Error :Incorrect tcc library" on any process attached (notepad, regedit, etc.).
(I did not compile tcc; and of course does not load any CT table)


Last edited by myocytebd2 on Thu Sep 08, 2022 2:49 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Thu Sep 08, 2022 2:45 pm    Post subject: Reply with quote

Did you compile speedhack-i386.dll and speedhack-x86_64.dll ?
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Thu Sep 08, 2022 2:53 pm    Post subject: Reply with quote

Dark Byte wrote:
Did you compile speedhack-i386.dll and speedhack-x86_64.dll ?


Yes. The same CE binary's speedhacks works on windows VM.

The weird thing is that why error message in tcclib prompts.
speedhack does not seems to use tcclib at all.
And on windows tcc indeed is not used.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Thu Sep 08, 2022 5:08 pm    Post subject: Reply with quote

tcc is a fallback when dll injection fails or another issue pops up

anyhow remove alternatespeedhack.lua from ce's autorun folder and check what the error is then.

(you have dll inject permissions ?)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Fri Sep 09, 2022 3:19 am    Post subject: Reply with quote

Dark Byte wrote:
tcc is a fallback when dll injection fails or another issue pops up

anyhow remove alternatespeedhack.lua from ce's autorun folder and check what the error is then.

(you have dll inject permissions ?)


I was trying to debug it, but how to build the project incrementally?
lazarus always rebuild everything on every change.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Fri Sep 09, 2022 3:51 am    Post subject: Reply with quote

You can do a compile or just run with changes and it'll compile pnly the changes (and all resources)

but do not make any changes to interface sections, you'll have to do a full build then (fpc bug that doesn't look like it's going to get fixed ever)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Fri Sep 09, 2022 9:11 am    Post subject: Reply with quote

Dark Byte wrote:
You can do a compile or just run with changes and it'll compile pnly the changes (and all resources)

but do not make any changes to interface sections, you'll have to do a full build then (fpc bug that doesn't look like it's going to get fixed ever)


(wine-7.0.0/win64 from winehq-stable)
There are to be multiple issues on wine:
1. Injecting speedhack.dll by enabling speedhack does not update symbols. All proceeding symbol lookup into speedhack.dll fails.
I have no clue why.
A workaround is to inject dll in memory view.

2. Hook for realGetTickCount is broken: realGetTickCount=0. (Other two has valid address.)
It seems that, symbol uses should be case-sensitive on wine.

3. Some crash. (And on breakpoint, CE seems to stuck in some symbol lookup)
Apparently due to this - CE shows "GetTickCount" and "GetTickCount()"?
CE hooks onto kernelbase.GetTickCount() and the trampoline is doomed.
Code:

kernelbase.GetTickCount
kernelbase.GetTickCount - 8B FF                 - mov edi,edi
7B068402                - 55                    - push ebp
7B068403                - 8B EC                 - mov ebp,esp
kernelbase.GetTickCount()  ???
kernelbase.GetTickCount - E9 76AFFB94           - jmp speedhack-i386.speedhackversion_GetTickCount
kernelbase.GetTickCount+5- 5D                    - pop ebp
kernelbase.GetTickCount+6- C3                    - ret

Code:
kernel32.GetTickCount
kernel32.GetTickCount - 8B FF                 - mov edi,edi
7B62BE52              - 55                    - push ebp
7B62BE53              - 8B EC                 - mov ebp,esp
kernel32.GetTickCount()   ???
kernel32.GetTickCount - E9 26759F94           - jmp speedhack-i386.speedhackversion_GetTickCount
kernel32.GetTickCount+5- 5D                    - pop ebp
kernel32.GetTickCount+6- C3                    - ret


Last edited by myocytebd2 on Fri Sep 09, 2022 10:43 am; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Fri Sep 09, 2022 10:41 am    Post subject: Reply with quote

there is a project called soeedhacktest located inside ce's sourcecode (when compiled it'll end up in the binary folder)

try it on there



and try removing the win32 and win64 subfolders in the ce bin folder, the microsoft dll's may not support the winesymbols fully (or change the order)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Fri Sep 09, 2022 12:36 pm    Post subject: Reply with quote

Dark Byte wrote:
there is a project called soeedhacktest located inside ce's sourcecode (when compiled it'll end up in the binary folder)

try it on there



and try removing the win32 and win64 subfolders in the ce bin folder, the microsoft dll's may not support the winesymbols fully (or change the order)


(wine-7.0.0/win64 from winehq-stable)
A. speedhacktest-x64 + ce-x64 @wine-win64: working.

B. speedhacktest-x86 + ce-x64 @wine-win64: (I added a x86 one)
B1. Segfault on injection.
Log:
Code:
Speedhack: calling waitForExports
Speedhack: waitForExports returned
Speedhack: speedhackversion_GetTickCount not found. Injecting DLL
Normal speedhack activation failed: Failure enabling speedhack. (DLL injection failed): dllInject failed: Unknown error during injection
Force load module failed:Allocation error. Checking for :"activateAlternateSpeedhack"
Calling activateAlternateSpeedhack

Segmentation fault (core dumped)

B2. Freeze when breakpoint reached, probably live-locked in symbol handling.
Apparent problem is incorrect symbol mappings.
All kernalbase etc. APIs give wrong address, incl. LoadLibraryA.

C. speedhacktest-x86 + ce-x86 @wine-win32:
Not yet tested. (ce-x86 does not build out of box, need to fix some errors due to missing ifdef)

>> and try removing the win32 and win64 subfolders in the ce bin folder, the microsoft dll's may not support the winesymbols fully (or change the order)
Removing win32/64 or not does not change the result: 64-64 works; 64-32 gives wrong symbol address and segfault on injection.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Fri Sep 09, 2022 3:37 pm    Post subject: Reply with quote

I'm having some trouble getting a proper modulelist in 32-bit targets with 64-bit CE, and the symbols are just way off/broken.

But I have fixed the symbol lookup when inside x86 CE

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
myocytebd2
Cheater
Reputation: 0

Joined: 23 Apr 2015
Posts: 33

PostPosted: Sat Sep 10, 2022 12:10 am    Post subject: Reply with quote

Dark Byte wrote:
I'm having some trouble getting a proper modulelist in 32-bit targets with 64-bit CE, and the symbols are just way off/broken.

But I have fixed the symbol lookup when inside x86 CE


Thanks a lot, it looks good now.

(wine-7.0.0/win64 from winehq-stable)
A. speedhacktest-x64 + ce-x64 @wine-win64: working. (with or without win64 dir)
B. speedhacktest-x86 + ce-x86 @wine-win64: (I added a x86 one)
working (without win32 dir) (with win32 dir, crash in symbol handling)
Speedhack/Symbols/Breakpoints all seems OK now.
C. speedhacktest-x86 + ce-x86 @wine-win32: working. Same as @wine-win64.
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