UnFoxAll是一套基于'逆向工程'原理的适合Fox所有系列文件的反编译工具。FOX各版本数据库开发语言采用伪编译的编译方式,为反编译提供了理论基础。到目前为止,我国正在使用的数据库软件绝大部分仍是由FOX系列软件开发的,鉴于FOX系列文件的强大的数据库功能和不断增强的数据处理能力,在今后相当长的一段时期内,FOX系列软件仍将作为主要的数据库开发工具!
FoxPro反编译工具可以完整的从FOX所有版本(FoxBase, FoxPro2.x for DOS/Windows, VFP3.0/5.0/6.0)开发的EXE,.APP,.FOX,.SPX, .MPX, .QPX, .PJT及其他文件中完整反编译出所有源程序及其他文件这是它的演示版,其功能限制为:反编译文件所包含的文件个数不能超过40个!
优点:界面和功能较实用
缺点:支持到vfp6 sp3后再没更新,反编译还有不少错误,尤其是SQL语句方面,表单代码没法反编译。
源码遗失:对开发人员而言,源码遗矢,而用户提出增加、修改升迁数据库系统部分功能的要求时使用本软件得到源码。
病毒破坏:由于数据库系统遭到计算机病毒破坏或计算机掉电而造成数据库系统不能正常运行或无法运行,而原程序又无备份,使用本软件得到程序源码。
失去维护: 任何软件都有其适用期 ,如果数据处理算法、计算方法、功能已不符合现行的规则,而由于种种原因无法获得原开发商的升迁、更改、维护,可用本软件得到程序源码后进行再开发。
学术研究: 基于学术研究的目的,在获得版权所有者许可的情况下进行编程技巧、风格的学习研究。
全能反编译
完整的从FOX所有版本(Foxbase,FoxPro
2.x for DOS/Windows,Visual FoxPro3.0, Visual FoxPro 5.0,Visual Foxpro
6.0)开发的.EXE,.APP,.FOX,.SPX,.MPX,.QPX,.PJT等文件中反编译出全部源程序及其他文件。
五次文件扫描定位
针对各种非标准格式FOX文件
UNFOXALL采用多达5次的文件扫描定位,只要是FOX编译产生的文件,都可成功反编译!
(1).标准文件扫描快速定位策略
根据FOX文件结构快速定位,大部分FOX文件经过此次扫描定位可成功反编译。
(2).标志扫描方式
全文搜索并进行身份ID尝试鉴别定位文件,适用于文件头部损坏,尾部损坏或附带垃圾数据等不完整文件。
(3).扫描以加密方式编译生成的FOX文件并自动解码还原。
(4).扫描以非正常文件名方法加密的文件。
目前,有相当一部分FOX开发的软件采用非正常文件名方法的加密方法。(即修改文件内部的文件名信息,置为ASCII码2Dh以下的字符,由于操作系统本身的原因,普通反编译软件在创建这类文件名时会出错,从而导致可反编译失败)UNFOXALL对这类软件采用自动产生别名的方法特殊处理,因此可顺利反编译。
(5).提供功能强大的万能脱壳工具deshell.exe,可反编译使用二次加密的文件。
由于相当一部分FOX
2.x for dos/windows的数据库软件采用套加密反跟踪,当软件的数据处理算法,计算方法,功能已不符合现实情况而确需修改时
,必将给工作带来极大的损失和不便,而常常是多个加密软件层层嵌套加密,手工脱壳难度极大,而且脱壳产生的文件由于极难和标准文件一致,故很难进行反编译。针对这类情况,UNFOXALL采用'概念脱壳'的全新思路,采用动态解密的方法,对于目前所有的FOX
2.x for
dos/windows加壳软件,单独或多种加密软件嵌套加密过的程序可自动成功脱壳,同时由于采取是'概念脱壳'的全新思路,也可以对付未来的加密外壳,(对于FoxPro和Visual
FoxPro,如果加密软件修改了其动态解释库的编译方法则不能直接反编译,因为加过密的文件已不是标准文件格式,须单独处理)。
可自动创建工程文件
UNFOXALL可自动根据反编译结果创建FOX工程文件。适用于FoxPro 2.x for dos/windows,Visual FoxPro 3.0/5.0/6.0。提供工程文件自动创建工具 BuildPjx.PRG。
可自动添加调试信息及事件代码
对于Visual FoxPro而言,其表单文件,可视类库,DBC文件内可以附带目标事件代码,如果Fox文件在最初编译时去掉调试信息选项,则反编译后重新编辑时不能看到源代码。UnFoxAll可对其进行反编译并将源代码存放入相应字段。从而可以重新编辑事件代码。
支持只反编译文件部分文件
即时查看反编译结果
在反编译时可以即时的查看PRG,TXT等文件的内容
内建强制覆盖反编译功能
在以下情况下您可以选择强制覆盖反编译:
Visual Foxpro
3.0/5.0/6.0允许表单,可视类库,DBC文件中调用在 *.H
中定义的常量,在FoxPro编译时,这些常量将被其代码值代替。
VFP把编译后的代码存储到表单,可视类库,DBC文件的OBJCODE字段中,编译时如果选择'带调试信息',由于
*.h为非必选发布文件由于在这种情况下工程文件内的scx/vcxs内已包含源代码,如果不选择强制覆盖反编译,但由于 *.h
未发布,故在重新编译时可能会出现'找不到头文件'的错误。可选择强制覆盖反编译解决此问题。
提供SPR->SCX,MPR->MNX可视化编辑的强大转化工具SPR2SCX.PRG
在FOXPRO
2.5/2.6中,可以利用‘屏幕生成器’编写屏幕文件(其生成文件为*.scx/*.sct);也可利用‘菜单生成器’编写菜单文件(其生成文件为*.mnx/*.mnt)。当连编项目时,FOXPRO
2.5/2.6便对这些文件进行整理,生成一个与prg类似的程序文件*.spr,然后对此spr文件进行伪编译,生成*.spx并把此spx文件连入工程文件内,'菜单文件'类似。UNFOXALL在反编译时,将把*.spx重新转化为*.spr,*.mpx反编译成*.mpr。但是由于*.spr/*.mpr为纯代码文件,无法实现可视化编辑,通过SPR2SCX.PRG转化后可以重建屏幕文件和菜单文件,从而实现可视化编辑。(注:SPR2SCX.PRG
只能处理‘独立’的屏幕文件和菜单文件,屏幕文件只能是FOXPRO 2.5/2.6生成的,因为在Visual
Foxpro中不产生*.spx文件,伪目标代码直接存放在*.scx/sct表单文件中)。
彻底的长文件名支持
直接支持Visual Foxpro 6.0 特殊的日期、时间表示法
操作简单
反编译成功率可达99.9%
UnFoxall
3.0增强版
是针对企业用户的版本,UnFoxAll的3.0增强版增加了对FoxPro运行时间库的分析。可以反编译部分修改运行时间库方法加密的程序。另外对知识库也进行了技术改进。
unfoxall的3.0版加强对foxpro加密程序的反编译能力。