2017-08-27 1 views
0

J'ai un fichier swf et je l'ai décompilé. Et je reçois fla et en tant que fichiers, je suis en train de lancer ces fichiers mais je reçois ces erreursActionScript AVM2 avm2.intrinsics.memory package fonctions manquantes

1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method si32. 
1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method li8. 
1180: Call to a possibly undefined method si8. 

et ces fonctions doivent être dans avm2.intrinsics.memory ce paquet mais je ne marche pas essayé de changer existe des versions SDK AIR 3.5, 3.6 que ce paquet contient, 3.7 et quelques autres mais pas d'eux comme ces fonctions. Quel est le problème

+0

Je vais copier mon commentaire de la même question: * Il semble que l'auteur du code d'origine a pris certaines mesures et appliquer obscurcissement/protection à son travail. Obfuscation/protection sont des mesures contre les décompilateurs. Le code que vous obtenez n'est pas destiné à être lu/compris/compilé plus jamais. S'il vous plaît arrêtez de faire ce que vous faites. Voler le travail d'autres personnes n'est pas une bonne chose à faire. * – Organis

+0

C'est mon fichier, je viens de perdre la source d'origine –

+2

Donc, si c'est ** votre ** fichier, quelles sont ces méthodes pour ensuite? Et comment avez-vous construit ce SWF en premier lieu si vous ne pouvez pas le faire à nouveau? – Organis

Répondre

0

Vérifiez si vous utilisez le compilateur ASC2.0. L'opcode de mémoire rapide fait partie du compilateur ASC2.0 et ne fait pas partie du AIR SDK. En fonction de l'IDE que vous utilisez, les méthodes d'opcode avm2.intrinsics.memory peuvent afficher unresolved error dans l'éditeur de code, mais il fonctionnera correctement avec le compilateur ASC2.0. Le code suivant a été testé avec AIR SDK 27 dans intelliJ IDEA.

package { 

import flash.display.Sprite; 

import avm2.intrinsics.memory.sf64; 
import avm2.intrinsics.memory.lf64; 

import flash.system.ApplicationDomain; 
import flash.utils.ByteArray; 
import flash.utils.Endian; 

public class FastMemTest extends Sprite { 
    public function FastMemTest() { 
    var ba:ByteArray = new ByteArray(); 
    ba.length = ApplicationDomain.MIN_DOMAIN_MEMORY_LENGTH; 
    ba.endian = Endian.LITTLE_ENDIAN; 
    ApplicationDomain.currentDomain.domainMemory = ba; 

    const addr:int = 0xf0; 
    const value:int = 1234; 
    sf64(1234, value); 
    trace(value.toString(16), ':', lf64(value)); 
    } 
} 
} 

sortie de trace:

"C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.1\jre64\bin\java.exe" "-Dapplication.home=C:\FlexSDK\AIRSDK_Compiler_27.0.0.132" -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en -Duser.region=en -Xmx512m -classpath "C:/FlexSDK/AIRSDK_Compiler_27.0.0.132/lib/legacy/fdb.jar" flex.tools.debugger.cli.DebugCLI 
Adobe fdb (Flash Player Debugger) [build development] 
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
Waiting for Player to connect 
"C:\FlexSDK\AIRSDK_Compiler_27.0.0.132\bin\adl.exe" -profile extendedDesktop C:\test\Stage3DTest-app.xml C:\test 
Player connected; session starting. 

[trace] f0 : 1234