> En tous cas, ils semblent souhaiter garder leur code protégé pour le
> moment !
> A bon décompileur, salut ;) !
ils ont basiquement precede tous leurs nom de classes par "_-"
genre au lieu de "com.yogurt3d::3D"
ils compilent "com.yogurt3d::_-3D"
et ca, ca plante HP swfscan, abcdump.jar etc.
mais ca plante pas abcdump.as du projet tamarin ;)
-------
// script3
class com.yogurt3d::_-3D extends flash.display::Sprite
{
function com.yogurt3d::_-3D(private::SingletonEnforcer):* /*
disp_id=-1 method_id=22 */
{
// local_count=2 max_scope=1 max_stack=3 code_len=22
0 getlocal0
1 pushscope
2 getlocal0
3 jump L1
7 getlocal1
8 convert_u
9 pushscope
10 bitand
11 equals
12 setlocal3
L1:
13 constructsuper (0)
15 getlex _-66::_-Uh
18 getproperty instance
20 pop
21 returnvoid
}
function _-Uv
(String,int,int,int,Boolean,flash.display::Sprite):Boolean /*
disp_id=0 method_id=24 */
{
// local_count=7 max_scope=1 max_stack=9 code_len=41
0 getlocal0
1 pushscope
2 pushfalse
3 jump L1
7 subtract_i
8 pushnull
9 hasnext
10 subtract
11 greaterthan
12 coerce_a
L1:
13 iftrue L2
17 findpropstrict private::_-Us
20 callpropvoid private::_-Us (0)
L2:
24 getlex each::_-EX
26 getproperty instance
28 getlocal1
29 getlocal2
30 getlocal3
31 getlocal 4
33 getlocal 5
35 getlocal 6
37 callproperty _-Uv (6)
40 returnvalue
}
function private::_-Us():void /* disp_id=0 method_id=23 */
{
// local_count=2 max_scope=1 max_stack=5 code_len=74
0 getlocal0
1 pushscope
2 findpropstrict private::serverVersion
5 jump L1
9 setlocal1
10 pushtrue
11 lessthan
12 rshift
13 pop
14 pushtrue
L1:
15 constructprop private::serverVersion (0)
19 coerce flash.utils::ByteArray
21 setlocal1
22 getlex VERSION
25 getlocal1
26 jump L2
30 pushundefined
31 istypelate
32 decrement_i
33 strictequals
34 increment
35 bitxor
L2:
36 callproperty toString (0)
40 ifeq L3
44 findpropstrict Error
47 pushstring "Version mismatch. "
50 pushstring "Your version is "
53 add
54 getlex VERSION
57 add
58 pushstring " which should have been "
61 add
62 getlocal1
63 callproperty toString (0)
67 add
68 callproperty Error (1)
72 throw
L3:
73 returnvoid
}
function _-U(int,int):void /* disp_id=0 method_id=26 */
{
// local_count=3 max_scope=1 max_stack=5 code_len=28
0 getlocal0
1 pushscope
2 pushtrue
3 jump L1
7 urshift
8 greaterequals
9 greaterequals
10 getglobalscope
11 pushfalse
12 pushnull
L1:
13 iffalse L2
17 getlex each::_-EX
19 getproperty instance
21 getlocal1
22 getlocal2
23 callpropvoid _-Nx (2)
L2:
27 returnvoid
}
function _-CW():void /* disp_id=0 method_id=25 */
{
// local_count=1 max_scope=1 max_stack=5 code_len=25
0 getlocal0
1 pushscope
2 getlocal0
3 jump L1
7 pushscope
8 getlocal2
9 istypelate
10 decrement
11 setlocal1
12 add_i
L1:
13 getlex flash.events::Event
15 getproperty ENTER_FRAME
18 getlex private::_-Eu
21 callpropvoid addEventListener (2)
24 returnvoid
}
function private::_-Eu(flash.events::Event):void /* disp_id=0
method_id=28 */
{
// local_count=2 max_scope=1 max_stack=3 code_len=10
0 getlocal0
1 pushscope
2 findpropstrict _-CV
5 callpropvoid _-CV (0)
9 returnvoid
}
function _-CV():void /* disp_id=0 method_id=27 */
{
// local_count=1 max_scope=1 max_stack=3 code_len=22
0 getlocal0
1 pushscope
2 getlex _-66::_-Uh
5 jump L1
9 bitnot
10 urshift
11 hasnext
12 pushscope
13 pushtrue
14 pushnull
L1:
15 getproperty instance
17 callpropvoid _-3d (0)
21 returnvoid
}
static function get instance():com.yogurt3d::_-3D /* disp_id=3
method_id=21 */
{
// local_count=1 max_scope=1 max_stack=5 code_len=45
0 getlocal0
1 pushscope
2 pushtrue
3 jump L1
7 nextvalue
8 lessequals
9 pop
10 pushfalse
11 setlocal0
12 dup
L1:
13 iffalse L2
17 getlex private::_-4n
20 pushnull
21 ifne L2
25 findproperty private::_-4n
28 getlocal0
29 findpropstrict private::SingletonEnforcer
32 constructprop private::SingletonEnforcer (0)
36 construct (1)
38 setproperty private::_-4n
L2:
41 getlex private::_-4n
44 returnvalue
}
static var private::serverVersion:Class /* slot_id 2 */
static const VERSION:String = "0.0.2" /* slot_id 1 */
static var private::_-4n:com.yogurt3d::_-3D = null /* slot_id 3 */
static function com.yogurt3d::_-3D$cinit():* /* disp_id=0
method_id=20 */
{
// local_count=1 max_scope=1 max_stack=4 code_len=48
0 getlocal0
1 pushscope
2 pushfalse
3 jump L1
7 greaterequals
8 newactivation
9 bitor
10 getlocal0
11 urshift
12 add
L1:
13 iftrue L2
17 findproperty VERSION
20 pushstring "0.0.2"
23 initproperty VERSION
26 pushfalse
27 iftrue L3
31 findproperty private::serverVersion
34 getlex com.yogurt3d::Yogurt3D_serverVersion
37 setproperty private::serverVersion
L3:
40 findproperty private::_-4n
43 pushnull
44 setproperty private::_-4n
L2:
47 returnvoid
}
}
class private::SingletonEnforcer extends Object
{
function private::SingletonEnforcer():* /* disp_id=-1 method_id=30
*/
{
// local_count=1 max_scope=1 max_stack=1 code_len=6
0 getlocal0
1 pushscope
2 getlocal0
3 constructsuper (0)
5 returnvoid
}
static function private::SingletonEnforcer$cinit():* /* disp_id=0
method_id=29 */
{
// local_count=1 max_scope=1 max_stack=1 code_len=3
0 getlocal0
1 pushscope
2 returnvoid
}
}
function script3$init():* /* disp_id=0 method_id=31 */
{
// local_count=1 max_scope=7 max_stack=4 code_len=81
0 getlocal0
1 pushscope
2 getscopeobject 0
4 jump L1
8 setlocal1
9 strictequals
10 multiply_i
11 subtract_i
12 checkfilter
13 bitxor
L1:
14 getlex Object
16 pushscope
17 getlex flash.events::EventDispatcher
19 pushscope
20 getlex flash.display::DisplayObject
22 pushscope
23 getlex flash.display::InteractiveObject
26 pushscope
27 getlex flash.display::DisplayObjectContainer
30 jump L2
34 pushfalse
35 getglobalscope
36 setlocal0
37 negate_i
38 greaterthan
39 add
L2:
40 pushscope
41 getlex flash.display::Sprite
43 pushscope
44 getlex flash.display::Sprite
46 newclass com.yogurt3d::_-3D
48 popscope
49 popscope
50 popscope
51 popscope
52 popscope
53 jump L3
57 strictequals
58 increment_i
59 pushundefined
60 swap
61 not
62 convert_i
L3:
63 popscope
64 initproperty com.yogurt3d::_-3D
67 getscopeobject 0
69 getlex Object
71 pushscope
72 getlex Object
74 newclass private::SingletonEnforcer
76 popscope
77 initproperty private::SingletonEnforcer
80 returnvoid
}
-------
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de
Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---