大约一年前的评论是我所做的核心,即对行为格式进行逆向工程.将旧程序视为黑盒子.我假设你仍然能以某种方式运行遗留系统.首先,将整个遗留程序转换为可以某种方式调用的子程序.这可能意味着编写脚本,在VM中运行,模拟和/或模拟设备等; 什么工作.如果您不知道如何执行此操作,请针对您的具体情况单独提问.但是,目标是自动使用旧版软件,以便您可以针对它运行探测和测试套件.
你提到加密可能会被使用.首先处理这个问题.Strongs密码具有所谓的雪崩属性:改变输入的单个位会改变输出的50%位,这相当于伪随机位翻转.您希望使用avalanche属性来(1)测试是否存在加密,以及(2)找出加密结构.例如,如果数据库一次加密一行,则在任何地方更改存储行的一位将改变加密行的平均一半比特.显然,如果改变一位改变整个文件,你会遇到一种不同的问题,而不是只有几位改变(例如校验和等).).如果您有任何形式的加密,您可能需要在调试器下运行遗留并以这种方式计算算法; 这可能不值得.
正如您所看到的,所有这些都意味着需要对遗产进行大量调用以探测其行为.你不想手工做这件事; 见第一段.为了解决另一个问题,你不太可能找到现成的代码来提取数据; 这是一个自定义代码工作.因此,既然您的自动化正在运行,您需要设置单元测试,调用遗留代码以查看应该预期的内容.
这不是一个快速的过程,也不容易.始终将预期的成功成本与以其他方式获取数据的成本进行比较,包括支付手动数据输入费用.