Author | Message | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Questions about edf files
| I'm messing arround a bit with the edf files makeing an editor but before I get to deep I just want to know a couple things. 1: Didnt Vult-R hardcode a few things credits ect..what else? 2: Does'nt the edited string need to be the same amount of characters/bytes as the original? If so I'm going to put a visual max_characters function/counter on the edited string.Also does this apply to all files..I'm guessing atleast not on the curse filter!
|
Re: Questions about edf files
| I added some info to the wiki based on my findings for my client: https://eoserv.net/wiki/EDF_Data_Files. It covers the content in the individual files, does a step-by-step decoding process, and provides a complete C# code sample for decoding them. To answer your questions directly:
--- class EOSERV { Programmer | Oldbie Open source EO Client: https://github.com/ethanmoffat/EndlessClient };
|
Re: Questions about edf files
| Credits are both hard-coded and not. If an integrity check isn't passed in the EDF credits, the client will default to the hard-coded ones.
|
Re: Questions about edf files
| ethanmoffat posted: (16th Nov 2016, 08:43 pm) I wasnt talking about the output of the decoded string but an edited decoded string so if the original decoded string is "endless-online" length 14 and an operator wanted to change that string to "myserver-online" length 15. I seen your wiki topic a while back and converted the C# function you posted to decode the files to c++. I then wrote this function to encode the strings.. void EOData::Swap(char a,char b,int dw) { if(static_cast<int>(a)%dw == 0 && static_cast<int>(b)%dw == 0) { std::swap(a,b); } } std::string EOData::EncodeEDF(std::string str) { std::string ret = ""; unsigned int length = str.length(); for(unsigned int i = 0; i < length;++i) { this->Swap(str[i],str[i+1],7); ret += str[i]; if(length > 1 && i != --length) { this->Swap(str[length-1],str[length],7); ret += str[length]; } } return ret; } Thankyou the wiki page is very usefull! @Apollo.. So its like a fallback if the client detects the file being tampered with...Thankyou! Is it just the credits that are hardcoded? What is dat002.edf? "DAT001.ID{614641:145:38:4284}"
|
Re: Questions about edf files
| dat002.edf contains a checksum/hash of dat001.edf to detect any modification. It's pretty easy to figure out (like the abandoned RID of pub files) but I see no reason you should be altering the credits. Hacking/modification is great but nobody deserves more credit than the original creator. Seriously, leave the credits alone. NO private servers deserve to trespass there. --- http://sordie.co.uk http://twitter.com/@SordieEO
|
Re: Questions about edf files
| Sordie posted: (17th Nov 2016, 02:20 am) My interest began with the desire to alter a few npc dialogs specificly Law Bob and the Priest. I'm working on a project where players will have no use for a marriage system and I dont want to leave these usable resources untapped :D. I never thought about editing the credits but now that you put it that way I wont mess with the checksum or even add support for that file in the editor. It would have been nice if Vult-R built server sided code to alter the edf files. |