Author |
Message |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Mon Feb 23, 2004 6:01 pm Post maybe stupid Post subject: |
 |
|
|
|
I've got a question: Why does every application generate the checksum out of "subspace.exe" instead of just including the instant checksum which is ready to be sent out together with other checksums which have to be generated (like the one of the map, settings, etc.)? |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Mon Feb 23, 2004 6:14 pm Post maybe stupid Post subject: |
 |
|
|
|
It's not a fixed value. The checksum is calculated from a key the server sends which is combined using feedback with the data being checksummed. So you always need the raw data available. My bots embed the parts of the EXE that it needs as data, so it doesn't have to open subspace.exe as an external file. _________________ 4,691 irradiated haggis! |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Mon Feb 23, 2004 9:32 pm Post maybe stupid Post subject: |
 |
|
|
|
Learn C. Come back in a year. _________________ Hyperspace Owner
Smong> so long as 99% deaths feel lame it will always be hyperspace to me |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Feb 24, 2004 5:26 am Post maybe stupid Post subject: |
 |
|
|
|
Mr Ekted wrote: | It's not a fixed value. The checksum is calculated from a key the server sends which is combined using feedback with the data being checksummed. So you always need the raw data available. My bots embed the parts of the EXE that it needs as data, so it doesn't have to open subspace.exe as an external file. |
You have an EXE-checksum, a MAP-checksum, etc. and the EXE-checksum is a fixed value as far as I know. It's combined with the server key. So what? I can also combine a fixed number with the server key so that it changes when the server key changes.
I'll use this VIEenc plugin now so I don't have to care about encryption and then I'll try to send a valid 0x09 packet. I'll see what happens. I'm just too busy at the moment to try it out immediatelly. |
|
Back to top |
|
 |
Jason Novice

Age:41 Gender: Joined: Feb 05 2004 Posts: 57 Offline
|
Posted: Tue Feb 24, 2004 7:16 am Post maybe stupid Post subject: |
 |
|
|
|
Dude, just go off and do some work on this for awhile. You come back to these forums and post what you're up to like a radio announcer would do a play-by-play of a baseball game. It's not necessary. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue Feb 24, 2004 11:46 am Post maybe stupid Post subject: |
 |
|
|
|
Qndre wrote: | You have an EXE-checksum, a MAP-checksum, etc. and the EXE-checksum is a fixed value as far as I know. It's combined with the server key. So what? I can also combine a fixed number with the server key so that it changes when the server key changes.
I'll use this VIEenc plugin now so I don't have to care about encryption and then I'll try to send a valid 0x09 packet. I'll see what happens. I'm just too busy at the moment to try it out immediatelly. |
Every time you ask me a question, and I answer, and you disagree, you come back asking why your way doesn't work. Then you realize I was right 7 pages ago. Learn from your mistakes if you want help. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Feb 24, 2004 11:52 am Post maybe stupid Post subject: |
 |
|
|
|
Yes. As for my physics engine I posted in SSforum.net: http://www.ssforum.net/index.php?showtopic=2968
Catid wrote: |
Qndre seems to be rather annoyed at all the poo-pooing.
It's a solid idea based on established physics approximations, and I'd love to see an implementation of these things in Continuum. Eh, mainly just for Metal Gear.
|
So you see not everyone thinks that my idea is trash.
I'll take this advice:
Quote: |
Every time you ask me a question, and I answer, and you disagree, you come back asking why your way doesn't work. Then you realize I was right 7 pages ago. Learn from your mistakes if you want help.
|
|
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue Feb 24, 2004 1:13 pm Post maybe stupid Post subject: |
 |
|
|
|
No one said your idea was bad. That thread on ssofurm degraded into a discussion of how to implement drag, if drag should be used, how SS/Cont currently work, various arena settings, etc. This is why I said, "Is everyone discussing the same topic here?". However, it's still rather pointless for you to be posting code for us; those who would add new features would be able to do so in a much more efficient way, and in a way that integrates with all the other existing physics. Simply suggesting that a friction setting be added for ship would be sufficient. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Feb 24, 2004 2:08 pm Post maybe stupid Post subject: |
 |
|
|
|
OK. I suggested catid to shorten his checksum algorithm. And he did. And he open-sourced it.
Quote: |
Hello. Qndre was talking with me today, and he mentioned that the VIE EXE checksum generator looked like it could be done without the actual EXE file. So, i wrote this PoC. Can someone check it for me?
Uint32 generateEXEChecksum(Uint32 key)
{
Uint32 part, csum = 0;
part = 0xc98ed41f;
part += 0x3e1bc | key;
part ^= 0x42435942 ^ key;
part += 0x1d895300 | key;
part ^= 0x6b5c4032 ^ key;
part += 0x467e44 | key;
part ^= 0x516c7eda ^ key;
[..]
|
Thanks for telling my name but it's still your algo, catid. I only had the idea. |
|
Back to top |
|
 |
nintendo64 Seasoned Helper

Age:40 Gender: Joined: Dec 01 2002 Posts: 104 Location: Dominican Republic Offline
|
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Feb 24, 2004 3:03 pm Post maybe stupid Post subject: |
 |
|
|
|
Which idea was whos? It's simple:
Quote: |
Including parts of the exe was Mr. Ekted's idea.
Just take a constant and combine it with the key later (without having the raw data) was mine.
Mr. Ekted wrote: |
So you always need the raw data available.
|
|
|
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue Feb 24, 2004 3:55 pm Post maybe stupid Post subject: |
 |
|
|
|
Qndre, you are like a child walking up to a guy building a skyscraper. You hold out your tiny hand containing a piece of metal and say, "You should use this in your building." And when the building is complete you say, "See. Those girders were my idea." You are way out of your league to be suggesting code here or on ssforum. Use them as a way to learn, stop pretending you are trying to teach anything, and you will find people more receptive. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Feb 24, 2004 4:27 pm Post maybe stupid Post subject: |
 |
|
|
|
Yes, OK. I'm far from being an experienced programmer. But one thing I really don't understand is one thing which is related to VIE encryption. I give the server an encryption key in my 00 01 core packet. But after the spoof check he sends a 00 02 core packet back which is also containing an encryption key (look at the packetlist). Which key should I use for what? |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue Feb 24, 2004 5:05 pm Post maybe stupid Post subject: |
 |
|
|
|
00 02 is the connection reply packet. If it accepts your key it will reply with the negative value. Use your key to encrypt. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Feb 24, 2004 5:10 pm Post maybe stupid Post subject: |
 |
|
|
|
Mr Ekted wrote: | 00 02 is the connection reply packet. If it accepts your key it will reply with the negative value. Use your key to encrypt. |
Catid in ICQ wrote: |
Catid (10:48 PM) :
the 00 02 contains the REAL encryption key that you use.
[..]
Qndre (11:07 PM) :
Mr. Ekted told me to use the key in the 00 01 core packet to encrypt not the one in the 00 02 packet. You said I should use the one in 00 02 , right?
Catid (11:09 PM) :
yeah
Qndre (11:09 PM) :
I'll tell him.
|
(Time is GMT + 1)
Why do I ask if I have to try out everything on my own?  |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue Feb 24, 2004 5:23 pm Post maybe stupid Post subject: |
 |
|
|
|
Ooops, he's right. I typed it without checking. I remembered it backwards. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Wed Feb 25, 2004 9:50 am Post maybe stupid Post subject: |
 |
|
|
|
k so CatID was right. Thanks for all your help. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Sat Mar 06, 2004 8:35 am Post maybe stupid Post subject: |
 |
|
|
|
WOW! First great success!
Now my program has five modules and it works a bit. I can log on to VIE and ForceContinuum zones (Just set the client version to CONTINUUM in the 00 01 core packet and to VIE in 09 game packet - I can use VIE encryption on ForceContinuum zones now! Is it a bug? Nice bug! ). Then I get a huge data-flood of reliable-packets, chunks and clusters. I'll have to enhance my handler since it doesn't handle much packets, yet.
So clusters, chunks and reliable packets are difficult to handle? But I'm lucky to get help from Catid (THANKS) .
So... You still think it's impossible?
_
PS: I don't know how far I get with this method because maybe server kicks me out later if it recognizes that I am NOT Continuum client but VIE. Don't know but I've got many options in my software so I can log on using VIE signature as well. |
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Sat Mar 06, 2004 11:52 am Post maybe stupid Post subject: |
 |
|
|
|
In a ForceContinuum zone, VIE clients can probably stay in spec, but cannot get in a ship.
If the server has security checks turned on, you may get kicked for not returning the correct checksums and stuff.
Also if you miss too many reliable packets you will probably get kicked off the server for 'no data' or something. Since (with vie enc) packet headers aren't encrypted, it is easy to change the 0x03 to an 0x04 and send back the first 6 bytes as the acknowledge. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Sat Mar 06, 2004 2:24 pm Post maybe stupid Post subject: |
 |
|
|
|
Some zones allow VIE in spec mode. If a given zone does not, it will boot you when you try to talk to it using VIE. Try SSCX Powerball as a good test...but not too many times, we get sysop warnings. |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Sat Mar 06, 2004 3:19 pm Post maybe stupid Post subject: |
 |
|
|
|
Smong wrote: | In a ForceContinuum zone, VIE clients can probably stay in spec, but cannot get in a ship.
If the server has security checks turned on, you may get kicked for not returning the correct checksums and stuff.
Also if you miss too many reliable packets you will probably get kicked off the server for 'no data' or something. Since (with vie enc) packet headers aren't encrypted, it is easy to change the 0x03 to an 0x04 and send back the first 6 bytes as the acknowledge. |
Yes. Reliable packets aren't computed by my client yet but it sends out an ACK packet so that's no problem. Client also responds to ping but doesn't give position packets and security checksums yet. This will be the next step.
Quote: |
Since (with vie enc) packet headers aren't encrypted, it is easy to change the 0x03 to an 0x04 and send back the first 6 bytes as the acknowledge.
|
No need to do this because I can implement encryption using Catid's DLL (will be replaced by my own plugin later but thanks for that).
And Mr Ekted - I'll try it if I am able to stay on my own server without getting kicked (yes - a few seconds after arena login I get kicked out), OK? |
|
Back to top |
|
 |
Qndre Server Help Squatter

Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
|
Back to top |
|
 |
nintendo64 Seasoned Helper

Age:40 Gender: Joined: Dec 01 2002 Posts: 104 Location: Dominican Republic Offline
|
Posted: Sun Mar 07, 2004 12:50 am Post maybe stupid Post subject: |
 |
|
|
|
Qndre do this for a completely Continuum-only server.
First,
On server.ini
AllowVIEClients=0
ForceContinuumOnly=1
On server.cfg
[Misc]
ContinuumOnly=1
i don't remember others if you have all three active try your "trick" and see if it works. I'm pretty sure what smong and ekted debscribed is truth.
Btw remember what i said about sysop and smod access they can still enter EVEN IF IT ISN'T ON VIP.
Yes indeed about the Simple Checksum or Position Packet Checksum, simple xor.
function TSS.Poke03ChecksumAt0A(const Packet03:String): String;
var
n: LongWord;
c, Tot: Byte;
begin
Tot := 0;
for n := 1 to $16 do
begin
c := OrdInt(Copy(Packet03,n,1));
if n = 11 then c := 0;
Tot := Tot xor c;
end;
Result := Copy(Packet03,1,10) + Chr(Tot) + Copy(Packet03,12,Length(Packet03)-11)
end; |
-nintendo64 |
|
Back to top |
|
 |
divine.216 Guest
Offline
|
Posted: Sun Mar 07, 2004 4:59 am Post maybe stupid Post subject: |
 |
|
|
|
People beginning projects to write new clients is as passé as people writing their own bot core was a couple years ago.
And why do you unoriginal idiots begin your projects repeating the same shit (...familiarization with silly nuances of net protocol...bitching about priitks tightfistedness with all things cont... etc.) that's been done tens of times by people who can't possibly be less experienced than you? READ FIRST THEN ASK.
All these stupid redundant questions and answers largely end up being thinly veiled pissing contests between people who'd like to hide their uselessness.
It's nice to have some open discussion on these subjects, but it gets old seeing people needlessly and hopelessly repeat things so that they can say that they did their project alone. |
|
Back to top |
|
 |
Doggeti Server Help Squatter

Age:41 Gender: Joined: Jan 12 2003 Posts: 297 Location: Germany Offline
|
Posted: Sun Mar 07, 2004 8:55 am Post maybe stupid Post subject: |
 |
|
|
|
Here's a little question in between:
The first byte in a server request packet is 00, right? So you do msg[0] = 0x00;
Now, if msg is a char-array 00 is also 0 or '\0', isn't it? So if you send this message to the server wouldn't it stop right at the first byte?
I don't understand how this can work. _________________ Expect the worst but hope for the best. |
|
Back to top |
|
 |
|