2014-04-25 6 views
2

Je sais que nous ne pouvons pas décompiler une DLL (faite par MATLAB) en un fichier .mat. Mais maintenant, j'ai une DLL créée par MATLAB (téléchargé here). S'il vous plaît essayez de le convertir en fichier mat. Merci beaucoup.Comment décompiler un fichier DLL créé par MATLAB dans un fichier mat

+3

Voulez-vous dire au fichier .m? Ce serait beaucoup de travail même si vous savez exactement comment le faire .... – aschepler

+0

@aschepler: Oui. J'ai besoin du fichier .m Pourriez-vous m'aider? – user3336190

+3

Désolé, je n'ai pas le temps de déchiffrer une quantité inconnue de code d'assemblage, de comprendre ce qu'il fait, puis d'écrire du code Matlab qui ferait quelque chose d'équivalent. – aschepler

Répondre

6

Réponse courte: Impossible.

Réponse longue: Les fichiers source .m sont chiffrés par le compilateur lorsque le dll est généré. Tout le code source du fichier M est stocké dans un Component Technology File (CTF), qui est chiffré (et décrypté) à l'aide de la spécification de chiffrement AES, où symmetric keys sont protégés par des clés RSA de 1024 bits. Une clé de chiffrement unique est utilisée par le MATLAB Compiler Runtime (MCR) pour déchiffrer le contenu étendu du CTF afin qu'il puisse exécuter le code.

Quelques particularités de a MathWorks developer:

  • Nous utilisons la norme de cryptage AES pour protéger les fichiers M dans l'archive du FCT.
  • Lorsqu'ils sont extraits de l'archive CTF sur le disque, les fichiers M restent cryptés .
  • Les clés sont également cryptées.
  • L'utilitaire extractCTF ne déchiffre pas les fichiers M, mais en extrait simplement depuis l'archive CTF.

peu de chance.

+0

Nous n'avons aucun outil pour le faire, non? Merci – user3336190

+1

@ user3336190 Désolé. L'intention est que vous ne devriez pas être capable de le faire, sauf si vous avez écrit le code. Si un outil existait, MATLAB corrigera rapidement leur schéma de déploiement et l'outil deviendra rapidement inutile. – chappjc

+0

@chappjc C'est une info sympa, merci. Aussi, pourquoi ne devrais-je jamais utiliser length() (ever)? – MattG

Questions connexes