Démonter pour identifier l'algorithme de cryptage

Objectif (En Général)
Mon ultime (à long terme) l'objectif est d'écrire un importateur pour un fichier binaire dans une autre application

Question De Fond

  • Je suis intéressé par deux champs à l'intérieur d'un format de fichier binaire. L'un est
    crypté, et l'autre est compressé et éventuellement chiffrés
    (Voir comment je suis arrivé à cette conclusion ici).
  • J'ai un programme de visionneuse (je vais l'appeler viewer.exe) qui pourront ouvrir ces fichiers pour l'affichage. J'espère que cela peut offrir quelques indices.
  • Je vais (bientôt) ont une corrélation déchiffré sortie de comparer et d'avoir des valeurs à rechercher.
  • C'est la plus pertinente stackoverflow Q/A j'ai trouvé

Question Spécifique
Quelle est la meilleure stratégie étant donné les ressources que j'ai pour identifier l'algorithme utilisé?

Idées Actuelles

  • Je me rends compte que sans la clé, l'identification de l'algo de juste des données est pratiquement impossible
  • Avoir un fichier et un viewer.exe moi, je dois avoir la clé quelque part. Qu'elle soit publique, privée, symétrique, etc...ça pourrait être sympa à découvrir.
  • Je voudrais démonter le viewer.exe à l'aide de OllyDbg avec le findcrypt plugin comme une première étape. Je ne suis pas suffisamment compétent dans ce genre de chose à accomplir encore.

Ressources
plein exemple de fichier
extrait binaire du terrain, je suis intéressé par
les données déchiffrées Dans cette archive zip il y a un binaire liste de chars représentant x,y,z (model2.sommets) et d'un binaire liste d'entiers (model2.les visages). J'ai aussi inclus un "stl" fichier, que vous pouvez afficher avec de nombreux programmes, mais à cause de l'étrange manière dont les données sont stockées dans la STL, ce n'est pas ce que nous attendons de sortir du fichier d'origine.

Progrès
1. J'ai démonté le programme avec Olly, puis fait la seule chose que je sais faire à ce poing et de recherche "pour toutes référencées texte" après la pause de la porgram droit avant d'importer des fichiers. Ensuite, j'ai cherché les mots les piqûres comme "la crypte, de hachage, AES, chiffrer, SHA, etc etc". Je suis venu avec un tas de choses, notamment "Blowfish64", ce qui semble aller parfaitement avec le fait que mydata parfois est de 4 octets trop long (et depuis qu'il est garantis pour être mod 12 = 0) pour moi, cela ressemble à de rembourrage pour 64 bits taille du bloc (les montants des sommets non mod 8 quantités d'octets). J'ai aussi trouvé des messages d'erreur comme...

“Données non valides taille (Taille 4) mod 8 doit être 0"

Après la lecture de Igor réponse ci-dessous, voici le résultat de signsrch. J'ai mis à jour cette image avec un point vert qui cause pas de problèmes lors de l'remplacé par int3, rouge si le programme ne peut pas démarrer, et orange si elle échoue lors du chargement d'un fichier d'intérêt. Pas de point signifie que je n'ai pas encore testé.

Démonter pour identifier l'algorithme de cryptage

Accessoire Info

  • Im en utilisant windows 7 64 bits
  • viewer.exe est win32 x86 application
  • Les données sont encodées en base64 ainsi que chiffré
  • Le déchiffrer les données sont des groupes de 12 octets qui représentent les 3 chars (x,y,z coordonnées)
  • J'ai OllyDb v1.1 avec le findcrypt plugin, mais mon utilisation est limitée à la suite avec ce gars les vidéos de youtube
pourquoi ne pas vous poser cette question sur le super-utilisateur?
L'IDA a une technique appelée FLIRT, qui identifie les fonctions connues. Si ils utilisent un standard de chiffrement de la bibliothèque, il peut identifier l'algorithme.
Parce que je n'étais pas conscient que c'est un meilleur endroit pour demander cela. Je vais vérifier ça dès que possible
Je ne suis pas convaincu que super-Utilisateur est mieux que StackOverflow pour cette question. Vous pourriez envisager de security.stackexchange.com trop. Je ne suis pas sûr que c'est nettement mieux que SI, si.
Hmm, j'ai l'freeware IDA, est FLIRTER builtin ou un plugin? Je vais vérifier ça aussi.

OriginalL'auteur patmo141 | 2012-02-25