PB反编译专家 SHUDEPB 使用说明

这是一个长时间的计划,起于03年,05年初用PB完成大致的功能,后来用VC改写了一年(因为不是经常有时间)。严格意义上,它只是我另一个程序的副产品,可惜那个程序可能永远不会出现了,入行几年,锐气都磨光了。
比先前出现过的反编译器有几个进步。
1.可以反编译出几乎所有的SQL.
2.并非孤立地看一个对象,从整个LIBRARYLIST进行搜索,对象的引用、继承上可以更精确地命中。
3.对象可以导出为PB接受的*.sr*.
4.可以反向生成structure
5.可以直接生成pbl,但有BUG,函数和事件的次序错乱,需在PBL中IMPORT第3点中导出的*.SR*.(如果没有PBL就直接导入,手工工作量相当大,因为PB会提示这个没有那个没有)
6.全面支持PB6\7\8\9\10\10.5(可以随时加入对PB11.0的支持,但许多原因下,没有打包进来).
不能完成的任务
1.对1.7G的PB程序(共424483个函数\事件)进行批量测试,有297个函数\事件出现非预期结果(非预期结果就是错误的,但预期结果并非就一定正确,因为不可能人工一一核对),其中2/3强是由于引用的对象不在同一PBL中,如果包含了正确的LIBRARYLIST,它们将是正确的。剩下的大部份,通过人工的方式可以匹配到(因为是DEMO,方法就不列出啦,前面的2/3当然更可以),如果由程序完成,将需要大量改写,所以不再尝试。余下的37处错误程序无法命中。
2.DEMO不对打包的资源进行EXPORT(其实在03年我就已经发布过EXPORT资源的程序在一个PB的论坛上)
3.DEMO的限制,只生成一部份,而非全部程序,还有另外小部份功能的限制,并且需要网络辅助计算。
本来想修正了以上的错误后才发布程序,可是已经拖得太久了,从前错误地把冲动当做是自己的能力,有能力的时候,时间没了,能力和时间都有了,精力没了。