2017-08-27 56 views
0

我有一個SWF文件,我反編譯它。而我得到的FLA和文件,我想運行此文件,但我得到這些錯誤ActionScript AVM2 avm2.intrinsics.memory包缺失函數

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. 

而這些功能必須在avm2.intrinsics.memory這個包,但犯規存在我試圖改變SDK版本的AIR 3.5,3.6這個包,3.7和其他一些,但不是這些功能。有什麼問題

+0

我只是複製我的評論從類似的問題:*看來,原代碼的作者採取了一定的措施,並應用模糊/保護他的工作。混淆/保護是針對反編譯器的措施。你得到的代碼並不意味着再次被閱讀/理解/編譯。請停止做你正在做的事。 * – Organis

+0

這是我的文件,我剛剛丟失了原始文件 –

+2

因此,如果**是**你的文件,那麼這些方法是什麼呢?如果你不能再這樣做,你是如何建立這個SWF的? – Organis

回答

0

檢查您是否使用ASC2.0編譯器。

快速內存操作碼是ASC2.0編譯器的一部分,不是AIR SDK的一部分。根據您使用的是哪個IDE,avm2.intrinsics.memory操作碼方法可能會在代碼編輯器上顯示unresolved error,但編譯器可以使用ASC2.0進行編譯。

以下代碼使用AIR SDK 27intelliJ 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)); 
    } 
} 
} 

跟蹤輸出:

"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