PDA

View Full Version : LibEQ.a



wrongway
10-28-2002, 03:22 PM
I've been using ShowEQ for a little while now, and while its very interesting, and useful, I find myself curious about its inner workings. I guess thats the nature of the beast (linux); it starts you thinking.

Anyway, about the title. I searched for libEQ.a and it came up with about 200 posts. I tried again with "libEQ.a open source" and came up with 5, none of which answered my question.

Here is the question. Why is libEQ.a not open source?

I am very curious about this. I read in the FAQ about its not distributed with showeq because its not open source, and that makes sense, but why not just make it open source so it could be? Does it have to do with dependencies? Differing compilers? Proprietary compiler? I'm very confused about it. I've not delved deeply into programing so if you would answer I'd appreciate abstract and generic answers.

Thank you in advance.

Oh yeah, I am not saying I would particularly like to see whats inside of it, just the anomaly of it is intriguing.

--Sometimes everyone goes the:
WrongWay

bonkersbobcat
10-28-2002, 03:27 PM
Searching on "LibEQ open source" returns the following link: http://seq.sourceforge.net/showthread.php?s=&threadid=404&highlight=libEQ+open+source

There are a lot of posts there (mostly about a Java version of SEQ and libEQ), but if you read them you will get an idea about why it is not open source.

The short story is that it's a defensive technique to keep SEQ off of the Windows platform, where it would attract the attention of SOE and cause them to make life very difficult for the SEQ community.

wrongway
10-28-2002, 03:42 PM
Thank you for your edit. Still, I did not read implicitly in that as the reason it wasn't open source, only that it wasn't open source so it couldn't be used in the manner they were talking about it.

And yes, I *think* I saw that and pretty much skipped it after the introduction had little to do with my topic. Damn hijacked threads! :confused:

So basically it boils down to..

"We" figured this out, and to prevent you from figuring it out and trying to implement it on a Windoze machine, and making it easily accessible and draw Sony's attention, I am going to keep it a secret? I hoped it was something more intriguing than that. Oh well.

-- Once even I went the:
WrongWay

wrongway
10-28-2002, 03:46 PM
After more thought, I had another question:

Are the calls on libEQ.a publicly available? Again, I am not versed in any language, but, if they were, and only the methods and implementations were private, I could see how it all fits together.

Next question:

Does libEQ.a have any dependencies of its own? I mean any libraries it uses? If it doesn't, I could very well see someone implenting a way it could be used on a Windoze machine. It would be difficult, but doable.

-- Where exactly is the:
WrongWay

high_jeeves
10-28-2002, 04:00 PM
Yes, the calls on libEQ.a are public (they kinda have to be.. thats the way a library works). And yes, it has dependancies of its own. And yes, somebody COULD port it to windows, if they wanted to spend alot of time. That person would then be the one we would all thank when Sony started rotated the encryption weekly again...

--Jeeves

wrongway
10-28-2002, 04:26 PM
So.. it could be ported to windows, if they wanted to spend the time, so thats not the reason it isn't open source? If it isn't, what is? Again, I am not calling for it to become open source, nor would I understand it if it was, I am just too curious.

-- Don't ever try the:
WrongWay

Cryonic
10-28-2002, 04:34 PM
Actually that is the reason. If no one takes the time to port it, then we don't have to worry too much about SOE breaking SEQ every week.

Back when all this started, the lib was open source and someone was maintaining a Windows port of SEQ (WinSEQ). Verant started rotating the encryption weekly and so SEQ was only usable about 2 or 3 days out of a week (lag between change, then SEQ updated, then WinSEQ updated, then VI changes again, etc...).

libEQ.a was closed up (binary only release) and so the WinSEQ project publicly died (there might be non-released Windows versions that work). So closing the code had the desired effect.

bonkersbobcat
10-28-2002, 04:36 PM
If it is open source then by definition there cannot be restrictions on how the source is used (other then requiring an acknowledgement as to the parent of the derivative.) Without restriction, there would be a Windows port and we would have problems.

The other reason it is not open source is that they people who wrote it decided that it wasn't going to be open source. That is the privilege of the authors.

wrongway
10-28-2002, 04:42 PM
*laugh* That last reason is basically a ... "Cause I said so" reason which is fine, but usually isn't true.

Ok, its bascially barrier to entry type of reasoning.

We evidently could have problems, but do not because people are stepping softly in order to not attract attention. The people who are skilled enough to do a libEQ.a rewrite or port are happy in its current incarnation.

Thank you all for your replies.

-- Oops! I, did it again, the:
WrongWay

BlueAdept
10-28-2002, 06:27 PM
SEQ was originally developed by Ashran, Megaton and Draigon from HackersQuest. I had been told that orginally Everquest did not have encryption but shortly after SEQ came out, VI started encrypting certain packets. It was a 16 bit encryption and was broken quickly and the decryption routines were included in the source. Needless to say, shortly after that, someone ported it over to windows. There were several releases of WinSEQ. VI took a stand against WinSEQ and started banning people who were using WinSEQ. When that didnt work, they started rotating the encryption on an almost daily basis. Ashran's crew decided to close the source on the decryption routines to stop the WinSEQ. When WinSEQ had ceased, the encryption rotation stopped. Another WinSEQ came out a while later using the libEQ.a and the ecryption rotation started again. I think Ashran asked the person who was porting it to windows to stop so that at least one version would work.

Since then, there has not been a publically avalable WinSEQ (rumor has it that there are several versions of WinSEQ floating around but they are kept quiet).

Even though the project has changed hands (Ratt kept it alive after Ashran became too busy to handle it), the encryption has only changed 2 or 3 times, but did go from 16 bit to 32 bit (and now 64 bit? Im not sure and havent looked at it). It seems when they put out an expansion they beef up the encryption.

I am sure that if the source was released for the libEQ.a, VI/Sony would really put some effort and try to put SEQ out of business.


Wanted to add the following:

Even though the encryption has changed only 2 or 3 times, there have been a few versions of libEQ.a put out because of packet structure changes, new decryption routines to make it faster and stuff. Just because there was a new libEQ.a put out, didnt aways mean that the encryption had changed.

casey
10-28-2002, 07:14 PM
you give too much credit to ashran.

BlueAdept
10-28-2002, 09:47 PM
Originally posted by casey
you give too much credit to ashran.

I was just trying to give a little background on the history of SEQ and really only to the point of trying to show a pattern of the emergence of a Windows SEQ and the encryption changes. It was by no means a complete history on the project.

I really want to thank Ratt for picking up the project when Ashran let it go and want to thank all those who have kept it alive and well. I would have no idea how to break the encryption...that is way above my skills.

fryfrog
10-29-2002, 07:30 AM
another good reason for keeping the libEQ.a file closed source (that i don't think i've seen mentioned) is that it kees VI from knowing exactly what weakness is being exploited to decode. imagine if they could see HOW exactly we are decoding... it would (should?) be trivial for them to use the source of libEQ.a to fix what they are doing wrong.

BlueAdept
10-29-2002, 08:34 AM
Originally posted by fryfrog
another good reason for keeping the libEQ.a file closed source (that i don't think i've seen mentioned) is that it kees VI from knowing exactly what weakness is being exploited to decode. imagine if they could see HOW exactly we are decoding... it would (should?) be trivial for them to use the source of libEQ.a to fix what they are doing wrong.

It really isnt that hard to decompile it. Im sure they already know. You also have to remember that at least one of the people who used to work on the project is now a VI employee (Rowyl).

fryfrog
10-29-2002, 09:04 AM
damn, well i tried :)