/////////////////////////////////////////////////
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 b
a=b
a+=b
a -=b
a *=b
a /=b
a=b+1 -2 /3 *4
return 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 00
1B 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 = 65530
0000146fh: 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 00
0000146fh: 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 conv
000014a7h: 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: 0200
分享到:
相关推荐
**PowerBuilder PBD 文字移除与代码混淆加密器** PowerBuilder是一款强大的4GL(Fourth-Generation Programming Language)开发工具,常用于构建企业级的Windows应用程序。PBD(Persistent Binary Data)是Power...
《PowerBuilder 9.0 PBL文件结构解析》 在PowerBuilder(PB)开发环境中,PBL(PowerBuilder Library)文件是重要的组成部分,它存储了PB应用程序中的所有用户对象,如窗口、表单、控件、函数等。理解PBL文件的内部...
4. **bell.pbd**: 这是一个PowerBuilder的数据窗口对象文件,很可能包含了游戏界面的布局和逻辑,数据窗口是PowerBuilder中用于显示和操作数据库数据的组件。 5. **images**: 文件夹,包含了游戏中的各种图片资源,...
PBD文件是PowerBuilder编译后的二进制对象文件,其中包含了源代码的编译信息,用于运行时调用。然而,由于PBD文件是非开放格式,原始的PowerBuilder源代码并不直接可以从这些文件中获取,这给逆向工程或代码分析带来...
在IT行业中,PowerBuilder是一款强大的可视化数据库应用开发工具,尤其在企业级应用开发中有着广泛的应用。本篇文章将深入探讨如何使用PowerBuilder 12.5来开发Web Service,这是一项将传统桌面应用与现代Web应用...
powerbuilder-pbd混淆器,代码混淆,加密,防止无意义的解密
PowerBuilder 学习心得总结 本文总结了 PowerBuilder 学习过程中的重要知识点,涵盖了事件、配置文件、应用对象、编译发行、Idle 事件、函数与代码存储、连接数据库、ConnectionBegin 和 ConnectionEnd 事件、...
`public.pbd`和`public.pbl`是PowerBuilder的库文件。PBD是编译后的库文件,而PBL是源代码库文件。`public`可能表示这个库是公共资源,包含可以复用的函数、对象和数据窗口等组件。在抽奖程序中,这些库可能包含了...
PowerBuilder(PB)是一款历史悠久的面向对象的编程工具,尤其在企业级应用开发领域有着广泛的应用。PB9指的是PowerBuilder 9版本,该版本在2004年发布,提供了许多增强的功能和改进,旨在提高开发效率和代码管理。 ...
2. PBD(PowerBuilder DataWindow)文件:包含了数据窗口对象的定义,用于与数据库交互。 3. PWF(PowerBuilder Window)文件:表示用户界面的窗口对象。 4. PFC(PowerBuilder Function Class)文件:包含自定义...
在PowerBuilder中,由于编译后的.PBD文件并不直接包含源代码,而是包含了编译后的元数据和字节码,反编译PowerBuilder应用需要专门的工具和技术。 **反编译工具:** 1. **PB反编译器:** 这类工具如PBDDecompiler和...
1. **案例源代码**:书中每个案例的完整源代码,包括PowerBuilder的PBD(编译后的库)和PBW(工作区文件),这些代码可供读者学习和参考,理解如何实现特定功能或解决特定问题。 2. **数据模型和数据库脚本**:案例...
6. `autoupdate.pbd`、`pbsoapclient90.pbd`:这些都是PowerBuilder的数据窗口对象或类的编译后文件,其中`autoupdate.pbd`可能包含了自动更新逻辑的代码,`pbsoapclient90.pbd`可能涉及SOAP(简单对象访问协议)...
在压缩包中的`systray.pbd`是PowerBuilder的数据窗口对象文件,`SysTray.pbl`是包含`Systray`对象的库文件,而`app_systray.pbt`是项目文件,包含了整个应用的配置信息。这些文件共同构成了PowerBuilder应用程序的...
《俄罗斯方块——基于PowerBuilder6的实现》 在IT领域,游戏开发一直是技术与创意交织的热门领域,其中经典游戏“俄罗斯方块”更是深受玩家喜爱。本项目是使用PowerBuilder6这一古老的但功能强大的可视化开发工具所...
Appeon for PowerBuilder 常见问题解答 Appeon for PowerBuilder 是一个专门为 PowerBuilder 应用程序迁移到基于浏览器的架构的解决方案。以下是 Appeon for PowerBuilder 的常见问题解答: Q: APB 是一个什么...
6. `pbwsclient115.pbd`:这是PowerBuilder的工程文件,包含了Web服务客户端的相关代码和资源。 7. `pbsoapclient115.pbd`:可能是一个SOAP(简单对象访问协议)客户端的库,用于通过HTTP进行XML消息交换。 8. `ck...
- **pbd_fhgt**:PowerBuilder中表的高度,表示在PowerBuilder界面中的位置 - **pbd_fwgt**:PowerBuilder中表的字体粗细(400=Normal,700=Bold) - **pbd_fitl**:是否固定位置(Y=YESN=NO) - **pbd_funl**:是否...
然而,由于PowerBuilder编译后的应用程序是二进制的.PBD文件,源代码不对外公开,保护了开发者的知识产权。但有时候,为了学习、研究或者修复已有的PowerBuilder应用程序,可能需要对这些二进制文件进行反编译。 ...
【标题】"pfcdwsrv.rar_PowerBuilder" 指的是一个与 PowerBuilder 开发相关的压缩包,其中包含了名为 "pfcdwsrv.pbd" 的文件。PowerBuilder 是一种强大的、面向对象的开发工具,主要用于构建企业级的数据库应用程序...