Re: 2018. Project1999 ShowEQ Status
Just FYI - I use Zotac CI325 with 8GB of RAM and 240GB SSD running on Debian Linux as a router. It has two gige network ports - one connected to cable modem and other to an 8 port managed switch. It works better than any off the shelf routers like Netgear, Linksys, etc. ShowEQ works well off of it. Just saying because this thing can compile very fast. I also have a raspberry pi and i got put off by its ultra slow compile time.
Re: 2018. Project1999 ShowEQ Status
As I continue to dig deeper into the ShowEQ code to try and make sense out of decrypting the game stream, I am just blown away at the amount of work that people put into this program. I was going through the changelog and reading all the comments from all the people out there participating in patching little things here and there. As a kid in High School just wanting to play EverQuest on the weekends, and having your Dad handle keeping ShowEQ up and working - I had no idea what was going on to make this work! To me it seems there were people spending more time working on ShowEQ than actually playing EQ! My mind is still blown...
Re: 2018. Project1999 ShowEQ Status
For some developers, they probably did spend more time working on ShowEQ than playing EQ. I was a went to college for programming in the late 80s. As a hobby, I used to reverse engineer copy protection. It was more fun for me trying to figure out how to crack it and what the person was thinking when they wrote it, than using the actual game or program. There were easy ones to "fix" and then there were ones that had multiple checks, delayed checks, doc checks and ones that led you down the rabbit hole that took hours to figure out what they were doing.
I am sure it was similar for some of the past talent here. It was more fun to figure out what they were doing in the stream than actually playing. Unfortunately, it does take a toll and then it becomes a chore.
A lot of people here will never understand. Even though I never contributed much with the code (most I really did were struct fixes), my previous experience gave me an insight to their world. My specialty here was mainly helping people with problems. I did what I could to keep the project alive, but if we ever loose the person doing the opcodes/structs, the project will probably end unless someone else steps up since I have found I am not good at figuring it out.
Thanks for the appreciation. The current and past developers really deserve it.
Re: 2018. Project1999 ShowEQ Status
Hey BA, just to clarify...
Since this encryption was originally implemented on live years ago, an old version of ShowEQ already had the code included to handle decrypting the game stream right? So in theory if I had an old copy of ShowEQ, with some minor tweaks I could unencrypt the data right? I think I can actually retrieve some old ShowEQ files from the early 2000's... Dad never throws anything out LOL.
Re: 2018. Project1999 ShowEQ Status
Well not that easy. Years ago that was the case. I forget which one p99 uses, but I think the decryption routines are in the code but they made changes. ShowEQ originally did have the routines in it but an unspoken agreement was struck and the decryption routines were put into a pre-compiled library (libeq.a). That restriction was removed at a later point of time when Sony did not keep their word. I do not have the source to the libeq.a decryption source code. It is not in the repo so I guess they are lost. I do not think the one they use now was during the time of the libeq.a time though. I think it is one after the libeq.a times. I think they added a new .dll that made changes or additions to the decryption.
Re: 2018. Project1999 ShowEQ Status
Quote:
Originally Posted by
VallonZeker
After looking at this thread again I decided to try it myself. It took me 3 weeks to get it working. I am not a developer, though I work in IT and just code on the side in higher languages (java, php, mql) from time to time. A big fan of classic EQ I had the motivation to achieve that goal of a working ShowEQ in p99.
I come from a similar background (IT, dabble in high level languages but not much C++). I'm considering taking on this challenge just to see if I could pull it off for myself.
Do you happen to know (or would you mind checking) if your solution still works post-Green server launch (patch V52 currently)? I suspect this was a pivotal point for the P99 project and am curious if your approach in general still works before I invest the time to follow the same approach.
Thanks!
Re: 2018. Project1999 ShowEQ Status
Anyone able to make a Turnkey version of this?
Re: 2018. Project1999 ShowEQ Status
I dont think so. I was told that they would not allow a working version for p1999. They would keep pushing out an update to break it each time. I havent heard if they have changed the encryption since he released the how to but assume it would still work if you put time into it.
Re: 2018. Project1999 ShowEQ Status
Is the "OP_SendLoginInfo" packet encrypted?? When I login, and zone, I don't see this opcode anywhere in the ShowEQ logs. I can see my player's name clear-text with an opcode of 0x300, but I'm trying to obtain the XOR key to try and understand how this encryption/decryption is working. Any help would be greatly appreciated!
Re: 2018. Project1999 ShowEQ Status
Quote:
Originally Posted by
Casual
Is the "OP_SendLoginInfo" packet encrypted?? When I login, and zone, I don't see this opcode anywhere in the ShowEQ logs. I can see my player's name clear-text with an opcode of 0x300, but I'm trying to obtain the XOR key to try and understand how this encryption/decryption is working. Any help would be greatly appreciated!
Sooooooo nevermind, I figured this out. In ShowEQ GUI, there's an option under network>log>ALL PACKETS which led me astray. I had to specifically choose "World Data" to get the world.log file to generate which was located in /root/.showeq/log folder. This contained the decoded OP_SendLoginInfo packet with my XOR key. I was originally trying to just read the UDP traffic and finally realized you need ShowEQ to decode the packets into readable form.
Re: 2018. Project1999 ShowEQ Status
Is there anyone who can explain how to manually decrypt a packet with the XOR key?
Re: 2018. Project1999 ShowEQ Status
When you cast a spell in game, on ShowEQ GUI you can see your encrypted player name. I was trying to use the XOR key to decrypt this value, but for some reason I can't decrypt the first 3 characters of the name. They key must work, but for some reason I'm not able to decrypt the whole thing... Anyone have any ideas? I can get most of the name decrypted. Happy 4th.
Re: 2018. Project1999 ShowEQ Status
Quote:
Originally Posted by
Casual
When you cast a spell in game, on ShowEQ GUI you can see your encrypted player name. I was trying to use the XOR key to decrypt this value, but for some reason I can't decrypt the first 3 characters of the name. They key must work, but for some reason I'm not able to decrypt the whole thing... Anyone have any ideas? I can get most of the name decrypted. Happy 4th.
I was able to figure this out... I think I understand better when people say its a "rotating" XOR, as the key starts at the beginning and then starts over, or "rotates" over and over till the end of the data. When I decrypted my character name, I needed to include a few additional characters of the same key to properly decrypt the whole name. I think I'll make a YouTube video demonstrating how this works, as you're never going to get this to work if you don't understand how P99 is obfuscating the game stream. Watching a 5 minute video on how XOR works was really helpful (https://www.youtube.com/watch?v=xK_SqWG9w-Y). This guy has a very simple video on how XOR works in general.
Re: 2018. Project1999 ShowEQ Status
Re: 2018. Project1999 ShowEQ Status
Quote:
Originally Posted by
BlueAdept
Good to know. Thanks.
BA - do you know how to debug the ShowEQ code with a saved packet capture like Slippery Slope explained?