It's a huge file by the looks of it. >_>
Would you guys mind posting what's in it, or include seperated in furture versions? It seems to be programmed with DM or something. >_>
1
2
ID:259902
Feb 19 2005, 7:16 pm
|
|
Feb 19 2005, 7:29 pm
|
|
Sfile.cpp is short for "StackFile.cpp" I believe. If I interpretered that correctly, then it deals with all of the memory management, error handling, stuff to do with the stack (lol.), etc. (That is just from what the title says to me.) a .cpp file is a C++ source file, and seeing as how DS, DM, and DD are all programmed in C++, they also have a header file. ( Dantom: I'd suggest breaking up the source, sfile.cpp was over 2,000 lines long. ) Ramen: They don't want DS to become open-source, and by the looks of it, Sfile.cpp is THE source basically, lol.
|
In response to Evanx
|
|
Ooh, I didn't know that. >_>
I do agree though, the file is mighty huge. |
In response to Evanx
|
|
sfile.cpp handles savefiles. As Evanx suggested, it's part of the BYOND source, so no, you can't see it. :) It's also not the largest file in the source code, certainly not by a long shot. That honor belongs to the file that handles the main runtime engine.
|
In response to Mike H
|
|
Mike H wrote:
sfile.cpp handles savefiles. As Evanx suggested, it's part of the BYOND source, so no, you can't see it. :) It's also not the largest file in the source code, certainly not by a long shot. That honor belongs to the file that handles the main runtime engine. Heyhey, I didn't know it was part of the sorce. >_> I was just wondering why (sometimes) if I did something stupid I got an error in it. :p |
In response to Mike H
|
|
Is there anyway to 'crack' open this file?
~>Jiskuha |
In response to Jiskuha
|
|
Um.
A) Mike H is one of Dantom Intl's representatives. Asking him whether there's a way to crack that file is kinda dangerous. ;-) B) No. BYOND is compiled. No source code exists in an executable; just raw machine code. |
In response to Spuzzum
|
|
Spuzzum wrote:
Um. Actually, i'm going to have to go against you on B, but I won't explain why, for the sake of Dantom and BYOND's future. Then again, B would be true depending on -who- is viewing it. |
In response to Evanx
|
|
Evanx wrote:
B) No. BYOND is compiled. No source code exists in an executable; just raw machine code. An executable includes many things, including resources used, but it does not contain the source code used to compile it. Lummox JR |
In response to Lummox JR
|
|
Lummox JR wrote:
Evanx wrote: I was not implying that it did, I guess i'll explain since you do not see what I mean. You can get something from reverse engineering though, and those smart enough to understand it..No more detail :P |
In response to Lenox
|
|
Do you really think many people here are intelligent enough to reverse engineer, though? (No offense meant)
|
In response to Lenox
|
|
Lenox wrote:
Do you really think many people here are intelligent enough to reverse engineer, though? (No offense meant) You can only reverse engineer as far back as the assembler code, since it's mostly a simple one-to-one encoding process. Won't help you much, though. Decompiling back to the C++ source code, now THAT's hard bordering on impossible. Decompilers are still mostly in the realm of academics and research. They're hard to do. The few that exist only work on specific languages and specific compilers and don't do a perfect job. As long as BYOND isn't compiled using gcc, good luck decompiling it. :) |
In response to Jon88
|
|
Jon88 wrote:
Lenox wrote: (Lenox here) Aye, but did I mention anything about getting it down to the bare C++? Also, I know it's near impossible to decompile to C++ because of the lack of C++ decompilers, well, you could make your own, but it's take a while. Decompilers are still mostly in the realm of academics and research. They're hard to do. The few that exist only work on specific languages and specific compilers and don't do a perfect job. As long as BYOND isn't compiled using gcc, good luck decompiling it. :) There is a 99.9% chance that BYOND (Linux Version) is compiled in GCC, seeing as how GCC is one of the best linux comilers. Windows version, there is a 99.9% chance that it isn't. I'd guess that the windows version was compiled using either the Delphi C++ compiler, the Bloodshed (dev-c++) compiler, or the Microsoft (Visual C++) compiler. Ya know what, I'm going to take Microsoft's off the list, because of the truncated __FILE__ macro in the runtime errors, Microsoft expanded it and added [rootdir]:\dir/ect/or/y/to/source/file/file.extension, where as Dev-C++ for sure doesn't. |
In response to Sineful
|
|
Still, NOBODY learns assembler anymore. Both of my parents were part of the last group of people that were trained in it. Companies see it as useless next to languages such as C++ and Java.
Nobody decompiles executables. First of all, decompiling damn near anything, even Java, gives you almost unreadable code. Next, it doesn't decompile back to C++, you can eventually get it back to Assembler --again, it is nearly unreadable at this point. If someone is smart enough, and has the time to decompile an executable, then read the code fluently, they wouldn't do it. They'd be better off spending their time WRITING THEIR OWN PROGRAM. As for you, Lenox/Evanx, you don't know how to do this. I'll admit you know what you are talking about, but what you are talking about isn't nearly as dangerous as you seem to think it is. Just because you know how something is done, or that something can be done doesn't mean you are a serious danger to anyone. Just because I know in theory how to find exploits in firewalls doesn't mean I can do it, or that I DO it. In short, it can be done, but it is such a huge waste of time. For anyone with the intelligence/training to do it, it would be below them to harm such an inconsequential developer community such as BYOND. |
In response to Ter13
|
|
Ter13 wrote:
Still, NOBODY learns assembler anymore. Both of my parents were part of the last group of people that were trained in it. Companies see it as useless next to languages such as C++ and Java. Wrong, I know many people that are currently learning assembly, even though it's such a low level language. Hell, if you're a C++ game dev, and care about what you do, then you'll have plenty of use for assembly. Like I go to these forums of game developers often, and in a few topics, you see people suggesting to profile, and anything thats lacking speed, rewrite it in assembly to make it faster. As for you, Lenox/Evanx, you don't know how to do this. I'll admit you know what you are talking about, but what you are talking about isn't nearly as dangerous as you seem to think it is. Just because you know how something is done, or that something can be done doesn't mean you are a serious danger to anyone. Just because I know in theory how to find exploits in firewalls doesn't mean I can do it, or that I DO it. I'll admit, I've never reverse engineered an application by myself, but me and friends have. And I never saw myself as a serious threat, I was simply stating that going into the details of reverse engineering/disassembly was a topic that could be a serious threat(towards Dantom) if someone happens to get an idea and starts learning assembly, etc. (and happens to reverse engineer byond.) In short, it can be done, but it is such a huge waste of time. For anyone with the intelligence/training to do it, it would be below them to harm such an inconsequential developer community such as BYOND. Agreed. -Lenox |
In response to Evanx
|
|
I don't know if you intended to patronise me, but I do know a whole lot about decompiling. ;-)
Like Lummox JR said, you can't obtain the source code from decompiling. You can just convert the machine code into a barely more legible format. Reverse engineering BYOND would be a task that would require years to undertake. |
In response to Spuzzum
|
|
Spuzzum wrote:
I don't know if you intended to patronise me, but I do know a whole lot about decompiling. ;-) No, I did not intend to patronise you. Like Lummox JR said, you can't obtain the source code from decompiling. You can just convert the machine code into a barely more legible format. As stated here, it's barely legible, but still legible. I'd say "agreed," though. Also, I was never implying that it was the source code . |
In response to Ter13
|
|
Ter13 wrote:
Still, NOBODY learns assembler anymore. Both of my parents were part of the last group of people that were trained in it. Companies see it as useless next to languages such as C++ and Java. Nope, sorry but those of us in the engineering field do need and learn ASM, as C++ and Java are next to useless on raw hardware. Nobody decompiles executables. First of all, decompiling damn near anything, even Java, gives you almost unreadable code. Next, it doesn't decompile back to C++, you can eventually get it back to Assembler --again, it is nearly unreadable at this point. Knowing ASM i'll Agree, the code is a mess after a decompile. If someone is smart enough, and has the time to decompile an executable, then read the code fluently, they wouldn't do it. They'd be better off spending their time WRITING THEIR OWN PROGRAM. Yep, it'll be 100 times easier to make your own program in C++ and the like. As for you, Lenox/Evanx, you don't know how to do this. I'll admit you know what you are talking about, but what you are talking about isn't nearly as dangerous as you seem to think it is. Just because you know how something is done, or that something can be done doesn't mean you are a serious danger to anyone. Just because I know in theory how to find exploits in firewalls doesn't mean I can do it, or that I DO it. you got that right :) |
In response to Sineful
|
|
I'll admit, I've never reverse engineered an application by myself, but me and friends have. And I never saw myself as a serious threat, I was simply stating that going into the details of reverse engineering/disassembly was a topic that could be a serious threat(towards Dantom) if someone happens to get an idea and starts learning assembly, etc. (and happens to reverse engineer byond.) I don't see what the threat would be :P. There is no way anyone is going to do any large scale manipulation of the machine code. Most the uses of breaking down a program in ASM are to break security checks and attempt to reverse engineer various algorithms to build seperate clients that mimick various functionality. Doing this to cheat in BYOND wouldn't get you much as clients are only sent the bare minimum of data for whats in their view and one tile outside of it. |
In response to Sineful
|
|
Sineful wrote:
Ya know what, I'm going to take Microsoft's off the list, because of the truncated __FILE__ macro in the runtime errors, Microsoft expanded it and added [rootdir]:\dir/ect/or/y/to/source/file/file.extension, where as Dev-C++ for sure doesn't. Actually, the Windows version is compiled with MSVC++, just not the latest version due to some compatibility issues. |
1
2