用了doswf加密混淆,因此只能猜resource.dat文件格式。搞了2個小時。加密
trace(' ------------ '+b.bytesAvailable); trace(b.readInt()); trace(b.readInt()); while(b.bytesAvailable) { var l:int = b.readByte(); if(l == 1) { // control mode var nextInt:int = b.readByte(); switch(nextInt) { case 0: { var l0_1 = b.readByte(); var l0_2 = b.readInt(); var l0_3 = b.readByte(); trace(b.bytesAvailable+':l1-0:' + l0_1+':'+l0_2+':'+b.readUTFBytes(l0_3)); break; } case 1: { trace(b.bytesAvailable+':l1-1:' + b.readByte() + ' ' + b.readByte() + ' ' + b.readByte() + ' ' + b.readByte() + ' ' + b.readByte()); } case 2: { var l = b.readByte(); if(l <= 0) { var l_2_0 = b.readInt(); var l_2_0_l = b.readByte(); trace(b.bytesAvailable+':l1-2-0:' + l_2_0 + ':' + b.readUTFBytes(l_2_0_l)); } else { trace(b.bytesAvailable+':l1-2-s:' + b.readUTFBytes(l)); } break; } case 3: { var l = b.readByte(); if(l <= 0) { trace(b.bytesAvailable+':l1-3-0:' + b.readInt()); } else { trace(b.bytesAvailable+':l1-3-s:' + b.readUTFBytes(l)); } break; } case 4: { var l = b.readByte(); if(l <= 0) { trace(b.bytesAvailable+':l1-4-0:' + b.readInt()); } else { trace(b.bytesAvailable+':l1-4-s:' + b.readUTFBytes(l)); } break; } default: { throw new Error('unknown type'); break; } } } else if(l == 4) { b.readByte(); b.readByte(); b.readByte(); b.readByte(); b.readByte(); b.readByte(); var l = b.readByte(); trace(b.bytesAvailable+':l4:' + b.readUTFBytes(l)); } else if(l == 0) { b.readByte(); b.readByte(); b.readByte(); b.readByte(); b.readByte(); b.readByte(); if(b.bytesAvailable <= 0) break; var l = b.readByte(); trace(b.bytesAvailable+':l0:' + b.readUTFBytes(l)); } else if(l == 3) { b.readByte(); b.readByte(); b.readByte(); b.readByte(); b.readByte(); b.readByte(); if(b.bytesAvailable <= 0) break; var l = b.readByte(); trace(b.bytesAvailable+':l0:' + b.readUTFBytes(l)); } else { trace (b.bytesAvailable + ':'+l+':body:' + b.readUTFBytes(l)); } }
真辛苦。不過是第一次猜中了。spa