CS.RIN.RU - Steam Underground Community
http://cs.rin.ru/forum/

[REL] The new win32 srcds patch - SteamIDs for everyone! :)
http://cs.rin.ru/forum/viewtopic.php?f=31&t=46296
Page 3 of 9

Author:  vityan666 [ Saturday, 18 Aug 2007, 12:09 ]
Post subject: 

[shmelle]
Quote:
Cracked and legit steam users get their real ID.

Perfect. Great project for the community.

So need to patch libauthenticateuseridticketsix86.so(x=3/4) and linux support is ready?(and also write steamid.so/tdi.so ;) ) :)


shmelle, listen man... What will be happen if both of those for example will connect at once? :)
19.123.14.230
191.231.42.30

Author:  revCrew [ Saturday, 18 Aug 2007, 12:28 ]
Post subject: 

To be honest, you don't need Steam.dll and TDi.dll - it's a client steam emu.

engine.dll and SteamID.dll are everything you need to crack the server.

vityan666 wrote:
So need to patch libauthenticateuseridticketsix86.so(x=3/4) and linux support is ready?(and also write steamid.so/tdi.so ;) ) :)


I don't see how, since I'm using 2 Windows API functions, LoadLibraryA and GetProcAddress.

vityan666 wrote:
shmelle, listen man... What will be happen if both of those for example will connect at once? Smile
19.123.14.230
191.231.42.30

What do you think will happen.. Both of them will have the same ID, STEAM_ID_12314230. However this will not happen or will rarely happen. What's the probability of this, 1:10000 ?

But it's easy to fix this, all I need is a nice calculation formula. So if anyone has got an algorhytm on his mind, please post here (any programming language, i can understand math on any language)

Author:  sixcentgeorge [ Saturday, 18 Aug 2007, 13:45 ]
Post subject: 

more simple could be to start from fact the ip numbers are all belows 256 . there are four and top value is 999 because steam can have this numbers . may be solution is to add 256 to all numbers of ip , ex
19.123.14.230 could be 275.379.270.486
191.231.42.30 could be 447.487.298.286 .

Author:  revCrew [ Saturday, 18 Aug 2007, 13:54 ]
Post subject: 

Note that Steam ID is UNSIGNED LONG, it means 4 bytes. Highest possible number = 4294967295

Author:  vityan666 [ Saturday, 18 Aug 2007, 14:12 ]
Post subject: 

[shmelle]

ID is DWORD.
IP is 32 bits(DWORD) too. So it is easy to make them 1 <-> 1 :)

Lets think.

Decimal IP representation: xxx.xxx.xxx.xxx
Hex is yy.yy.yy.yy -> so we take yyyyyyyy(hex) unique number
when convert it to decimal(you have std C func for this :)) or write
your one.

EXAMPLE:

1) 19.123.14.230 -> 0x13.0x7B.0x0E.0xE6
So Unique hex is 0x137B0EE6 = 326831846

2) 191.231.42.30 -> 0xBF.0xE7.0x2A.0x1E
So unique hex is 0xBFE72A1E = 3219597854


But think enough if all this worth your time man...
ID's will not get uniqie. All modes have IP handling already.
Support for both Lin and Win is really hard(Belive me i know it :( ).
Steam.dll updates frequently.
So do it just to get pirate ID's different is really useless.
But at the end its your choice what you want to do :)

Quote:
I don't see how, since I'm using 2 Windows API functions, LoadLibraryA and GetProcAddress


Read this.
Should be enough to port :)
And use algorith i post you above. It is unique(for IP-ID) and good :)

Author:  sixcentgeorge [ Saturday, 18 Aug 2007, 14:28 ]
Post subject: 

after searches about steamid possibles numbers , there are good links
http://en.wikipedia.org/wiki/SteamID
http://fr.wikipedia.org/wiki/SteamID

one says 24 bits other 32-bit . in source of http://myjazzbar.com/hl2cmake/branches/ ... ntpublic.h it says "Steam ID structure (64 bits total)"

Author:  vityan666 [ Saturday, 18 Aug 2007, 15:50 ]
Post subject: 

Code template of my algorithm:

#define BYTE char
#define DWORD uint_32
#define STRING char *
struct t_ip_octets
{
BYTE ip_octet[4];
}

t_ip_octets * ReadIP(char *IPTxt)
{
t_ip_octets *res;
int i = 0;
malloc(res,sizeof(t_ip_octets));
if (!res) then
return NULL;
while (IPTxt[i]) do
{
... fill yourself ;)
}

return(res);
}
void OctetDecToHex(STRING *hex_octet,BYTE dec_octet)
{
int temp,temp2;
char temp3;
temp = dec_octet / 16;
temp2 = dec_octet % 16;
sprintf(&temp3,"%x",temp);
hex_octet[0] = temp3;
sprintf(&temp3,"%x",temp2);
hex_octet[1] = temp3;
}
void IPtoID(STRING IP,DWORD *ID)
{
char ip_hex[8];
t_ip_octets * ip_dec_temp;
ip_hex[0] = 0;
ip_dec_temp = ReadIP(IP);
for (i=0;i < 4;i++) do
{
char ip_hex_octet[2];
OctetDecToHex(&ip_hex_octet,ip_dec_temp -> ip_octet[i]);
strcat(ip_hex,ip_hex_octet);
}
if (ID) then
{
*ID = strtoul(ip_hex,NULL,16);
}
free(ip_dec_temp);
}

Author:  revCrew [ Saturday, 18 Aug 2007, 16:24 ]
Post subject: 

Thanks for your idea, already wrote a code that is a lil simpler that that :o

This system is not steam.dll dependant, it is completely server-side so don't worry about updates. ;)

Let me test the new function...

Author:  vityan666 [ Saturday, 18 Aug 2007, 16:29 ]
Post subject: 

[shmelle]
Quote:
Thanks for your idea

NP man ;)

Waiting with patience :)

And about unix. Did you read the page from the link i've posted?

Author:  sixcentgeorge [ Saturday, 18 Aug 2007, 17:32 ]
Post subject: 

last numbers of ip can be considereds as non important in the steamid creation because it covers few ips: 256 max
with ip like 123.234.345.456 it makes steamid_0_0_123234345
as all the goal in the workaround is to help those who are admins and want to use the admin addons with cracked server using first 3 numbers seems nice for them if they have fixeds ip
first number after steam can be the first number of last 3 numbers of ip because value is always 0 or 1 or 2 to shorten the range of possibles same steamids due to ip to less than 100


edit : there is a new steamemu that takes care of that problem ,
need the test with new engine patch ;]

Author:  revCrew [ Saturday, 18 Aug 2007, 17:55 ]
Post subject: 

Okay, I have verified that it works! Again thanks to vityan for his idea.

(As a result of this, the DLL is now twice smaller than before)

-->

# userid name uniqueid connected ping loss state adr
# 2 "unnamed" STEAM_0:0:2130706433 01:03 54 0 active 127.0.0.1:27006

Author:  sixcentgeorge [ Saturday, 18 Aug 2007, 18:03 ]
Post subject: 

ok , i did not see before you were making a dll ; my ideas were in a "patching way" / i mean "easy to handle" in asm .

Author:  revCrew [ Saturday, 18 Aug 2007, 19:30 ]
Post subject: 

OK, updated the first post cuz of this new DLL.


vityan666: I have bookmarked that site, thanks, gonna take a look at it. However, I use win API from within engine.dll, not from SteamID.dll

Author:  DoM!niC [ Saturday, 18 Aug 2007, 20:07 ]
Post subject: 

I had a problem with your Crack also has your Steam.dll GCF Support ?

Author:  wespawloski [ Saturday, 18 Aug 2007, 20:32 ]
Post subject: 

.... its a cracked dedicated server, why would it need gcf support

Page 3 of 9 All times are UTC + 3 hours
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/