Bonjour a tous voila le post va être long mais a la hauteur du bug.
Après 4 jours de travail acharné, 2.3Go de donnée récupéré en éxécutant le jeu dans un debugger j'ai enfin trouvé le problème de pourquoi le jeu ne se lance pas.
Tout d'abord le contexte.
Si vous avez évidemment passé les éternelles recommandations de base a savoir:
Mise à jour driver video, son, etc...
Mise à jour directx9
Mise a jour GWFL
et que malgré cela lorsque vous lancez le jeu et que dans le gestionnaire de tache, l'exe se lance seulement quelques secondes puis se ferme sans raison apparente et surtout sans aucune fenetre d'erreur a l'ecran, mais si vous avez les messages d'erreur ci-dessous dans l'observateur d'evenement, alors ma solution devrait marcher.
Lorsque l'exe plante sans message d'erreur vous aurez peut etre ces 3 messages dans l'observateur d'evenement:
Message1 (ID evenement 1001):
Récipient d’erreurs 3000138601, type 1
Nom d’événement*: APPCRASH
Réponse*: Non disponible
ID de CAB : 0
Signature du problème :
P1 : BatmanAC.exe
P2 : 1.0.0.0
P3 : 00000000
P4 : BatmanAC.exe
P5 : 1.0.0.0
P6 : 00000000
P7 : c000001d
P8 : 01a92d5a
P9 :
P10 :
Fichiers joints*:
C:\Users\****\AppData\Local\Temp\WER94F0.tmp.WERInternalMetadata.xml
Ces fichiers sont peut-être disponibles ici*:
C:\Users\****\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_BatmanAC.exe_802ecc3c75787b43f6a86fd4fc9f93a90df158c_06c5a0b3
Symbole d’analyse :
Nouvelle recherche de la solution : 0
ID de rapport : 0ba0146b-ce10-11e2-991d-1c6f65c35a82
Statut du rapport : 0
Message2 (Id evenement 1005):
Windows ne peut pas accéder au fichier pour une des raisons suivantes*: un problème s’est produit avec la connexion réseau, le disque sur lequel le fichier est enregistré, ou les pilotes de stockage installés sur cet ordinateur, ou le disque est manquant. Windows a fermé le programme Batman: Arkham City™ GOTY en raison de cette erreur.
Programme*: Batman: Arkham City™ GOTY
Fichier*:
La valeur de l’erreur est affichée dans la section Données supplémentaires.
Action utilisateur
1. Ouvrez à nouveau le fichier. Cette situation peut résulter d’un problème temporaire qui se corrigera de lui-même à la prochaine exécution du programme.
2. Si le fichier est toujours inaccessible et
- Il se trouve sur le réseau*: votre administrateur réseau devrait vérifier qu’il n’y a aucun problème avec le réseau et que le serveur peut être contacté.
- Il se trouve sur un disque amovible, par exemple une disquette ou un CD-ROM*: vérifiez que le disque est inséré correctement dans l’ordinateur.
3. Vérifiez et réparez le système de fichiers en exécutant CHKDSK. Pour exécuter CHKDSK, cliquez sur Démarrer, Exécuter, entrez CMD puis cliquez sur OK. À l’invite de commandes, entrez CHKDSK /F et appuyez sur Entrée.
4. Si le problème persiste, restaurez le fichier à partir d’une copie de sauvegarde.
5. Déterminez si d’autres fichiers du même disque peuvent être ouverts. Si ce n’est pas le cas, le disque est peut-être endommagé. S’il s’agit d’un disque dur, contactez votre administrateur ou le distributeur de votre ordinateur pour obtenir une assistance supplémentaire.
Données supplémentaires
Valeur de l’erreur*: 00000000
Type du disque*: 0
Message3 (Id evenement 1000):
Nom de l’application défaillante BatmanAC.exe, version : 1.0.0.0, horodatage : 0x00000000
Nom du module défaillant : BatmanAC.exe, version : 1.0.0.0, horodatage : 0x00000000
Code d’exception : 0xc000001d
Décalage d’erreur : 0x01a92d5a
ID du processus défaillant : 0x152c
Heure de début de l’application défaillante : 0x01ce621cc5c51667
Chemin d’accès de l’application défaillante : C:\Users\****\Downloads\driver_batman\BAA_GOTY_CrCFiX\FiGHTCLUB\Binaries\Win32\BatmanAC.exe
Chemin d’accès du module défaillant: C:\Users\****\Downloads\driver_batman\BAA_GOTY_CrCFiX\FiGHTCLUB\Binaries\Win32\BatmanAC.exe
ID de rapport : 0ba0146b-ce10-11e2-991d-1c6f65c35a82
Si maintenant vous avez installé Microsoft EMET Software (ce logiciel est recommandé par Microsoft pour palier a des failles zero day le temps que des patchs sortent, il a aussi largement été diffusé avec les récentes failles java de ce début d'année) et que par lourdeur ou par inutilité vous l'avez désinstallé eh bien vous êtes concerné par le problème.
En effet il y a un bug dans la procédure de désinstallation, qui ne supprime pas toutes les clefs de la base de registre résultat malgré une désinstallation le noyau Windows continue a penser que le filtre SEHOP to OPT-OUT de EMET est toujours actif.
Or gros bug du jeu la protection securom génère un bufferoverflow entre deux dlls, celle du jeu paul.dll et celle de Windows riched20.dll (merci au debugger la), résultat le filtre SEHOP interprete ce buffer overflow comme un comportement anormal et tue le processus et appelle EMET pour générer un fenetre d'alerte.
Sauf que si vous avez désinstallé EMET eh ben foutu vous ne voyez jamais la fenetre d'alerte d'EMET qui indique qu'il a tué le processus fautif.
Vous voyez que le bug est bien tordu la
Donc pour le résoudre maintenant, deux solutions:
- le premiere re-installé EMET, puis rajouter batmanac.exe dans la liste d'exclusions du filtre SEHOP.
- La deuxieme editer la base de registre pour rentrer manuellement batmanac.exe dans la liste d'exclusions du filtre SEHOP
Voici le code:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\BatmanAC.exe] "DisableExceptionChainValidation"=dword:00000001
Une troisième solution serait de supprimer proprement les clé de registre que le programme de désinstallation d'EMET ne fait pas mais la j'ai pas le temps de tout regarder.
Je viens de reporter le bug au support Microsoft mais comme toujours avec eux, c'est pas evident qu'il le corrige un jour, vu que leur premiere réponse a été en gros:
"Microsoft déconseille desinstallé EMET"