What The Fuck ? - Ank@ma G@mes
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)quelque par dans l'audio de dofus 1....
Euh ouais, y'avait plus court et simple mais bon... (tools/enumeration/ElementEnum.as)
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
Ça ressemble à de l'obfuscation
Faut désactiver la déobfu auto sur JPEXS, ça devrait fix ce genre d'output.
Je suis désolé de vous décevoir les gars, mais avec et sans désobfu, c'est le même résultat
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
Trouvé par @AzureHaze dans Retro\resources\app\preloader.js
'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) // (°~°)
}
Trouvé par @AzureHaze dans Retro\resources\app\preloader.js
'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
Ils ont déporté tout le code js dans le main (telemtry et compagnie) et ils ont utilisé bytenode ça devient compliqué pour nous
Oui mais c'est pas le sujet du thread :p