View previous topic :: View next topic |
Author |
Message |
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Sat Sep 03, 2022 6:36 am Post subject: [Solved] (latest github CE speedhack works with wine7.0.0) |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Sat Sep 03, 2022 7:08 am Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Sun Sep 04, 2022 12:01 am Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Tue Sep 06, 2022 9:06 am Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Thu Sep 08, 2022 2:42 pm Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Sep 08, 2022 2:45 pm Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Thu Sep 08, 2022 2:53 pm Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Sep 08, 2022 5:08 pm Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Fri Sep 09, 2022 3:19 am Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Fri Sep 09, 2022 3:51 am Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Fri Sep 09, 2022 9:11 am Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Fri Sep 09, 2022 10:41 am Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Fri Sep 09, 2022 12:36 pm Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Fri Sep 09, 2022 3:37 pm Post subject: |
|
|
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 |
|
|
myocytebd2 Cheater Reputation: 0
Joined: 23 Apr 2015 Posts: 33
|
Posted: Sat Sep 10, 2022 12:10 am Post subject: |
|
|
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 |
|
|
|