Author |
Message |
CypherJF I gargle nitroglycerin
Gender: Joined: Aug 14 2003 Posts: 2582 Location: USA Offline
|
Posted: Sat Apr 05, 2014 6:24 pm Post subject: Catid's Biller - Rejecting Apple MAC devices |
|
|
|
|
Been seeing several of these appear in Omega Fire, the players are saying they're using a mac (apple) laptop. Anyone who is active here have any suggestions?
0:Omega Fire: <USER> connecting with a hacked client. (Invalid MachineID)(1) _________________ Performance is often the art of cheating carefully. - James Gosling
|
|
Back to top |
|
|
Cheese Wow Cheese is so helpful!
Joined: Mar 18 2007 Posts: 1017 Offline
|
Posted: Sat Apr 05, 2014 9:35 pm Post subject: |
|
|
|
|
macid comes from network card
mac users run ss using wine
wine tells ss macid is 0 _________________ SSC Distension Owner
SSCU Trench Wars Developer
|
|
Back to top |
|
|
CypherJF I gargle nitroglycerin
Gender: Joined: Aug 14 2003 Posts: 2582 Location: USA Offline
|
Posted: Sun Apr 06, 2014 12:52 am Post subject: |
|
|
|
|
Cheese wrote: | macid comes from network card
mac users run ss using wine
wine tells ss macid is 0 |
Unfortunate given the fact that most network cards or adapters have a macid associated to it.
|
|
Back to top |
|
|
fatrolls Novice
Age:36 Gender: Joined: Jul 25 2013 Posts: 35 Offline
|
Posted: Sun Apr 06, 2014 4:52 am Post subject: |
|
|
|
|
MacId is not MachineID lol, I added a fix patch for Linux version of SSBilling2 in the attachment all the way below
Mac ID is the network address that you can find on wireless signals.
But MachineID is actually the harddrive's serial number also called VolumeID
Ya Wine users don't accses the harddrive's serial number I think that's coded for windows only but it still allows you to change the MachineID to whatever value you want and anything less then 0X7FFFFFFF should work if it's not 0.
I think it sets it to 0 by default in Wine not sure though.
It can be from 0 to 0xFFFFFFFF in value I think it's also used signed and negative numbers and 0 as well are rejected.
I think 0X80000000 to 0xFFFFFFFF are rejected not sure.
They also got programs for changing it on windows such as http://technet.microsoft.com/en-us/sysinternals/bb897436.aspx
To see your MachineID in command prompt just type vol and it will show you it.
In your zone type to yourself in pm /*info and you'll see your macid is different then the one you see in vol command prompt command.
But simply just take the value such as
Volume Serial Number is 1234-ABCD
I made a fake one one up (don't want to reveal my macid).
Now merge it together like so.
1234ABCD
then add a 0x in front like so
0x1234ABCD
now google
0x1234ABCD to decimal
You'll see it matches exactly to *info command
FIX BELOW
open declares.h file in SS-Biller2
you'll find this
bool InvalidMachineID(long MachineID)
{
if (MachineID == 101) return false;
if (MachineID < 0) return true;
if (MachineID < 2000) return true;
return false;
}
|
101 is hardcoded to be a valid macid.
anything less then 0 (negative numbers) are invalid.
anything less then 2000 (lol) are invalid.
pretty much it's all luck/hardcoded based system.
0 seems invalid machineId too (less then 2000).
replace it all with return false;
no more invalid machine id's
you'll find in rpc.h file
s += " connecting with a hacked client. (Invalid MachineID)(";
s += GetLong(Packet->Message, 74);
s += ")";
|
which uses
if (InvalidMachineID(GetLong(Packet->Message, 74)))
|
aka that luck based stupid function, if it return true.
Then it does this Pretty much logs in user as ^Banned followed by kicking that user after 10 seconds. Also seems to add him to a ban list so he is pretty much fucked.
MakePlayerResponse(buffer, // Destination buffer
PRMEANING_ENTER, // Meaning
GetLong(Packet->Message, 70), // PlayerID
"^Banned", // Player name
NULL, // Squad name
NULL, // Banner
0, // Total Seconds
0, // Creation Year
0, // Creation Month
0, // Creation Day
0, // Creation Hour
0, // Creation Minute
0, // Creation Second
0, // Score ID
0, // Wins
0, // Losses
0, // Goal count
0, // Points
0, // Event points
0, // Extra 1
0); // Extra 2
// Send response
Packet->Source->Send(buffer, 192, true);
|
Here is a ssbilling2 Biller system patch for Linux versions removes the InvalidMachineId check.
ssbilling2-linux.zip - 145.41 KB
File downloaded or viewed 163 time(s)
Last edited by fatrolls on Mon Apr 07, 2014 6:31 pm, edited 1 time in total |
|
Back to top |
|
|
CypherJF I gargle nitroglycerin
Gender: Joined: Aug 14 2003 Posts: 2582 Location: USA Offline
|
Posted: Sun Apr 06, 2014 10:52 am Post subject: |
|
|
|
|
Thanks for the analysis, I know I got the terms mixed up but I pretty much saw the same. I wasn't sure if there was a "better" answer than allowing all machine id's thru. Guess that's the only option at this point.
|
|
Back to top |
|
|
fatrolls Novice
Age:36 Gender: Joined: Jul 25 2013 Posts: 35 Offline
|
Posted: Sun Apr 06, 2014 9:10 pm Post subject: |
|
|
|
|
anyways this ssbilling2-linux needs to be re-ported again its horrible it doesn't save or anything. just allows you to login.
|
|
Back to top |
|
|
Doc Flabby Server Help Squatter
Joined: Feb 26 2006 Posts: 636 Offline
|
Posted: Mon Apr 07, 2014 2:11 pm Post subject: |
|
|
|
|
Yeah the original biller wasn't very good...the port I wrote didn't make it any better _________________ Rediscover online gaming. Get Subspace | STF The future...prehaps
|
|
Back to top |
|
|
Doc Flabby Server Help Squatter
Joined: Feb 26 2006 Posts: 636 Offline
|
Posted: Mon Apr 07, 2014 2:12 pm Post subject: |
|
|
|
|
Yeah the original biller wasn't very good...the port I wrote didn't make it any better
|
|
Back to top |
|
|
fatrolls Novice
Age:36 Gender: Joined: Jul 25 2013 Posts: 35 Offline
|
Posted: Mon Apr 07, 2014 6:32 pm Post subject: |
|
|
|
|
Updated attachment 2 posts above with precompiled binary for CentOS Linux maybe other Linux's too, this one Saves players and has EncryptMode enabling possible.
|
|
Back to top |
|
|
|