La protection de Starcraft n'est vraiment pas très complexe, pas de junk code, pas de layers, pas de supers checks de la mort qui tue avec des secteurs ingravables, pas d'anti-debugs, juste un CD Check et une vérification de la taille du CD.

Voila comment se déroule la vérification de la présence du CD :

  1. SC cherche la clef StarCD dans la sous clef HKEY_CURRENT_USER\Software\Blizzard Entertainment\Starcraft (normalement elle n'est pas présente, ca doit être une option pour les cyber ...)
  2. Si elle est présente, il vérifie que Install.exe se trouve dans le dossier indiqué par la clef et il fait un petit calcul a partie des infos sur le péripherique à la racine du dossier
  3. Si tout concorde le jeu se lance

Pour que notre loader fonctionne, il faut donc :

  • Copier le fichier Install.exe du CD de starcraft au dossier d'installation de SC
  • Créer la clef StarCD avec le chemin du dossier où l'ont vient de copier le fichier
  • Lancer le processus Starcraft.exe en breakant a l'entry point grace a un petit 0xEBFE (un saut qui boucle sur lui meme)
  • Scanner les modules (le byte à patcher se trouve dans Storm.dll)
  • Mettre un EBFE a l'endroit à patcher et relancer SC
  • Des que le processus est arrivé au check, patcher le bon byte
  • Relancer le processus, attendre 2 secondes et restaurer le code pour éviter d'etre embeter par les CRC de Battlenet

voili voilou

Sources + exe : ICI