Method for scrambling/descrambling meshes?

n0mad23

Addon Developer
Addon Developer
Joined
Feb 10, 2008
Messages
1,078
Reaction score
17
Points
0
Location
Montesano
Website
soundcloud.com
Ok,

Now I see. Somehow I failed to notice in the original post that the mesh was Apollo_CM. It does exactly the same for me as the original screen-shot.

Strange, that...so many of the other AMSO meshes load right up for me. Has anyone counted what the percentage of 'clean' vs. 'distorted' meshes there are?
 

Redburne

Addon Developer
Addon Developer
Beta Tester
Joined
Mar 19, 2008
Messages
71
Reaction score
1
Points
6
Well GetMesh is useless, the handle returned by it is only valid inside clbkVisualCreated. For oapiMeshGroup to work, you need to have the mesh handle first.

Are you sure? I have not looked too deeply into the matter, as I have no intention of actually implementing anything along those lines, but I took a quick look at the Meshdebug sample, which seems to use GetMesh and oapiMeshGroup to access the mesh of the focus vessel.
 

computerex

Addon Developer
Addon Developer
Joined
Oct 16, 2007
Messages
1,282
Reaction score
17
Points
0
Location
Florida
Redburne - I think I misinterpreted the API reference, it says the handle is only valid from clbkVisualCreated to clbkVisualDestroyed.
 

Cornflake

New member
Joined
Feb 5, 2008
Messages
117
Reaction score
3
Points
0
Location
Colorado, USA
It seems a very viable theory to me what Chode said in the original thread is the way it's being done - an animation is applied after the mesh is loaded into the game to "unscramble" the verts. But I guess it could be encrypted too (But looking at the data in the .msh file, nothing looks scrambled or out of place. That's what makes me think its not encoded, but an animation was used to scramble the locations of the verts).

So we're still not sure on weather the decrypted file is stored in RAM, or simply written and then deleted?

Oh yes of course...sigh Do you really believe that?

I can fully understand Alain and Luis to protect their meshes from being reverse engineered, and there's nothing wrong with that. AMSO is working in Orbiter and is free, everything else is voluntary.

Well if they're really that distrustful / or worried about the meshes being released to the orbiter community, maybe they shouldn't be releasing anything at all? And I feel it's very peculiar that they wouldn't mention one word about meshes being intentionally prevented from being copied anywhere in the readme. Why not just say it and save a lot of wondering?
 

FordPrefect

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
407
Reaction score
41
Points
28
Well if they're really that distrustful / or worried about the meshes being released to the orbiter community, maybe they shouldn't be releasing anything at all?

Why throw out the baby with the bath water? Also, I am not aware of any "Trusty Orbiter Community Member" validation process before one can download the AMSO package.
 

computerex

Addon Developer
Addon Developer
Joined
Oct 16, 2007
Messages
1,282
Reaction score
17
Points
0
Location
Florida
Cornflake - AMSO is Luis and Alan's property, they have the right to do anything they would like. Even though this does seem a bit unorthodox, I am sure they have excellent reason for doing what they did. As far as I know, this scrambling has only been done in the latest version of AMSO. When did Luis started doing the AMSO meshes? Maybe it's just his requirement for doing the work. In any case, let's not say anything that might hurt the feelings of others. :)
 

n0mad23

Addon Developer
Addon Developer
Joined
Feb 10, 2008
Messages
1,078
Reaction score
17
Points
0
Location
Montesano
Website
soundcloud.com
Cornflake - AMSO is Luis and Alan's property, they have the right to do anything they would like. Even though this does seem a bit unorthodox, I am sure they have excellent reason for doing what they did. As far as I know, this scrambling has only been done in the latest version of AMSO. When did Luis started doing the AMSO meshes? Maybe it's just his requirement for doing the work. In any case, let's not say anything that might hurt the feelings of others. :)

Really good advice. Especially if we consider what's really at stake here.

AMSO in my estimation is TRULY BRILLIANT. What a gift Alain and krewe have given the community. Sure, for some it's going to seem weird that encryption is occurring in 'free-ware', but I'm thinking better that than having the project pulled.

I resisted AMSO at first because I didn't want to revisit what has happened, but really wanted to see where we could go (in terms of technology and development). But after breaking down and installing it two versions ago, I'm converted - a fan - an advocate of the project.
 

tomek

legal alien
Joined
Mar 26, 2008
Messages
181
Reaction score
1
Points
0
Website
www.orbiter-forum.com
But looking at the data in the .msh file, nothing looks scrambled or out of place. That's what makes me think its not encoded, but an animation was used to scramble the locations of the verts).

Well, depends on what you call "animation". It appears that vertices are being manipulated individually. That could be called "animation". However, functions that are used to create standard animations in Orbiter addons (like moving/scaling/rotating a group) would not do anything like that to a mesh.

It is true that mesh file itself is not encrypted, as it is most likely loaded by Orbiter before control is passed to the .dll; and Orbiter would not of course load an encrypted file. However, a .dll can access coordinates of the vertices, and those coordinates are just a bunch of bytes after all. One could use a full-blown stream cypher on those bytes, get a decrypted sequence, and then put bytes of that sequence back into vertices' coordinates. Of course once it's decrypted, another module can access those coordinates as well.
 

Chode

Addon Developer
Addon Developer
Beta Tester
Joined
Mar 21, 2008
Messages
107
Reaction score
1
Points
0
Well, depends on what you call "animation". It appears that vertices are being manipulated individually. That could be called "animation". However, functions that are used to create standard animations in Orbiter addons (like moving/scaling/rotating a group) would not do anything like that to a mesh.

It is true that mesh file itself is not encrypted, as it is most likely loaded by Orbiter before control is passed to the .dll; and Orbiter would not of course load an encrypted file. However, a .dll can access coordinates of the vertices, and those coordinates are just a bunch of bytes after all. One could use a full-blown stream cypher on those bytes, get a decrypted sequence, and then put bytes of that sequence back into vertices' coordinates. Of course once it's decrypted, another module can access those coordinates as well.

I agree with these points. The fact that the msh file looks kosher when you open it suggests that the encryption/decryption method depends on Orbiter being able to open the msh file and load it. Then the decryption would occur by altering the vertices directly through the mesh handle. The "animations" that you can do with the Orbiter API are limited to scale, rotation, and translation, and it appears that these meshes have been altered in a more radical way.

Regards
 

Cornflake

New member
Joined
Feb 5, 2008
Messages
117
Reaction score
3
Points
0
Location
Colorado, USA
Cornflake - AMSO is Luis and Alan's property, they have the right to do anything they would like. Even though this does seem a bit unorthodox, I am sure they have excellent reason for doing what they did.

Oh, of course. I never said they didn't have the right to do anything - it is 100% their property. We were just discussing the details and rationale behind it, nothing more. Not much more then speculation really :)

The "animations" that you can do with the Orbiter API are limited to scale, rotation, and translation, and it appears that these meshes have been altered in a more radical way.

Yes, that makes sense. I guess if a DLL is used for configuration / modification of the meshes' coded, you could do anything really.
 

Xantcha

Addon Developer
Addon Developer
Joined
Mar 26, 2008
Messages
203
Reaction score
0
Points
0
Thinking of it a bit more - best chance to protect meshes is indeed to wait for next version of orbiter and make visualizer that supports encryption. This way you could show encrypted meshes without them being accessible via orbiterAPI or API of another visualizer.

2 Tomek> Effort to get mesh from within orbiter's presentation is tiny. And at the moment it is deciphered by someone it becomes accessible to anyone. Encryption must make deciphering more costly than the value of information it protects.

2 Cornflake> That's exactly the point, vertices data is accessible for dlls via orbiter's interface. This only makes them so vulnerable. (And to render them you have to have them in clean way up to the orbiter's render step.)

But it still bugs me - whats the point. Does Valve protect their meshes via encryption?
 

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
Hello Orbinauts !

First, nice to meet you here !

Yes, all meshes which are our property are encrypted and this, since the version 1.12, which featured the first graphics works of Luis Teixeira.

No, we do not plan AT ALL to go payware, outside Orbiter world.

Yes, like always, it is impossible to design a protection scheme which is 100% safe and in particular, speaking of Orbiter, even if I think that our protection scheme is very dissuasive and not within the reach of everybody. But there is an excellent reason for making it nevertheless:

Without any protection, it would be totally easy to use our meshes outside AMSO and outside our will, by simply installing AMSO and loading these meshes from a foreign application.

It is when Luis and me, we discovered the following on a public forum:

We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).

That we decided to protect our meshes.

So now, it is impossible to use our meshes without to steal them fist.

To prevent is always better than to cure.

ACS
 

computerex

Addon Developer
Addon Developer
Joined
Oct 16, 2007
Messages
1,282
Reaction score
17
Points
0
Location
Florida
That's all good Alan, we understand your reasons and are very grateful for your excellent work. What's getting all of us worked up is the encryption method! How are you doing it! But I understand if you don't want to make it public...
 

Xantcha

Addon Developer
Addon Developer
Joined
Mar 26, 2008
Messages
203
Reaction score
0
Points
0
To steal (or make utility for stealing) AMSO's meshes one need to be familiarized with orbiterapi. Chances are this person is orbiter addon developer and as such have more respect for intellectual property. Also "encrypted" meshes could be considered as signatures for copyrighted mesh. And in case user hadn't read the last page of manual, they could warn him of their status
Is this the line of logic?

Reasonable, yet I don't understand why even bother to protect meshes (even if it was technically possible). Not only AMSO is beautifull and shiny (thus likely target for borrowing), it is famous as well (at least among orbiter's users). It would be impossible to steal something from AMSO and go unnoticed. Stealing it for use outside of Orbiter.. Very unlikey, and still fairly easy to catch when the work gets published.

But sure I can understand worries of meshes' author. And of course it's your right to do anything with your own work.

Also - thanks for answer ACSoft. And - great addon. (When I first launched AMSO I was literally overwelmed with amount work that was put into it).

P.S. Are nonecrypted meshes considered free to use or it simply means they are donated to you from other people. If so, whom shall I ask if I will want to use, say, Lunar rover mesh? :)

P.P.S. Could someone, please, explain me what this
We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).
is all about?
 

Redburne

Addon Developer
Addon Developer
Beta Tester
Joined
Mar 19, 2008
Messages
71
Reaction score
1
Points
6
It is when Luis and me, we discovered the following on a public forum:

We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).
Let's be fair and quote the whole post, including the important first part (emphasis mine):

Tschachim said:
I did that already (asking, not stealing, of course), but no answer from Alain yet. We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).

Source: http://www.ibiblio.org/mscorbit/mscforum/index.php?topic=1152.15
 
Last edited:

FordPrefect

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
407
Reaction score
41
Points
28
It is when Luis and me, we discovered the following on a public forum:

We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).

That we decided to protect our meshes.

So now, it is impossible to use our meshes without to steal them fist.


:mellow:

Alain, I am stunned that this was the trigger for you to protect your meshes. I had always assumed you wanted to prevent the meshes being used outside of orbiter.

The only thing I am wondering now is, how much or how little changes in existing meshes have to be added, to claim it the own work? As far as I can tell, AMSO's Apollo Command and Service module exterior mesh (minus the SIM bay) is the same mesh that came for free with 3ds Max version 5 back in 2002.
 

FordPrefect

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
407
Reaction score
41
Points
28
P.S. Are nonecrypted meshes considered free to use or it simply means they are donated to you from other people. If so, whom shall I ask if I will want to use, say, Lunar rover mesh? :)

As stated in the credits of the AMSO-User-manual.doc, the lunar rover mesh was built by RodionH, so he would be your contact person.
 

Tschachim

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 7, 2008
Messages
300
Reaction score
0
Points
16
Location
nassp.sf.net
Website
nassp.sf.net
It is when Luis and me, we discovered the following on a public forum:

We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).

That we decided to protect our meshes.

Wow, I didn't know that my comment kicked off such an avalanche... :lol:

Just as a clarifikation, since my statement was quoted incompletely and out of context: I do know that it would infringe Alain and Luis copyright if Project Apollo - NASSP uses the AMSO meshes the way outlined above and I never seriously suggested or planned to do something like this without Luis or Alains permission, it was a pure hypothetical technical discussion.

Cheers
Tschachim
 

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
:mellow:

Alain, I am stunned that this was the trigger for you to protect your meshes. I had always assumed you wanted to prevent the meshes being used outside of orbiter.

It was obviously NOT the only reasons why we finally decided to include this protection. Luis had previously a very bad experience in the MS Flight Simulator world, where a "Lisboa scenery" he does, was stolen to him. So, meshes protection was a subject we were talking about long before.


:mellow:
The only thing I am wondering now is, how much or how little changes in existing meshes have to be added, to claim it the own work? As far as I can tell, AMSO's Apollo Command and Service module exterior mesh (minus the SIM bay) is the same mesh that came for free with 3ds Max version 5 back in 2002.

I BUYED this mesh on a specialized mesh Internet site, which specified this product was free of any rights. So, as you can see, I am stupid enough to spend my money to make free gift to Orbiter community.

It is not the first time I hear that, in fact, I was fooled and that this site had no rights to sold me this mesh. But, sorry, as long as I am not attacked by the pretended author of this mesh, I will continue to consider this mesh to be now my property, not only because of the circumstances I mentionned, but also especially after the TREMENDOUS rework I have done on it. Initially, this mesh was totally unusable into Orbiter and I spend an incalculable time to make it frame rate friendly. Luis has also reworked a lot this mesh.

ACS
 

FordPrefect

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
407
Reaction score
41
Points
28
It was obviously NOT the only reasons why we finally decided to include this protection. Luis had previously a very bad experience in the MS Flight Simulator world, where a "Lisboa scenery" he does, was stolen to him. So, meshes protection was a subject we were talking about long before.

I see. Somehow it looks like I have misunderstood you then. Sorry!



I BUYED this mesh on a specialized mesh Internet site, which specified this product was free of any rights. So, as you can see, I am stupid enough to spend my money to make free gift to Orbiter community.

Alain, sorry to hear this. However, and I am sure you know this too, all of the Orbiter add-on developers offer their work, effort and time (time is money) to the community for free.

It is not the first time I hear that, in fact, I was fooled and that this site had no rights to sold me this mesh. But, sorry, as long as I am not attacked by the pretended author of this mesh, I will continue to consider this mesh to be now my property, not only because of the circumstances I mentionned, but also especially after the TREMENDOUS rework I have done on it. Initially, this mesh was totally unusable into Orbiter and I spend an incalculable time to make it frame rate friendly. Luis has also reworked a lot this mesh.
ACS

Alain, my question was just of a curious nature. No offense intended.
 
Top