TOM_RUS
-
Posts
164 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by TOM_RUS
-
-
Actually you can, but this can't be enabled from server side for normal client. Only GM client has such functionality and it was never leaked. But you can use different memory hacks available on the net that provide such functionality.
-
how to compute crc_hash? I can't find any reference from mangos source code. anyone could help me?
,
Why you even need that? It's not useful anyway and different for each client build.
-
Do you have some info about the RSA key used (modulus size, public key) and how it is used ?
If the key size is small enough, it could be brute-forced (see distributed.net efforts... and now, we habe more powerful computers + CUDA)
Also, even strong crypto can be defeated if used in a wrong way...
If we have a packet with only a few bytes crypted (and useful), we could aswell bruteforce a crypted value which, when decrypted leads to the desired value for these bytes... which could ask much less work than reversing the key.
Modulus size is 256 bytes (2048 bit), exponent size is 4 bytes.
-
Hi guys,
I'm trying to make this work with wine on ubuntu 10.04. I have do the following:
- Installed wine and winetricks
- Installed the vcrun2010s dlls with winetricks (to get msvcp100.dll)
- Compile and copy the binaries and dlls from windows to ubuntu.
But when I try to run wardend.exe from terminal it gives me some errors:
[email]user@user-desktop:~/.wine[/email]/dosdevices/c:/Program Files/wardend$ wine wardend.exe Trying to load PE image for unsupported architecture (AMD-64) err:module:import_dll Loading library MSVCP100.dll (which is needed by L"C:\\\\Program Files\\\\wardend\\\\ACE.dll") failed (error c000007b). err:module:import_dll Library ACE.dll (which is needed by L"C:\\\\Program Files\\\\wardend\\\\wardend.exe") not found Trying to load PE image for unsupported architecture (AMD-64) err:module:import_dll Loading library MSVCP100.dll (which is needed by L"C:\\\\Program Files\\\\wardend\\\\wardend.exe") failed (error c000007b). err:module:LdrInitializeThunk Main exe initialization for L"C:\\\\Program Files\\\\wardend\\\\wardend.exe" failed, status c0000135
So, the "Trying to load PE image for unsupported architecture (AMD-64)" is because I have compiled for win32 and my ubuntu is x64, isn't it?
But, anyone knows what's happening with MSVCP100.dll and ACE.dll? I have ACE.dll in the same folder with wardend.exe and I have copied it in System32 to be sure. Anyone was able to get this working on Linux? Any tips, advices? I'm not used to wine
Of course, thanks for the patch. It looks very well ^^
Are you sure your windows binaries compiled as x86? Because it looks like they aren't. I guess it's better to look for similar errors on unix/wine forums.
-
when we can use this in linux?
You can try run it in Wine, may be it work. It will never work on unix natively.
-
are you sure that it's really tries to reconnect?
Probably not if you first start mangos and then wardend. But I haven't checked in code how reconnection work in this case.
-
Btw I don't think we can say it's a big traffic, no packet reach the 1KB size currently.
Actually warden packets can't be bigger then 512 or 1024 bytes length (warden module has two fixed size internal buffers 512 bytes length both where it stores strings and warden data).
-
In this case, some clients can be kicked because of some problems to synchronize between mangosd and wardend
This is because data stream encryption is desynchronized. You have to do both encryption and checks in either wardend or mangosd to fix this.
Also
The easiest way to fix this problem will be move all cheat checking code from wardend to mangosd, and use wardend only to get encryption keys... It will also reduce useless network traffic between wardend<>mangosd and make it faster overall.will eliminate desync problem.
-
The easiest way to fix this problem will be move all cheat checking code from wardend to mangosd, and use wardend only to get encryption keys... It will also reduce useless network traffic between wardend<>mangosd and make it faster overall.
-
port to Linux.
Will never happen.
-
this means server can send and execute arbitrary code on client?
No. Client won't run random crap. All modules are RSA signed and validated by client.
-
May be it's time to move it to public section? I've done limited testing and it seems to work
if (memContent[i]!=checkList[i].mem->Result[pos]) valid = false; // It returns false because I need to have proper result stored for 3.3.5
I changed it to "false" and haven't got kicked, I guess you already have proper data in DB.
Also your MEM_CHECK and FILE_CHECK client structs probably wrong for cases where "memory can't be read" or "file doesn't exist".
-
About MPQ file check, how to check it fully?
I don't want to extract the MPQ to check all the files and this check is only for people that change the textures, do we care?
But hes I will test the result, not the SHA1, or I can put some SHA1 of files in the DB but I doubt it is useful.
Do you have other idea for the SHA1?
For grammar, I will check. When I am tired, my English is horrible
Cheaters can change whole game world, not just textures. It's not that hard to put SHA1 of the files in DB in addition to file names. This can be useful for someone.
-
You seems to be missing MPQ file check validation (client returns result + SHA1 of the requested file). Also I saw few grammar typos.
-
Memory check are not validated too (so I accept anything) because I don't know what the client returns.
Client returns n bytes from memory address specified in cheat check packet. So you can just query your client with all mem checks and store results. If you receive some different result, something is wrong, as it's mostly used for checking read only code segment. Ofc there's some checks for data segment as well (like wall climb angle, gravity etc...)
Timing are not validated because I don't know how to compute the client tick count from the server. I simply accept any value.Client returns it's tickcount in CMSG_TIME_SYNC_RESP packet.
-
there are two kinds of different login algorithm.
Correct. First one is Grunt login and second is Battle.net login. Battle.net login can't be used in mangos due to RSA server signature check in client.
-
because as i read in DBC not include this event for future times. So 3.x client can't show it. This is impossible fix from server side.
Actually, I think it's possible to send Holidays data using SMSG_CALENDAR_SEND_CALENDAR. This opcode has uint32[26] array and two uint32[10] arrays similar to Holidays.dbc. I think we can take data from 4.x Holidays.dbc and send them in SMSG_CALENDAR_SEND_CALENDAR. Ofc that's only theory, I haven't tried to do that...
-
You can use lua APIs:
ReportBug("description")
ReportSuggestion("description")
CMSG_BUG struct (same as in master branch):
uint32 type; // 0, 1 - bug or suggestion uint32 data_len; string data; // some additional data, like map, character, system info, coords, zone, auras etc... uint32 desc_len; string desc; // description given by user
-
There's no ETA.
-
Player positions are sent for out of range group members in
void Group::UpdatePlayerOutOfRange(Player* pPlayer)
and unless your fork heavily modified it should work fine.
-
No one said it's not possible. Closed.
-
Yeah, very annoying.
-
Nice. But why do you store values as uint64+uint32 instead of array uint32[3] like it supposed to be?
-
It has nothing to do with "Max allowed socket connections 1024". Read next two lines.
[Fixed] Auction sorters
in OldBug reports
Posted
This line was removed:
You both either using some custom patch or have merge error.