Decoding MBX files

3,057 views
Skip to first unread message

Gentreau

unread,
Apr 10, 2007, 9:57:20 AM4/10/07
to MapInfo-L
Hi list,

Having seen references to the mbxver utility, and seeing that it is
able to identify the specific version of MI required to run an MBX. It
seems that it is possible to read and potentially reverse-engineer an
MBX file.

What I would like to know is how secure from plagiarism is anything
written as an MBX?
Is it possible that an application representing 100's of hours of work
could be plagiarised copied or sabotaged by anyone with a hex editor?

Is it necessary to write in another language and call the MI API to
maintain control over any potential intellectual property?

Any thoughts or comments welcome.

Thanks
Gentreau.

Bill Thoen

unread,
Apr 10, 2007, 11:34:49 AM4/10/07
to mapi...@googlegroups.com
Gentreau,
There is at least one decompiler (used by StopWatch Maps only to help
owners recover their lost source code) and one rather complete document
describing the structure of the MBX file extant, so if you are worried
about security, be aware that it's _possible_ to decode an MBX file. For
that matter, there is no compiled code in any language that's immune to
decompilation. The only differences are how close to the original level
of code abstraction can you get. An example of what I mean is, can you
recover

Print "Hello World!"

or does it come back looking something like this?

mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset hello_message
int 21h
mov ax,4C00h
int 21h

The first is a lot easier to understand than the second, even though
they mean the same thing to the computer. The first is a lot bigger
threat to your intellectual property than the second, but if the price
is right, your code is not secure even in the second case.

Unfortunately, the MBX file can be decompiled nearly to the first level.
There are some things you can do to make it harder for a software
cracker to understand, and thus "raise the price". First, you could move
critical sections of code to a DLL. Not only would this run faster than
MapBasic, but it can only be decompiled to assembler code. Second, you
could write an "obfuscator" that would pass through your original source
code, renaming variables and procedure names to things like proc001,
proc002, var001, etc. I'm slowly working on such a solution that does
this directly in the MBX file, and renames procedures and variables that
are referenced by memory address to blanks, so that even if the code is
decompiled, it won't recompile (MapBasic can't parse blank symbols). If
I ever get it done, I'll Open Source this code, but in the meantime you
could do a similar thing reprocessing MapBasic source code instead of an
MBX.

In reality, though it is possible to reconstruct high-level source code
from an MBX (minus any comments), it's still hard to do. Only people
with some skill (and presumably with some responsibility) know how to do
this currently, so I don't think there's a monkey out there with the
keys to the banana plantation... yet. But it's only a matter of time now.

- Bill Thoen

Gentreau

unread,
Apr 10, 2007, 12:06:51 PM4/10/07
to MapInfo-L
Bill, thanks very much for the comprehensive reply.

Fortunately, I don't think the code I'm writing is valuable enough to
anybody in the industry at which it is aimed to bother cracking it,
but it is definitely worth knowing what is and isn't possible.

Do you know where one could obtain a copy of that document which
describes the MBX extant?
That may help me to see what is possible to hide.

Thanks
Gentreau.

> > Any thoughts or comments welcome.- Hide quoted text -
>
> - Show quoted text -

Uffe Kousgaard

unread,
Apr 10, 2007, 12:22:47 PM4/10/07
to mapi...@googlegroups.com
From: "Gentreau" <goo...@gentreau.com>

>
> Do you know where one could obtain a copy of that document which
> describes the MBX extant?

The author has so far decided not to make it public to prevent any misuse.
Of course this may change in the future.

And I'm not the author :-)

Regards
Uffe Kousgaard

Gentreau

unread,
Apr 10, 2007, 4:21:34 PM4/10/07
to MapInfo-L
Uffe, I'm very pleased to hear that, hopefully it remains private as
long as MI retain the mbx format.

Gentreau

nicholas....@mainroads.qld.gov.au

unread,
Apr 10, 2007, 6:41:00 PM4/10/07
to mapi...@googlegroups.com
> Hi list,

> Having seen references to the mbxver utility, and seeing that it is
> able to identify the specific version of MI required to run an MBX. It
> seems that it is possible to read and potentially reverse-engineer an
> MBX file.

Actually, it is possible to read and potentially reverse-engineer
practically any compiled software, mbx or otherwise.

> What I would like to know is how secure from plagiarism is anything
> written as an MBX?
> Is it possible that an application representing 100's of hours of work
> could be plagiarised copied or sabotaged by anyone with a hex editor?

Yes. But this is not unique to MBX. All software authors have this
issue to face.

> Is it necessary to write in another language and call the MI API to
> maintain control over any potential intellectual property?

Switching to another language does not guarantee control.

> Any thoughts or comments welcome.

> Thanks
> Gentreau.

nick


************************************************************
Opinions contained in this e-mail do not necessarily reflect
the opinions of the Queensland Department of Main Roads,
Queensland Transport or Maritime Safety Queensland, or
endorsed organisations utilising the same infrastructure.
If you have received this electronic mail message in error,
please immediately notify the sender and delete the message
from your computer.
************************************************************

Warren Vick, Europa Technologies Ltd.

unread,
Apr 10, 2007, 7:07:41 PM4/10/07
to mapi...@googlegroups.com
> Actually, it is possible to read and potentially reverse-engineer
> practically any compiled software, mbx or otherwise.

That's a scary claim and certainly needs some qualification. It is of course
possible to read any native machine code, in the more human-readable form of
mnemonic code, and figure out what's happening. The goal in these cases is
usually to reverse engineer an algorithm or figure out how performance is
achieved. Fortunately this is quite difficult and only hardcore hackers will
attempt it, if the reward is big enough (or they are sad enough). With fully
compiled languages like C you cannot see variable names, etc.

Moving to "semi-compiled" languages, like Java and MapBasic, these are
compiled to an intermediate code and executed on a runtime environment.
These are much easier to decompile and its even possible to get variable
names out, which are often helpful for the reverse engineer. Java has tools
like "obfuscators" to scramble variable names, but as far as I know, nothing
exists like this for MapBasic - nor is it likely since many argue that MB
is, although still very useful, somewhat beyond it's shelf life when
compared to modern development languages and environments.

Personally, when I heard about the StopWatch maps decompiler, it was obvious
that either someone had very cleverly reversed engineered the MBX binary or
some inside knowledge had leaked from MapInfo - perhaps smuggled out in the
mind of a departing employee. Either way, we don't do anything IPR-sensitive
in MapBasic any more. Certainly MB is fine for extending Pro with a basic UI
backing on to DLLs for functionality. Indeed, many applications need the
performance from a DLL written in a stronger language anyway.

Regards,
Warren Vick
Europa Technologies Ltd.
http://www.europa-tech.com


Gentreau

unread,
Apr 11, 2007, 8:49:16 AM4/11/07
to MapInfo-L
Thanks very much to all who have replied, I wonder if I can ask a
follow-up to this regarding using DLLs.

I have experience writing in C but little in C++ or C#.

So firstly; should I be able to write some parts of my code in C and
compile it into a DLL?
If so, do I just call the function name within the DLL from my MB code
in the same way that I call a Windows API ?

Regards
Gentreau.

On Apr 11, 1:07 am, "Warren Vick, Europa Technologies Ltd."

Bill Thoen

unread,
Apr 11, 2007, 9:36:08 AM4/11/07
to mapi...@googlegroups.com
Gentreau wrote:
> Thanks very much to all who have replied, I wonder if I can ask a
> follow-up to this regarding using DLLs.
>
> I have experience writing in C but little in C++ or C#.
>
> So firstly; should I be able to write some parts of my code in C and
> compile it into a DLL?
> If so, do I just call the function name within the DLL from my MB code
> in the same way that I call a Windows API ?
>
Yes to both questions. You can download the free lccWin32 package as
your C compiler (it can build DOS and Windows apps as well as DLLs) or
you can use Microsoft's if you have it. Compile your DLLs using the
stdcall convention (not the usual C style cdecl) and then you can call
them just as you would any Windows API function.

Bill Thoen

unread,
Apr 11, 2007, 11:08:50 AM4/11/07
to mapi...@googlegroups.com
I've posted a small but complete example (with source code) of building
a DLL for MapBasic at ftp://ftp.gisnet.com/pub/MBDLL_Test.zip.

Run Make.bat to build the DLL using Microsoft's C compiler. If you're
using a different compiler change the switches to appropriate values.
The critical one is /Gz of course, which means, "Compile using stdcall
convention." If you're compiling form a DOS window, you might need to
run vcvars32.bat first to set cl's environment variables. If you know
how, you could also build this from the VC IDE as well.

The DLL (in MBDLL_Test.c) contains one function, AvgPoint() that
calculates the average point from a collection of points. The MapBasic
code converts a table of points to an array of floats with the x-value
preceding the y-value and passes these to AvgPoint(), which calculates
the mean of the x and y values and returns that result. The returned
point appears in the map window as a blue point in the cosmetic layer.

The file MBDLL_Test.def sets the names of the exported DLL functions.
It's optional, but without it, you get "decorated" functions, i.e.
AvgPoint() would have to be called as _AvgPoint@12() or something like that.

This is a simple example and doesn't contain a lot of error checking or
portable code conventions, but the point was to keep it simple. I'm not
really expert at this yet, and though I may know enough to make it work,
I'm sure there's better ways to code this. Also, in a real application,
you might do better to pass points via a file rather than an array,
because MapBasic is so limited in array memory capacity.

Have fun!

- Bill Thoen

Sancarn

unread,
Jan 16, 2018, 10:24:41 AM1/16/18
to MapInfo-L
@Bill, I know this is rather a long time (10 years later!). Do you by any chance have a link/copy of the "one rather complete document describing the structure of the MBX file extant". Recently I started a MapBasic IDE written in JavaScript and it'd be super awesome if I could also make a MapBasic compiler for it! So if you had a copy of the document that'd be really helpful!

Thanks
~Sancarn

Warren Vick

unread,
Jan 16, 2018, 10:36:35 AM1/16/18
to mapi...@googlegroups.com
  • a MapBasic IDE written in JavaScript

 

Sorry Sancarn, but I think this makes as much sense as building a MapBasic IDE out of Lego.

 

For those who don’t like the native MapBasic IDE, there have been attempts to graft MapBasic to other editors. Some are better than others. I think trying to build your own compiler into that IDE is a bit pointless. It’s not easy (I wrote as part of a CS degree a long time ago), is unlikely to reliably keep up with the latest Pro features and involves a massive leap of faith for users to trust your compiler (and that it will not harm them by inserting malicious code) over the definitive one… which is free. I can’t see the upside.

 

Just because you can do something, doesn’t always make it a good idea!

 

P.S. Does the MapBasic editor still not have a line delete?

 

Regards,

Warren Vick

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Andy Foy

unread,
Jan 16, 2018, 11:17:08 AM1/16/18
to MapInfo-L
Hi

Do you know there is already an excellent MapBasic IDE out there ... see https://mustafaozcetin.wordpress.com/mapbasic/mapbasicide-en/

Regards
Andy

Bill Thoen

unread,
Jan 16, 2018, 12:51:59 PM1/16/18
to mapi...@googlegroups.com
10 years is a long time and the language has moved on. That file is so old now I think I tossed it long ago. I know there have been changes in the MB structure that make that documentation obsolete anyway. It flat-out doesn't work with any code beyond version 9 (or thereabouts). So sorry, but it's moldering on the ash-heap of History now.

Plus Andy is right. Mustaffa's IDE is pretty good. Unfortunately, he's moved on as well, and isn't planning any new releases in the near future, but what it does now is still pretty useful. (I still use it, because it is still so much better than anything else.)

If I were you, I'd look into how a BASIC compiler is built, and if you get through that, then next try compiling some code and look at the results with a hex editor.

Good Luck!
Bill Thoen

Richard Greenwood

unread,
Jan 16, 2018, 2:50:21 PM1/16/18
to mapinfo-l
On Tue, Jan 16, 2018 at 8:36 AM, Warren Vick <wv...@europa.uk.com> wrote:
  • a MapBasic IDE written in JavaScript

 

Sorry Sancarn, but I think this makes as much sense as building a MapBasic IDE out of Lego.


JavaScript isn't unreasonable. The recently released pgAdmin4 is written in JavaScript. If you need to run on multiple platforms it's not a bad choice. There are a lot of front-end libraries (obviously) and the back-end NodeJS ecosystem is growing like crazy.  You can run it standalone in a runtime to give a native feel or client-server in a browser to extend your reach to devices like Android, Chrome OS, iOS, etc.

All that said, it will be a lot harder than doing it in some MS Visual Studio environment and you'd still be married to a million Microsoft dependencies. I don't see a lot of need for cross platform in MapInfo land as you're still going to need a Windows computer to test your work. And as noted in another email, there is already a nice 3rd party IDE.

So Sancarn - are you looking for a better IDE or a cool JavaScript project? If it's an improved IDE you might think about contributing to the existing 3rd party one. If it's a cool JavaScript project, well come on over to the Open Source geo-spatial camp where you'll find plenty of kindred spirits.

Best regards,
Rich

 

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Richard W. Greenwood, PLS
www.greenwoodmap.com

Sancarn

unread,
Jan 16, 2018, 4:37:55 PM1/16/18
to MapInfo-L
So let's start at the top and work our way down!

> Sorry Sancarn, but I think this makes as much sense as building a MapBasic IDE out of Lego.

Really? Maybe you are just not up to scratch with JavaScript in general as there have been many IDEs which exist already built totally with JavaScript. For an example, C9.IO, which is an amazing IDE which is written in HTML, CSS and JavaScript with support for over 140 languages. Here's an image of someone editing some Java code from within C9: https://i.stack.imgur.com/qAErq.png

I'd of course be re-using that work, as they also released a code editor library called ace which allows users to implement their own code editors into their own page. I've already been gradually building a MapBasic syntax highlighter for the ace editor (note this is one of those 'ancient' projects of mine also)

> It’s not easy

I'm not particularly concerned with this, personally. I have already made numerous transpilers and I am learning more and more about it as I go along. In fact, the technical challenge actually makes it better as it is more interesting for me, perhaps because it boosts my ego.

> involves a massive leap of faith for users to trust your compiler

The same is true with ANY application a user installs/executes on their computer. I personally never liked this 'argument' as any code anyone makes could be malicious. Similarly MBXs produced by community members here, could be malicious for all we know. The idea that people should be concerned about a tool made for developers is somewhat beyond me... There are many arguments indeed as to why this may not be the most efficient use of my time, but none particularly interest me.

> General conversation about Mustafa's IDE

Yep, I know of it, and I have used it in the past also. I would love to contribute to the project, however I understand that the IDE isn't open source. Regardless I also would find it quite useful if I could have a cross-platform compiler. At home I mainly use Mac OS, and although I do have Windows PCs, for a long time I didn't. I'm sure there are others in the same boat as me there. There are also situations where, for IT reasons, users can't get the MapBasic compiler installed onto their computer. In these cases users have no choice than to not use compiled MapBasic. This is another issue I faced for a long while... Finally, if I understand the compiled MBX language I'd stand more hope of extending the MapBasic language, another ancient project of mine. There are many things which frustrate me about MapBasic and I started this project to try to alleviate those frustrations. Sadly, at some point, I realised I shouldn't be transpiling but compiling (especially as the feature set started growing to include Objects, Enums, OLE automation etc.

> I know there have been changes in the MB structure that make that documentation obsolete anyway. It flat-out doesn't work with any code beyond version 9 (or thereabouts). So sorry, but it's moldering on the ash-heap of History now. ... If I were you, I'd look into how a BASIC compiler is built, and if you get through that, then next try compiling some code and look at the results with a hex editor.

Hmpf, well that's a shame. I think you're right starting off with BASIC, might be a good idea. At the moment I have only really done a small amount of analysis of what happens when compiling MapBasic code (mainly to see if I can implement some sort of binary data object into MBXs directly). Those data didn't prove that fruitful, but that was also a year ago now when I definitely knew a lot less about low level code.

The back-end NodeJS ecosystem is growing like crazy

I have a few npm modules myself! :D I'd also add that JavaScript is generally a more 'accessible' language than languages like C++. My skills personally range from low level languages (e.g. C++) to high level languages (e.g. AHK, Ruby,...). I have yet to come across a language which is more 'accessible' than JavaScript is. Bear in mind, that if you want an IDE to be extendable, you want it written in a language as many people can code in as possible.

> So Sancarn - are you looking for a better IDE or a cool JavaScript project? If it's an improved IDE you might think about contributing to the existing 3rd party one. If it's a cool JavaScript project, well come on over to the Open Source geo-spatial camp where you'll find plenty of kindred spirits.

My main priorities for the project would be:
* Open source IDE - Allows others to make their own improvements + potentially a better IDE with more functionality.
* Ability to extend MapBasic functionality in a "native" way without the need for multiple files (in the case of compiled DLLs, or images for ribbon buttons etc.).
* Lots of fun with low and high level code >:)

Warren Vick

unread,
Jan 16, 2018, 5:25:32 PM1/16/18
to mapi...@googlegroups.com
  • The recently released pgAdmin4 is written in JavaScript.

 

Some JavaScript, utilising jQuery and the Bootstrap framework, but pgAdmin is mostly Python, I believe.

 

  • If you need to run on multiple platforms it's not a bad choice.

 

Agreed, but perhaps moot since how many platforms does Pro run on?

 

Regards,

Warren Vick

 

From: mapi...@googlegroups.com [mailto:mapi...@googlegroups.com] On Behalf Of Richard Greenwood
Sent: 16 January 2018 19:50
To: mapinfo-l <mapi...@googlegroups.com>
Subject: Re: [MI-L] Decoding MBX files

 

On Tue, Jan 16, 2018 at 8:36 AM, Warren Vick <wv...@europa.uk.com> wrote:

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.



 

--

Richard W. Greenwood, PLS
www.greenwoodmap.com

--

--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+...@googlegroups.com.

Warren Vick

unread,
Jan 16, 2018, 5:59:45 PM1/16/18
to mapi...@googlegroups.com
  • Maybe you are just not up to scratch with JavaScript in general as there have been many IDEs which exist already built totally with JavaScript.

 

An IDE is one thing, but an IDE with integrated compiler which you outlined, all built in JavaScript is another. AWS Cloud 9 is designed to be a web-based browser so you can work on cloud-based projects from anywhere. So, of course it’s got some JavaScript in it. Again, just because it’s possible, it doesn’t make JavaScript the best choice for an IDE with an integrated compiler. Does Cloud 9 have, say, a C or C++ integrated compiler developed in JavaScript and that will build an EXE on the local system? I don’t know the answer, but I would guess no. If you really like Cloud 9, would it not make sense to make MapBasic the 141st language supported rather than inventing yet-another-IDE?

 

  • I have already made numerous transpilers

 

Transpilers are a lot easier to develop than compilers. My first job after graduating was extending AT&T’s cfront, Bjarne Stroustrup’s C++ to C transpiler, with some novelty vector processing extensions. The MBX reverse engineering effort alone would be huge… and not to mention probably breaching licence terms. In fact, why not challenge yourself? As Bill suggested, just try to reverse engineer something really simple like printing “hello world” and then a basic expression. I think this will give you some insight into the effort required.

 

I’d love to see what you come up with. Best of luck with your project.

 

Regards,

Warren Vick

 

From: mapi...@googlegroups.com [mailto:mapi...@googlegroups.com] On Behalf Of Sancarn
Sent: 16 January 2018 21:38
To: MapInfo-L <mapi...@googlegroups.com>
Subject: Re: [MI-L] Decoding MBX files

 

So let's start at the top and work our way down!

--

Richard Greenwood

unread,
Jan 16, 2018, 8:06:55 PM1/16/18
to mapinfo-l
Correct, the back end is Python. Sorry if I mislead. 

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.



 

--

Richard W. Greenwood, PLS
www.greenwoodmap.com

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+unsubscribe@googlegroups.com.

Andy Foy

unread,
Jan 17, 2018, 2:06:08 AM1/17/18
to mapi...@googlegroups.com
Hi

There is already an excellent MapBasic IDE out there ... see https://mustafaozcetin.wordpress.com/mapbasic/mapbasicide-en/

Regards
Andy

------ Original Message ------
From: "Warren Vick" <wv...@europa.uk.com>
Sent: 16/01/2018 15:36:26
Subject: RE: [MI-L] Decoding MBX files

  • a MapBasic IDE written in JavaScript

 

Sorry Sancarn, but I think this makes as much sense as building a MapBasic IDE out of Lego.

 

For those who don’t like the native MapBasic IDE, there have been attempts to graft MapBasic to other editors. Some are better than others. I think trying to build your own compiler into that IDE is a bit pointless. It’s not easy (I wrote as part of a CS degree a long time ago), is unlikely to reliably keep up with the latest Pro features and involves a massive leap of faith for users to trust your compiler (and that it will not harm them by inserting malicious code) over the definitive one… which is free. I can’t see the upside.

 

Just because you can do something, doesn’t always make it a good idea!

 

P.S. Does the MapBasic editor still not have a line delete?

 

Regards,

Warren Vick

 

From: mapi...@googlegroups.com [mailto:mapi...@googlegroups.com] On Behalf Of Sancarn
Sent: 16 January 2018 15:25
To: MapInfo-L <mapi...@googlegroups.com>
Subject: Re: [MI-L] Decoding MBX files

 

@Bill, I know this is rather a long time (10 years later!). Do you by any chance have a link/copy of the "one rather complete document describing the structure of the MBX file extant". Recently I started a MapBasic IDE written in JavaScript and it'd be super awesome if I could also make a MapBasic compiler for it! So if you had a copy of the document that'd be really helpful!

--

--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the
Google Groups "MapInfo-L" group.To post a message to this group, send
email to mapi...@googlegroups.com
To unsubscribe from this group, go to:
http://groups.google.com/group/mapinfo-l/subscribe?hl=en
For more options, information and links to MapInfo resources (searching
archives, feature requests, to visit our Wiki, visit the Welcome page at
http://groups.google.com/group/mapinfo-l?hl=en

---
You received this message because you are subscribed to the Google Groups "MapInfo-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapinfo-l+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages