/
a.各种对象存放编译后数据的框架(结构);ok
b.变量申明和初始值;ok
c.文字和数字字面量; ok
d.赋值操作; ok
e.混合运算; ok
f.函数和事件调用;
g.特殊语法分析,如if,for,while,try...catch,throws等;
h.sql语法嵌入和变量绑定。
i.综合调试1A 01 05 00 1B 00 06 00 7D 00 00 00 a=b
1A 01 05 00 1B 00 06 00 01 01 00 00 00 00 a+=b
1A 01 05 00 1B 00 06 00 08 01 00 00 00 00 a -=b
1A 01 05 00 1B 00 06 00 0F 01 00 00 00 00 a *=b
1A 01 05 00 1B 00 06 00 16 01 02 00 40 00 01 00 a /=b
40 00 02 00 6B 00 8F 00 01 00 7D 00 00 00 1A 01 05 00 1B 00 06 00 31 00 01 00 00 00 3C 00 //a=b+1 -2 /3 *4
02 00 52 00 35 00 10 00 00 00 35 00 08 00 00 00
6B 00 35 00 18 00 00 00 64 00 49 00 02 00 5D 00
8F 00 01 00 7D 00 00 00 31 00 FF FF 00 00 8B 00 01 00 00 00 00 00 B1 01 //return 65535
00 00 01 00 00 00 //int a
//int ba=b
a+=b
a -=b
a *=b
a /=b
a=b+1 -2 /3 *4return 65535
0000156ah: 31 00 01 00 00 00 8B 00 01 00 00 00 01 00 00 00
0000157ah: 31 00 0A 00 00 00 8B 00 01 00 00 00 01 00 00 00
0000158ah: 31 00 64 00 00 00 8B 00 01 00 00 00 01 00 00 00
0000159ah: 31 00 E8 03 00 00 8B 00 01 00 00 00 01 00 00 00
000015aah: 31 00 10 27 00 00 8B 00 01 00 00 00 01 00 00 00
000015bah: 31 00 A0 86 01 00 8B 00 01 00 00 00 01 00 00 00
000015cah: 31 00 40 42 0F 00 8B 00 01 00 00 00 01 00 00 00
000015dah: 31 00 80 96 98 00 8B 00 01 00 00 00 01 00 00 00
000015eah: 31 00 00 E1 F5 05 8B 00 01 00 00 00 01 00 00 00
000015fah: 31 00 00 CA 9A 3B 8B 00 01 00 00 00 01 00 00 00
0000160ah: FF 01 08 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000161ah: FF 01 10 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000162ah: FF 01 18 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000163ah: FF 01 20 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000164ah: FF 01 28 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000165ah: FF 01 30 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000166ah: FF 01 38 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000167ah: FF 01 40 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000168ah: FF 01 48 00 00 00 F2 01 01 00 00 00 01 00 00 00
0000169ah: FF 01 50 00 00 00 F2 01 01 00 00 00 01 00 00 00 return 1
return 10
return 100
return 1000
return 10000
return 100000
return 1000000
return 10000000
return 100000000
return 1000000000
return 10000000000
return 100000000000
return 1000000000000
return 10000000000000
return 100000000000000
return 1000000000000000
return 10000000000000000
return 100000000000000000
return 1000000000000000000
return 10000000000000000000 1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00 //a=1
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00
00 00
1A 01 05 00 31 00 01 00 00 00 8B 00 01 00 7D 00 //a=1
00 00 31 00 01 00 00 00 8B 00 01 00 00 00 01 00 00 00 //return 1
1A 01 05 00 31 00 01 00 00 00 31 00 02 00 00 00 //a=1+2+3+4+5+6+7+8+9+10
52 00 31 00 03 00 00 00 52 00 31 00 04 00 00 00
52 00 31 00 05 00 00 00 52 00 31 00 06 00 00 00
52 00 31 00 07 00 00 00 52 00 31 00 08 00 00 00
52 00 31 00 09 00 00 00 52 00 31 00 0A 00 00 00
52 00 8B 00 01 00 7D 00 00 00 1A 01 05 00 31 00 01 00 00 00 31 00 02 00 00 00 //a=1 -2 -3 -4 -5 -6 -7 -8 -9 -10
59 00 31 00 03 00 00 00 59 00 31 00 04 00 00 00
59 00 31 00 05 00 00 00 59 00 31 00 06 00 00 00
59 00 31 00 07 00 00 00 59 00 31 00 08 00 00 00
59 00 31 00 09 00 00 00 59 00 31 00 0A 00 00 00
59 00 8B 00 01 00 7D 00 00 00 1A 01 05 00 31 00 01 00 00 00 31 00 02 00 00 00 //a=1 *2*3*4*5*6*7*8*9*10
60 00 31 00 03 00 00 00 60 00 31 00 04 00 00 00
60 00 31 00 05 00 00 00 60 00 31 00 06 00 00 00
60 00 31 00 07 00 00 00 60 00 31 00 08 00 00 00
60 00 31 00 09 00 00 00 60 00 31 00 0A 00 00 00
60 00 8B 00 01 00 7D 00 00 00 1A 01 05 00 35 00 10 00 00 00 35 00 08 00 00 00 //a=1/2/3/4/5/6/7/8/9/10
6B 00 35 00 18 00 00 00 6B 00 35 00 20 00 00 00
6B 00 35 00 28 00 00 00 6B 00 35 00 30 00 00 00
6B 00 35 00 38 00 00 00 6B 00 35 00 40 00 00 00
6B 00 35 00 48 00 00 00 6B 00 35 00 50 00 00 00
6B 00 35 00 58 00 00 00 6B 00 8F 00 01 00 7D 00
00 00 1A 01 05 00 31 00 01 00 00 00 31 00 02 00 00 00 //a=1^2^3^4^5^6^7^8^9^10
6E 00 31 00 03 00 00 00 6E 00 31 00 04 00 00 00
6E 00 31 00 05 00 00 00 6E 00 31 00 06 00 00 00
6E 00 31 00 07 00 00 00 6E 00 31 00 08 00 00 00
6E 00 31 00 09 00 00 00 6E 00 31 00 0A 00 00 00
6E 00 8B 00 01 00 7D 00 00 00 31 00 01 00 00 00 8B 00 01 00 00 00 01 00 00 00
00 00 00 00 01 00 04 00 00 00 05 00 5A 00 06 00
B4 00 07 00 0E 01 08 00 70 01 0C 00 CA 01 10 00
64 00 08 00 //BA 00 05 00 02 00 //len=186 lines=5
1B 00 05 00 31 00 00 00 00 00 3C 00 02 00 C5 00 //if a>0 then return 1
02 00 24 00 31 00 01 00 00 00 8B 00 01 00 00 00
01 00 00 00 1B 00 05 00 31 00 00 00 00 00 3C 00 02 00 D1 00 //if a<0 then return 1
02 00 24 00 31 00 01 00 00 00 8B 00 01 00 00 00
01 00 00 001B 00 05 00 31 00 00 00 00 00 3C 00 02 00 D1 00 if a<0 then
02 00 28 00 31 00 01 00 00 00 8B 00 01 00 00 00 return 1
01 00 00 00 03 00 38 00 31 00 FF 00 00 00 8B 00 else
01 00 00 00 01 00 00 00 return 255
end if
1B 00 05 00 31 00 00 00 00 00 3C 00 02 00 C5 00 //if a>0 then return 2
02 00 48 00 31 00 02 00 00 00 8B 00 01 00 00 00
01 00 00 00 1B 00 05 00 31 00 00 00 00 00 3C 00 02 00 C5 00 //if a>0 then return 3
02 00 6C 00 31 00 03 00 00 00 8B 00 01 00 00 00
01 00 00 00 1B 00 05 00 31 00 00 00 00 00 3C 00 02 00 C5 00 //if a>0 then return 4
02 00 90 00 31 00 04 00 00 00 8B 00 01 00 00 00
01 00 00 00 1B 00 05 00 31 00 00 00 00 00 3C 00 02 00 C5 00 //if a>0 then return 5
02 00 B4 00 31 00 05 00 00 00 8B 00 01 00 00 00
01 00 00 00 38 00 08 00 00 00 30 01 01 00 38 00 10 00 00 00 //messagebox("test111","test222")
30 01 01 00 BC 01 9B 00 B9 40 BD 01 9B 00 02 00
00 00 38 01 02 00 13 00 31 00 01 00 00 00 8B 00 01 00 00 00 01 00 00 00 //return 1
//function
00001564h: xxxxxxxxxxxxxxxxx 38 00 08 00 00 00 30 01 01 00 //FileExists("d:/123.txt")
00001574h: BC 01 33 00 B9 40 BD 01 33 00 01 00 00 00 38 01
00001584h: 01 00 13 00 00001564h: xxxxxxxxxxxxxxxxx 38 00 08 00 00 00 30 01 01 00 //FileExists("d:/123.txt")
00001574h: BC 01 33 00 B9 40 BD 01 33 00 01 00 00 00 38 01 //FileExists("d:/123.txt")连续2行
00001584h: 01 00 13 00 38 00 13 00 00 00 30 01 01 00 BC 01
00001594h: 33 00 B9 40 BD 01 33 00 01 00 00 00 38 01 01 00
000015a4h: 13 00 00001564h: xxxxxxxxxxxxxxxxx 38 00 08 00 00 00 30 01 01 00 //FileMove("d:/123.txt","d:125.txt")
00001574h: 38 00 13 00 00 00 30 01 01 00 BC 01 35 00 B9 40
00001584h: BD 01 35 00 02 00 00 00 38 01 02 00 13 00
00001564h: xxxxxxxxxxxxxxxxx 1B 00 05 00 36 01 01 00 BC 01 //FileExists(ls_filepath)
00001574h: 33 00 B9 40 BD 01 33 00 01 00 00 00 38 01 01 00
00001584h: 13 00 00001564h: xxxxxxxxxxxxxxxxx 1B 00 05 00 A9 01 06 00 BC 01 //FileRead(li_fileno,lbb)
00001574h: 3C 00 B9 40 BD 01 3C 00 02 00 00 00 B6 01 01 00
00001584h: 38 01 02 00 13 00 000018ceh: xxxxxxxxxxxxxxxxx 1E 00 05 00 A9 01 06 00 BC 01 //FileRead(li_fileno,lbb)
000018deh: 43 00 CD 40 BD 01 43 00 02 00 00 00 B6 01 01 00 //pb11.2编译,用于对比
000018eeh: 3B 01 02 00 14 00 00001564h: xxxxxxxxxxxxxxxxx 1B 00 06 00 36 01 01 00 BC 01 //FileExists(ls_filepath2)
00001574h: 33 00 B9 40 BD 01 33 00 01 00 00 00 38 01 01 00
00001584h: 13 00
00001564h: xxxxxxxxxxxxxxxxx 1B 00 06 00 36 01 01 00 BC 01 //FileDelete(ls_filepath2)
00001574h: 32 00 B9 40 BD 01 32 00 01 00 00 00 38 01 01 00
00001584h: 13 00
00001564h: xxxxxxxxxxxxxxxxx 1B 00 06 00 36 01 01 00 BC 01 //FileLength(ls_filepath2)
00001574h: 34 00 B9 40 BD 01 34 00 01 00 00 00 38 01 01 00
00001584h: 13 00
00001564h: xxxxxxxxxxxxxxxxx 1B 00 06 00 36 01 01 00 BC 01 //FileLength(ls_filepath2)连续5行
00001574h: 34 00 B9 40 BD 01 34 00 01 00 00 00 38 01 01 00
00001584h: 13 00 00001564h: xxxxxxxxxxxxxxxxx 1A 01 05 00 1B 00 07 00 36 01 //aaa=integer(ls_aaa)
00001574h: 01 00 BC 01 6D 00 B9 40 BD 01 6D 00 01 00 00 00
00001584h: 38 01 01 00 7D 00 00 00
00001594h: xxxxxxxxxxxxxxxxx 1A 01 06 00 1B 00 07 00 36 01 //bbb= long(ls_aaa)
00001594h: 01 00 BC 01 86 00 B9 40 BD 01 86 00 01 00 00 00
000015a4h: 38 01 01 00 7F 00 00 00
00001564h: xxxxxxxxxxxxxxxxx 1B 00 07 00 36 01 01 00 BC 01 //integer(ls_aaa)
00001574h: 6D 00 B9 40 BD 01 6D 00 01 00 00 00 38 01 01 00
00001584h: 13 00
00001584h: xxxxxxxxxxxxxxxxx 1B 00 07 00 36 01 01 00 BC 01 //long(ls_aaa)
00001594h: 86 00 B9 40 BD 01 86 00 01 00 00 00 38 01 01 00 //86 00 B9 40 fn in
00001594h: 13 00 00001494h: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 01 00 00 00 //rtn = gf_ok(1,1,3.2,"test")
000014a4h: 8B 00 01 00 31 00 01 00 00 00 33 00 10 00 00 00
000014b4h: 4D 00 01 00 38 00 08 00 00 00 30 01 01 00 BC 01
000014c4h: 01 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00 //01 00 01 80 fn out
000014d4h: 7D 00 00 00
000014d4h: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 02 00 00 00 //rtn = gf_ok2(2,2,5.2,"test2")
000014e4h: 8B 00 01 00 31 00 02 00 00 00 33 00 20 00 00 00
000014f4h: 4D 00 01 00 38 00 30 00 00 00 30 01 01 00 BC 01
00001504h: 02 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00
00001514h: 7D 00 00 00
000014d8h: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 02 00 00 00 //rtn = gf_ok2(2,2,5.2,"test2")第一个参
000014e8h: 31 00 02 00 00 00 33 00 20 00 00 00 4D 00 01 00 //由int改为long
000014f8h: 38 00 30 00 00 00 30 01 01 00 BC 01 02 00 01 80
00001508h: BD 01 13 00 04 00 00 00 38 01 04 00 7D 00 00 00 00001494h: xxxxxxxxxxxxxxxxx 1A 01 02 00 FF 01 10 00 00 00 //rtn = gf_ok(1000000000000000,1,3.2,"test")
000014a4h: F2 01 01 00 31 00 01 00 00 00 33 00 18 00 00 00 //rtn = gf_ok2(2000000000000000,2,5.2,"test2")
000014b4h: 4D 00 01 00 38 00 08 00 00 00 30 01 01 00 BC 01
000014c4h: 01 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00
000014d4h: 7D 00 00 00
000014d4h: xxxxxxxxxxxxxxxxx 1A 01 02 00 FF 01 28 00 00 00
000014e4h: F4 01 01 00 31 00 02 00 00 00 33 00 30 00 00 00
000014f4h: 4D 00 01 00 38 00 40 00 00 00 30 01 01 00 BC 01 //BC 01: call fn 02: fn id
00001504h: 02 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00
00001514h: 7D 00 00 00 0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 FF 01 08 00 00 00 //int rtn
0000147fh: F2 01 01 00 7D 00 00 00 //rtn = 2000000000000
0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 FA FF 00 00 //int rtn
0000147fh: 8B 00 01 00 7D 00 00 00 //rtn = 65530
0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 FA FF 00 00 //long rtn
0000147fh: 7F 00 00 00 //rtn = 655300000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 38 00 08 00 00 00 //rtn = "2000000000000000000"
0000147fh: 30 01 01 00 85 00 00 00 0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 FB 00 00 00 //rtn = 251*252*(253+254)/255
0000147fh: 31 00 FC 00 00 00 60 00 31 00 FD 00 00 00 31 00
0000148fh: FE 00 00 00 52 00 60 00 35 00 08 00 00 00 49 00
0000149fh: 02 00 6B 00 98 00 01 00 7F 00 00 00
0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 35 00 10 00 00 00 //rtn = 1/2
0000147fh: 35 00 08 00 00 00 6B 00 8F 00 01 00 7D 00 00 00 //注意:除数自动变成小数了
0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 35 00 10 00 00 00 //rtn = 1/3
0000147fh: 35 00 08 00 00 00 6B 00 8F 00 01 00 7D 00 00 000000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 33 00 08 00 00 00 //rtn = 1.11/3.14
0000147fh: 33 00 18 00 00 00 69 00 8D 00 01 00 7D 00 00 00
0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 01 00 00 00 //int rtn;rtn = 1+3
0000147fh: 31 00 03 00 00 00 52 00 8B 00 01 00 7D 00 00 00 //8B 00 01 00 tp conv
0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 01 00 00 00 //long rtn;rtn = 1+3
0000147fh: 31 00 03 00 00 00 52 00 7F 00 00 00 //7F 00 00 00 7D 00 00 00 cp
0000146fh: 2C 00 02 00 03 00 1A 01 02 00 33 00 08 00 00 00 //decimal rtn
0000147fh: 33 00 18 00 00 00 69 00 81 00 00 00 //rtn = 1.11/3.14 not tp conv000014a7h: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 01 00 00 00 //rtn = gf_ok(1,1,1.12,"test")
000014b7h: 8B 00 01 00 31 00 01 00 00 00 33 00 08 00 00 00
000014c7h: 4D 00 01 00 38 00 18 00 00 00 30 01 01 00 BC 01
000014d7h: 01 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00
000014e7h: 3C 00 01 00 7F 00 00 00
000014e7h: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 01 00 00 00 //rtn = gf_ok2(1,1,1.12,"test")
000014f7h: 8B 00 01 00 31 00 01 00 00 00 33 00 20 00 00 00
00001507h: 4D 00 01 00 38 00 18 00 00 00 30 01 01 00 BC 01
00001517h: 02 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00
3C 00 01 00 7F 00 00 00
00001537h: xxxxxxxxxxxxxxxxx 1A 01 02 00 31 00 01 00 00 00 //rtn = gf_ok3(1,1,1.12,"test")
00001537h: 8B 00 01 00 31 00 01 00 00 00 33 00 30 00 00 00
00001547h: 4D 00 01 00 38 00 18 00 00 00 30 01 01 00 BC 01
00001557h: 03 00 01 80 BD 01 13 00 04 00 00 00 38 01 04 00
00001567h: 3C 00 01 00 7F 00 00 00在末尾是函数列表:上面三个恰好是编号为引用1-3个函数,注意系统内部函数不在此列出。
00001670h: 00 00 00 00 00 00 00 20 20 20 20 20 20 20 00 6C ; ....... .l
00001680h: 66 5F 63 6F 75 6E 74 00 67 66 5F 6F 6B 00 67 66 ; f_count.gf_ok.gf
00001690h: 5F 6F 6B 32 00 67 66 5F 6F 6B 33 00 50 00 00 00 ; _ok2.gf_ok3.P... 0000146fh: xxxxxxxxxxxxxxxxx 1A 01 02 00 38 00 08 00 00 00 //rtn = long(integer(reverse(trim("123"))))
0000147fh: A3 01 00 00 BC 01 54 01 B9 40 BD 01 54 01 01 00
0000148fh: 00 00 39 01 01 00 38 01 01 00 BC 01 6D 00 B9 40
0000149fh: BD 01 6D 00 01 00 00 00 38 01 01 00 BC 01 86 00
000014afh: B9 40 BD 01 86 00 01 00 00 00 38 01 01 00 7F 00
000014bfh: 00 00 000014a3h: xxxxxxxxxxxxxxxxx A6 01 10 00 BC 01 A6 00 B9 40 //open(w_1) BC 01 fn call
000014b3h: BD 01 A6 00 01 00 00 00 B6 01 01 00 38 01 01 00 //A6 00 B9 40 fn open
000014c3h: 13 00
000014a3h: xxxxxxxxxxxxxxxxx 2C 00 10 00 BC 01 12 00 B9 40 //close(w_1)
000014b3h: BD 01 12 00 01 00 00 00 38 01 01 00 13 00
000014a3h: xxxxxxxxxxxxxxxxx 2C 00 10 00 29 00 10 00 00 00 //w_1.hide()
000014b3h: 00 00 00 00 38 01 01 00 13 00
000014a3h: xxxxxxxxxxxxxxxxx 2C 00 10 00 38 00 08 00 00 00 //w_1.triggerevent("open")
000014b3h: 30 01 01 00 29 00 1C 00 00 00 01 00 00 00 38 01
000014c3h: 02 00 13 00
000014a3h: xxxxxxxxxxxxxxxxx 2C 00 10 00 38 00 08 00 00 00 //w_1.postevent("open")
000014b3h: 30 01 01 00 29 00 18 00 00 00 01 00 00 00 38 01
000014c3h: 02 00 13 00
000014a3h: xxxxxxxxxxxxxxxxx 2C 00 10 00 1D 00 10 00 00 00 //w_1.ls_1 = "TTT'
000014b3h: 1F 01 01 00 38 00 18 00 00 00 30 01 01 00 85 00
000014c3h: 02 00
Powerbuilder PBD Syntax
原创
©著作权归作者所有:来自51CTO博客作者程序无悔的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
powerbuilder pbd文件保护方式-pb防止反编译研究
pb中编译后的变量名是于明码方式放置并形成一个列表。如:ls_111.ls_222.ls_33
powerbuilder integer 数据结构 编译器 hex -
obfuscator for powerbuilder and powerbuilder protect
This is aerbuilder pbd obfuscator 2010.05.4pbobfuscator v2010.05.4 keyword: obfuscator,pb
powerbuilder download random features 2010 -
pbd反编译
s%20Chinese.pdf...
反编译 Standard 新版本 -
Pbd反编译(PBD文件变为PBL)(pbdviewer)特性
;支持查找关键字,并高亮显示...
pb pb反编译 反编译 上传 html -
powerbuilder反编译器开发-第一步:pbd结构分析和pbkiller分析
今天做了一个简单的structrue,编译得到一个pbd文件,在pb中,全局结构是代码最少的。发现几个问题:1.pbkiller无
powerbuilder 编译器 c 数据结构 function -
PBL(PBD) File Format
10 I+--------------------------------
file powerbuilder integer string library -
Powerbuilder混淆与加密器(powerbuilder防止反编译,支持5-12) obfuscator for PowerBuilder
Powerbuilder混淆器与加密器 v2010.05.4
编译 powerbuilder PowerBuilder加密器 Powerbuilder混淆器 obfuscator -
防止pbd文件被替换
个位置的字节,比如前面第250-253三个字节,中间的三个,
p2p linq gnu 反编译 静态编译