What The Fuck ? - Ank@ma G@mes

Inscrit
12 Avril 2014
Messages
22
Reactions
5
#62
Toujours sur Dofus 1.29 :
(enfin 1.32.1 à l'heure qu'il est :D)

Un petit fichier qui est parti en prod :
clips\items\41\Sans nom-1.swf (41 = catégorie Poisson)
test.PNG
 

Hetarnam

Contributeur
Inscrit
2 Octobre 2016
Messages
87
Reactions
290
#64
Euh ouais, y'avait plus court et simple mais bon... (tools/enumeration/ElementEnum.as)

screencapture-file-D-Documents-Jean-Projets-Personnel-Dofus-2-dofus-src-tools-enumeration-Elem...png
 
Inscrit
7 Mai 2020
Messages
10
Reactions
7
#65

Hetarnam

Contributeur
Inscrit
2 Octobre 2016
Messages
87
Reactions
290
#66
Après je pense surtout que c'est JPEX qui te retourne un code différent, car je doute qu'Ankama possède des devs aussi peu logique, car là c'est trop gros
Franchement pour ce coup je sais pas, y'a des cas similaires bien gérés avec des switch plutôt concis donc ça serait étonnant que JPEX sorte ça pour ce cas et pas pour les autres
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#68
Faut désactiver la déobfu auto sur JPEXS, ça devrait fix ce genre d'output.
 

Hetarnam

Contributeur
Inscrit
2 Octobre 2016
Messages
87
Reactions
290
#69
Je suis désolé de vous décevoir les gars, mais avec et sans désobfu, c'est le même résultat
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#70
Si tu changes de décompileur ou même de version de JPEXS tu auras une output différente à coup sur,
Pour différente version du même logiciel, on arrivait à mieux décompiler des fichiers obfus,
mais bon pour une fois que leur Free SWF Obfuscator fait quelque chose mdr
 
Inscrit
17 Mai 2021
Messages
15
Reactions
12
#71
Trouvé par @AzureHaze dans Retro\resources\app\preloader.js

Muhuhu:
'use strict';
const fs = require('fs')
const path = require("path")
if (fs.existsSync(path.join(dirname, "main.jsc"))) {
  // Muhuhu
  require("bytenode")
  require(path.join(dirname, "main.jsc"))
} else if (process.defaultApp && fs.existsSync(path.join(dirname, "main.js"))) {
  // Quelle aubaine, un fichier source tout beau tout lisible ! On le charge...
  require(path.join(dirname, "main.js"))
} else {
  // N'arrive jamais sauf si la matrice est quelque peu distordue
  const app = require("electron").app
  app.exit(666) // (°~°)
}
 
Inscrit
8 Septembre 2019
Messages
9
Reactions
3
#72
Trouvé par @AzureHaze dans Retro\resources\app\preloader.js

Muhuhu:
'use strict';
const fs = require('fs')
const path = require("path")
if (fs.existsSync(path.join(dirname, "main.jsc"))) {
  // Muhuhu
  require("bytenode")
  require(path.join(dirname, "main.jsc"))
} else if (process.defaultApp && fs.existsSync(path.join(dirname, "main.js"))) {
  // Quelle aubaine, un fichier source tout beau tout lisible ! On le charge...
  require(path.join(dirname, "main.js"))
} else {
  // N'arrive jamais sauf si la matrice est quelque peu distordue
  const app = require("electron").app
  app.exit(666) // (°~°)
}
Ils ont déporté tout le code js dans le main (telemtry et compagnie) et ils ont utilisé bytenode ça devient compliqué pour nous
 
Haut Bas