space928 / Blender-O3D-IO-Public

A plugin supporting blender 2.79.x-3.x.x for importing and exporting OMSI .sco, .cfg, and .o3d files
GNU General Public License v3.0
36 stars 5 forks source link

Deformation after Import #83

Closed CentaKlaus closed 5 months ago

CentaKlaus commented 9 months ago

Describe the bug

When trying to import objects of any of the Hamburg-Addons it is a 50/50 if the object is imported correctly or deformed. This problem only occurs in those addons, any other free- or payware o3d-files are imported correctly. Its worth noting that also all the o3ds cannot be loaded in the OMSI crossing-editor but in the game they are displayed correctly.

To Reproduce

Steps to reproduce the behaviour: [Be sure to attach any relevant files (o3d, cfg, dds, etc...) to the issue or provide a link to them here]

  1. Import '3_K_speersort in "OMSI 2\Sceneryobjects\HamburgLi20\model"'

Expected behaviour

Correctly imported o3d

Screenshots

error_blender

Additional context

space928 commented 9 months ago

If the o3d file you're trying to import is encrypted, then it will import with these sorts of deformations. The public release of the plugin does not support decrypting encrypted o3d files.

CentaKlaus commented 7 months ago

In the .py files I saw that en-/decryption as arguments. Is there a version which supports decryption in planning? Do you have any guesses which encryption algorithm was used for those o3d-files?

space928 commented 7 months ago

Yes, I have implemented encryption and decryption, but as the decryption circumvents the game's DRM I have chosen not to publish it. If you need a file encrypting, I can do that, but I will not decrypt files which you are not the original author of.

On Sun, 26 Nov 2023 at 12:49, CentaKlaus @.***> wrote:

In the .py files I saw that en-/decryption as arguments. Is there a version which supports decryption in planning? Do you have any guesses which encryption algorithm was used for those o3d-files?

— Reply to this email directly, view it on GitHub https://github.com/space928/Blender-O3D-IO-Public/issues/83#issuecomment-1826775930, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADTN4AWRAIBQEZKJGVIQCOTYGM3FNAVCNFSM6AAAAAA5EKUMTCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRWG43TKOJTGA . You are receiving this because you commented.Message ID: @.***>

-- Thomas

CentaKlaus commented 7 months ago

Unfortunately I'm not the author but I wanted modify some crossing objects for privat use. Is this encryption algorithm of your own or is it the same one which these o3ds are encrypted with? How were you able to decrypt these when the files only consist of "nonsense"?

CentaKlaus commented 7 months ago

I figured out that the coordinates in the encrypted o3d are just swapped sometimes. After analyzing for several days and trying out I still don't know how the algorithm works. Probably some kind of permutation but the role of the key and how it interacts with the values of each coordinate remains a mystery for me. I would really appreciate it if you could explain the functionality of the pattern and how it works a bit more detailed. If it shouldn't be in a public space I would be happy when we could communicate via e-mail. I think the "encryption" (rather shuffling) is not so secure as it seems to be but I'm a complete beginner but also very interested how this works. Maybe you could afford some time I would appreciate it. Thanks!