Sign in to follow this  
scott967

BGLXML 1.8 vs. NewBGLAnalyze1.0 when decompiling AP files

Recommended Posts

I just wanted to post my experience when using both decompilers to examine default AP files.As a conclusion, none of them is perfect. My observations follow:1) Both will decompile taxiway signs almost always, but BGLAnalyze will decompile them wrong, turned around 180 degrees. The error is in the parameter "justification" which comes out "left" when it should be "right" and viceversa.2) BGLXML will sometimes decompile ILSs wrongly associated to the runway end (changing "primary" to "secondary" and viceversa).3) Re approaches, BGLXML just forgets to decompile the very important CF, FC and FA legs. However, in the other leg types, it spits out more parameters than BGLAnalyze. BGLAnalyze omits some key parameters in the CI leg (time or distance, it just won't compile again), and often "turndirection" in VI and CI legs.4) BGLXML will not nest NDBs inside the corresponding Airport section, making them NOT a "terminal NDB" (as they are intended to be in an AP file)5) BGLXML also corrupts the "services" section of an airport, while BGLAnalyze seems to do it correctly.I would like others to post their observations in this thread too, so we can all benefit and avoid mistakes when designing and xml-coding our sceneries.

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Thanks for the analysis. I know from experience it can be dangerous to trust either too much. There dopesn't seem to be much interest in maintaining these tools, unfortunately. Maybe for FSX.scott s..

Share this post


Link to post
Share on other sites

This:Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

Share this post


Link to post
Share on other sites

MS development staff have been well aware for quite awhile now that the development community has been doing this type of activity and they have never discouraged it that I can see. In fact, the decompilers are using what they can find in the SDK's so it's not like they are unlocking guarded secrets. The holes exist simply because the SDKs are not quite complete or have errors in them. I would think, if it really was a sore spot from MS, that we would have known long ago. My guess is that many of the developers of the decompiling software have been selected for beta teams for new versions.Art Martin

Share this post


Link to post
Share on other sites

Then why does the EULA explictly forbid it?Or is it OK to ignore the EULA on your products?

Share this post


Link to post
Share on other sites

>Then why does the EULA explictly forbid it?>>Or is it OK to ignore the EULA on your products?Are you still on this boat? I think you've made your point, but you're still wrong. It was a valiant effort, but no one cares. Not even MS.- Martin

Share this post


Link to post
Share on other sites

I agree no one cares - but it's interesting that those who don't care about infringing Microsoft's rights complain when their rights are infringed.

Share this post


Link to post
Share on other sites

I hope this will not add to much fuel to this fire, but do they also mean the BGL files with software product? You could also see a decompiler as a tool that is able to read the BGL format (just like FS reads them) and that then saves them in a different format. So you are not reverse engineering FS itself, but a file format used to exchange information.I am not 100% sure if this is the correct understanding, but it might be a nice point for discussion :).Besides that, if we use the decompilation only to see why certain things go wrong (and then try to solve that), it is not such a bad thing. It helps to improve the product. If you use the decompilation to steal data or the work of others, that is wrong of course. But I don't think anyone is encouraging that here (or should do that).

Share this post


Link to post
Share on other sites

The AFCAD utility has been around for years. It is a decompiler! Decompiles what? The APnnnnnnn.bgl airport scenery file which houses many of the Element statements that make a default airport look the way it does and function the way it does. Counting the AFCAD decompiler, that makes 3 decompilers available to us the user to enhance FS9 and the way a airport looks and works.The BGLComp2 SDK clearly says DeleteAirportThis element is used to delete an airport or part of an airport and potentially replace with new information. This element is not allowed to contain other data and must be terminated with

Share this post


Link to post
Share on other sites

Geeee...It was not my intention to start the thread to discuss legal issues.If any of you would like to have that discussion AGAIN please open another thread, thankyou. How many times has that issue been discussed? It is so boooring and unproductive....gimme a break....Comments on BGLXML vs. BGLAnalyze welcome!

Share this post


Link to post
Share on other sites

ArnoThe EULA states:"...the Microsoft software product identified above [MICROSOFT FLIGHT SIMULATOR 2004: A CENTURY OF FLIGHT], which includes computer software and may include associated media, printed materials, and

Share this post


Link to post
Share on other sites

But where is the border between decompiling and reading a fileformat that is used to exchange data? A program like AFCAD does read the information from the BGL files, is that decompiling as well? It does nothing else then BGLXML for example. It only presents the information in a graphical way instead of in a text file.This is not much different from for example a program that is able to import the Microsoft Office file formats. I don't think that is called decompiling and breaking an EULA?When you start to decompile the EXE of FS itself or start to change default BGL files, then you are breaking the copyright I think. But when you are just reading a fileformat that has the purpose to distribute information, I am not so sure.But maybe it is better to stop this endless discussion. None of us are lawyers it seems, so we will probably never reach a definite conclusion on this.

Share this post


Link to post
Share on other sites

From the relevant documentation:"BGLXML is an utility which analyzes and decompiles BGL files""NewBglAnalyze is version 1 of a disassembler for BGL-files"

Share this post


Link to post
Share on other sites

Interesting observations. Here are some of my own:NewBGLAnalyze corrupts AWOS and ASOS radio frequency type parameters. "AWOS" is changed to "ASOS", while "ASOS" is changed into a null string " ". This stops the string from compiling.NewBGLAnalyze changes 4-light PAPI displays into 2-light displays. This occurs when the parameter "PAPI4" is decompiled as "PAPI2". Note that the genuine "PAPI2" parameter is decompiled properly.Sometimes BGLXML inserts a bogus "deleteAllWindsocks" parameter into the DeleteAirport element. I have only seen this happen once. The resulting string did not compile.For what it's worth, NewBGLAnalyze seems to do a better job than BGLXML, especially with Approach elements. Neither program is perfect, but the shortcomings of NewBGLAnalyze are more easily identified in the decompiled output.Todd

Share this post


Link to post
Share on other sites

Quote:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Arno,The EULA states:"...the Microsoft software product identified above [MICROSOFTFLIGHT SIMULATOR 2004: A CENTURY OF FLIGHT], which includescomputer software and may include associated media, printedmaterials, and

Share this post


Link to post
Share on other sites

"Your argument is moot, especially since Microsoft has given us the tools to modify the scenery ourselves in the form of SDKs."Exactly, Microsoft has provided the tools, so why is there a need to infringe the EULA by decompiling stock .bgls.

Share this post


Link to post
Share on other sites

The answer I probably have in many of the aircraft I've downloaded.As far as my own scenery is concerned, I create it using BGLCOMP based on the information in the SDK and put it in ..Addon Scenery/Scenery. My aircraft in create using GMax, and FSEdit, making use of the information in the Aircraft Container System SDK.The main theme of my posts is that those who infringe Microsoft's rights are in no position to complain when someone infringes their rights. Would you agree that's a reasonable point?

Share this post


Link to post
Share on other sites

Writing of the EULA, this is what was quoted above:Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, ***except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.***So you can't disassemble, except when you can disassemble. The real question is what is "expressly permitted by applicable law"? In the US, there is some explicit language in the DMCA about reverse engineering content protection schemes, but outside of that I don't see nay reference one way or the other in copyright law. Maybe in trade secret law, perhaps?scott s..

Share this post


Link to post
Share on other sites

BGLXML provides some helpful comment lines which can point you to the offset in the file so you can look at the binary for closer analysis.scott s..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this