Raised This Month: $28 Target: $400
 7% 

[HL] Block Cheat Client "BHL"


Post New Thread Reply   
 
Thread Tools Display Modes
cix
Junior Member
Join Date: May 2024
Location: 🏖️
Old 08-12-2024 , 18:18   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #11

Quote:
Originally Posted by DJEarthQuake View Post
That code does not force anybody to download anything, it does not allow them entry.
I think there might be a bit of confusion here. I wasn't saying that the code forces clients to download files. Rather, I was explaining that even if you could force downloads (which you can't), it wouldn't work due to the game engine's checks and the fact that the client.dll/client.so file often reside outside of 'valve/' directory. I was highlighting the limitations of the 'force_unmodified()' native function, not claiming that the code would force downloads.

The key point is that detecting modified clients is challenging because files can be placed in '<game>_addon' directory which can be overloaded without overwriting the base files in the 'valve/' directory.
cix is offline
mlibre
Veteran Member
Join Date: Nov 2015
Location: return PLUGIN_CONTINUE
Old 08-13-2024 , 09:13   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #12

with reverse engineering it seems not to affect
__________________
mlibre is offline
DJEarthQuake
Veteran Member
Join Date: Jan 2014
Location: Astral planes
Old 08-16-2024 , 10:51   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #13

When using sub-directory, there is still symbolic link it to designated spot or else game won't run and is effectively caught.
__________________
DJEarthQuake is offline
cix
Junior Member
Join Date: May 2024
Location: 🏖️
Old 08-16-2024 , 18:33   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #14

Quote:
Originally Posted by mlibre View Post
with reverse engineering it seems not to affect
Are you talking about finding a way to bypass the rechecker plugin (which seems possible) or reversing the server to detect custom clients? More details would be helpful to understand the context and provide a better response. What exactly seems not to be affected?

Quote:
Originally Posted by DJEarthQuake View Post
When using sub-directory, there is still symbolic link it to designated spot or else game won't run and is effectively caught.
I have no idea what you're referring to, I'm assuming you're talking about the <game>_addon folder.

Here's an example, if you put the modified client file inside of valve_addon directory, the game will load that file instead of the one inside of valve directory.

1- Half-Life\valve\cl_dlls\client.dll (official)
2- Half-Life\valve_addon\cl_dlls\client.dll (modified)

Therefore, it becomes meaningless to use force_unmodified() as such:
PHP Code:
force_unmodified(force_exactfile, {0,0,0}, {0,0,0}, "cl_dlls/client.dll"
cix is offline
DJEarthQuake
Veteran Member
Join Date: Jan 2014
Location: Astral planes
Old 08-18-2024 , 20:27   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #15

Keep clean file in said directory also and it's path in script. One way of doing that is symbolic link.
__________________
DJEarthQuake is offline
cix
Junior Member
Join Date: May 2024
Location: 🏖️
Old 08-18-2024 , 22:19   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #16

Quote:
Originally Posted by DJEarthQuake View Post
Keep clean file in said directory also and it's path in script. One way of doing that is symbolic link.
What you're saying is that we keep a clean file on the server at [HLDS\valve\cl_dlls\client.*] and we use a symbolic link to point the file in which directory on the server [HLDS\valve_addon\cl_dlls\client.*]?
How is using symbolic link going to help with detection or prevention?

In the force_unmodified() function, the path to the target file is checked with the client using the exact same path used on the server, if both the server and connecting client does not have the same version, it will kick the connecting player.

If you call this on the server, then the connecting player must have the same version of client.dll as the server:
PHP Code:
force_unmodified(force_exactfile, {0,0,0}, {0,0,0}, "cl_dlls/client.dll"
However, if you have something like this, then it will kick every player connecting to the server that does not have the client.dll file in the valve_addon/cl_dlls directory.
PHP Code:
force_unmodified(force_exactfile, {0,0,0}, {0,0,0}, "../valve_addon/cl_dlls/client.dll"
I'm trying to make sense of what you're trying to imply, please elaborate.

Last edited by cix; 08-18-2024 at 22:46.
cix is offline
DJEarthQuake
Veteran Member
Join Date: Jan 2014
Location: Astral planes
Old 08-19-2024 , 08:54   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #17

If one is expecting a cracked dll there; put official dll there.
__________________
DJEarthQuake is offline
cix
Junior Member
Join Date: May 2024
Location: 🏖️
Old 08-19-2024 , 15:11   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #18

Quote:
Originally Posted by DJEarthQuake View Post
If one is expecting a cracked dll there; put official dll there.
Have you actually tried this ? You may want to read my posts again:
Quote:
Originally Posted by cix View Post
You also cannot precache and force a client to download certain file types .dll, .so or .dylib, because they will not pass the engine's IsSafeFileToDownload() check. Even if it did pass the check, the file cannot be downloaded outside of the game/mod directory, which is where the <gamedir>_addon directory and the custom client.dll resides. The downloaded resources will most likely go to the valve_downloads directory, in that case, calling the force_unmodified() native function for "../valve_addon/cl_dlls/client.dll" will be meaningless.
If you put the "official dll" to this path HLDS\valve_addon\cl_dlls\client.dll on the server, there is no way for this file to be transferred to the connecting client. If you do put it there and then force consistency using:
PHP Code:
force_unmodified(force_exactfile, {0,0,0}, {0,0,0}, "../valve_addon/cl_dlls/client.dll"
Quote:
Originally Posted by cix View Post
...then it will kick every player connecting to the server that does not have the client.dll file in the valve_addon/cl_dlls directory.
That is not a solution. I feel like you don't even understand the issue here. The "cracked dll" is on the client and the server is trying to block when a player has the "cracked dll". By cracked I hope you don't misunderstand again for non-steam, it's actually modified or altered .dll file.
* If you have comprehension issues, I suggest translating my answers into your native language using DeepL or ChatGPT.
cix is offline
DJEarthQuake
Veteran Member
Join Date: Jan 2014
Location: Astral planes
Old 08-19-2024 , 18:09   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #19

That's the whole point if the checksum of the 2 files does not match they are kicked.
__________________
DJEarthQuake is offline
cix
Junior Member
Join Date: May 2024
Location: 🏖️
Old 08-19-2024 , 18:56   Re: [HL] Block Cheat Client "BHL"
Reply With Quote #20

Quote:
Originally Posted by DJEarthQuake View Post
That's the whole point if the checksum of the 2 files does not match they are kicked.
Yes, but that's assuming every player that wants to connect to your server create new directories at Half-Life\valve_addon\cl_dlls and add the client.dll file. This is not a solution. There's also a way to circumvent this, making it entirely pointless.

Last edited by cix; 08-19-2024 at 18:58.
cix is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:36.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode