📄 textdump.java
字号:
boolean decoded = false;
// Flash 1
switch (type)
{
case ShowFrame:
decodeShowFrame(coder);
decoded = true;
break;
case DefineShape:
decodeDefineShape(coder);
decoded = true;
break;
case PlaceObject:
decodePlaceObject(coder);
decoded = true;
break;
case RemoveObject:
decodeRemoveObject(coder);
decoded = true;
break;
case DefineJPEGImage:
decodeDefineJPEGImage(coder);
decoded = true;
break;
case DefineButton:
decodeDefineButton(coder);
decoded = true;
break;
case JPEGTables:
decodeJPEGEncodingTable(coder);
decoded = true;
break;
case SetBackgroundColor:
decodeSetBackgroundColor(coder);
decoded = true;
break;
case DefineFont:
decodeDefineFont(coder);
decoded = true;
break;
case DefineText:
decodeDefineText(coder);
decoded = true;
break;
case DoAction:
decodeDoAction(coder);
decoded = true;
break;
case FontInfo:
decodeFontInfo(coder);
decoded = true;
break;
case DefineSound:
decodeDefineSound(coder);
decoded = true;
break;
case StartSound:
decodeStartSound(coder);
decoded = true;
break;
case SoundStreamHead:
decodeSoundStreamHead(coder);
decoded = true;
break;
case SoundStreamBlock:
decodeSoundStreamBlock(coder);
decoded = true;
break;
// Flash 2
case ButtonSound:
decodeButtonSound(coder);
decoded = true;
break;
case DefineImage:
decodeDefineImage(coder);
decoded = true;
break;
case DefineJPEGImage2:
decodeDefineJPEGImage2(coder);
decoded = true;
break;
case DefineShape2:
decodeDefineShape2(coder);
decoded = true;
break;
case ButtonColorTransform:
decodeButtonColorTransform(coder);
decoded = true;
break;
case Protect:
decodeProtect(coder);
decoded = true;
break;
// Flash 3
case Free:
decodeFree(coder);
decoded = true;
break;
case PlaceObject2:
decodePlaceObject2(coder);
decoded = true;
break;
case RemoveObject2:
decodeRemoveObject2(coder);
decoded = true;
break;
case DefineShape3:
decodeDefineShape3(coder);
decoded = true;
break;
case DefineText2:
decodeDefineText2(coder);
decoded = true;
break;
case DefineButton2:
decodeDefineButton2(coder);
decoded = true;
break;
case DefineJPEGImage3:
decodeDefineJPEGImage3(coder);
decoded = true;
break;
case DefineImage2:
decodeDefineImage2(coder);
decoded = true;
break;
case DefineMovieClip:
decodeDefineMovieClip(coder);
decoded = true;
break;
case FrameLabel:
decodeFrameLabel(coder);
decoded = true;
break;
case SoundStreamHead2:
decodeSoundStreamHead2(coder);
decoded = true;
break;
case DefineMorphShape:
decodeDefineMorphShape(coder);
decoded = true;
break;
case DefineFont2:
decodeDefineFont2(coder);
decoded = true;
break;
// Flash 4
case PathsArePostscript:
decodePathsArePostscript(coder);
decoded = true;
break;
case DefineTextField:
decodeDefineTextField(coder);
decoded = true;
break;
case QuicktimeMovie:
decodeQuicktimeMovie(coder);
decoded = true;
break;
case SerialNumber:
decodeSerialNumber(coder);
decoded = true;
break;
case DefineBitsPtr:
decodePointer(coder);
decoded = true;
break;
// Flash 5
case EnableDebugger:
decodeEnableDebugger(coder);
decoded = true;
break;
case Export:
decodeExport(coder);
decoded = true;
break;
case Import:
decodeImport(coder);
decoded = true;
break;
// Flash 6
case DefineVideo:
decodeDefineVideo(coder);
decoded = true;
break;
case VideoFrame:
decodeVideoFrame(coder);
decoded = true;
break;
case EnableDebugger2:
decodeEnableDebugger2(coder);
decoded = true;
break;
case Initialize:
decodeInitialize(coder);
decoded = true;
break;
case FontInfo2:
decodeFontInfo2(coder);
decoded = true;
break;
// Flash 7
case LimitScript:
decodeLimitScript(coder);
decoded = true;
break;
case TabOrder:
decodeTabOrder(coder);
decoded = true;
break;
default:
break;
}
if (decoded == false)
decodeUnknownObject(coder);
int delta = (next - coder.getPointer()) >> 3;
if (delta < 0)
coder.logError("ObjectOverflow", next, -delta);
else if (delta > 0)
coder.logError("ObjectUnderflow", next, delta);
coder.setPointer(next);
return true;
}
void decodeBounds(String name, SWFDecoder coder)
{
coder.beginObject(name, "Bounds");
coder.alignToByte();
int fieldSize = coder.readBits("size", 5, false);
coder.readBits("minX", fieldSize, true);
coder.readBits("maxX", fieldSize, true);
coder.readBits("minY", fieldSize, true);
coder.readBits("maxY", fieldSize, true);
coder.alignToByte();
coder.endObject();
}
void decodeColor(String name, SWFDecoder coder)
{
coder.beginObject(name, "Color");
coder.readWord("red", 1, false);
coder.readWord("green", 1, false);
coder.readWord("blue", 1, false);
if (coder.context[SWFDecoder.TransparentColors] != 0)
coder.readWord("alpha", 1, false);
coder.endObject();
}
void decodeColorTransform(String name, SWFDecoder coder)
{
coder.beginObject(name, "ColorTransform");
coder.alignToByte();
boolean containsAddTerms = coder.readBool("hasAddTerms");
boolean containsMultiplyTerms = coder.readBool("hasMultiplyTerms");
int fieldSize = coder.readBits("size", 4, false);
if (containsMultiplyTerms)
{
coder.readShortFixed("multiplyRed", fieldSize);
coder.readShortFixed("multiplyGreen", fieldSize);
coder.readShortFixed("multiplyBlue", fieldSize);
if (coder.context[SWFDecoder.TransparentColors] != 0)
coder.readShortFixed("multiplyAlpha", fieldSize);
}
if (containsAddTerms)
{
coder.readBits("addRed", fieldSize, true);
coder.readBits("addGreen", fieldSize, true);
coder.readBits("addBlue", fieldSize, true);
if (coder.context[SWFDecoder.TransparentColors] != 0)
coder.readBits("addAlpha", fieldSize, true);
}
coder.alignToByte();
coder.endObject();
}
void decodeCoordTransform(String name, SWFDecoder coder)
{
coder.beginObject(name, "CoordTransform");
coder.alignToByte();
if (coder.readBool("hasScaling"))
{
int scaleFieldSize = coder.readBits("scalingFieldSize", 5, false);
coder.readFixed("scale0", scaleFieldSize);
coder.readFixed("scale1", scaleFieldSize);
}
if (coder.readBool("hasRotation"))
{
int rotateFieldSize = coder.readBits("rotationFieldSize", 5, false);
coder.readFixed("rotate0", rotateFieldSize);
coder.readFixed("rotate1", rotateFieldSize);
}
int translateFieldSize = coder.readBits("translationFieldSize", 5, false);
coder.readBits("translateX", translateFieldSize, true);
coder.readBits("translateY", translateFieldSize, true);
coder.alignToByte();
coder.endObject();
}
void decodeSound(SWFDecoder coder)
{
coder.beginObject("sound", "Sound");
coder.readWord("identifier", 2, false);
coder.readBits("mode", 4, false);
boolean _containsEnvelopes = coder.readBool("hasEnvelopes");
boolean _containsLoopCount = coder.readBool("hasLoopCount");
boolean _containsOutPoint = coder.readBool("hasOutPoint");
boolean _containsInPoint = coder.readBool("hasInPoint");
if (_containsInPoint)
coder.readWord("inPoint", 4, false);
if (_containsOutPoint)
coder.readWord("outPoint", 4, false);
if (_containsLoopCount)
coder.readWord("loopCount", 2, false);
if (_containsEnvelopes)
{
int envelopeCount = coder.readWord("envelopeCount", 1, false);
coder.beginArray("envelopes");
for (int i=0; i<envelopeCount; i++)
decodeEnvelope(coder);
coder.endObject();
}
coder.endObject();
}
void decodeEnvelope(SWFDecoder coder)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -