首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

VMProtect 3.x- 如何对vmp静态分析(2)

虚拟分支中最明显的一致性是PUSHVSP的使用。当两个加密值位于VSP + 0、 和的堆栈上时,将执行此虚拟指令VSP + 8。这些加密值使用给定块的最后一个LCONSTDW值解密。因此,可以基于这两个一致性创建一个非常小的算法。算法的第一部分将简单地使用std::find_if反向迭代器来定位给定代码块中的最后一个LCONSTDW。该 DWORD 值将被解释为用于解密两个分支的加密相对虚拟地址的 XOR 密钥。std::find_if现在执行第二个步骤来定位PUSHVSPvirtual 指令,当执行时,两个加密的相对虚拟地址将位于堆栈上。该算法将每条PUSHVSP指令的顶部两个堆栈值解释为加密的相对虚拟地址,并对最后一个LCONSTDW值应用 XOR 运算。

095

存储虚拟化想法好!但改造传统系统能力仍受质疑

传统存储解决方案的弊病很多,这些弊病多由异构存储和SAN孤岛造成。异构存储是说在企业IT系统中,存储设备往往来自不同供应商。不同的供应商意味着不同的底层架构、不同的管理界面、功能、性能以及运维升级的操作都会有很大的差别。如果客户需要对存储系统进行升级,就必须要找到相应的供应商进行操作,这样一来,企业很容易被一家或者几家供应商所绑架。 此外,例如,为了将数据从一家厂商的存储阵列移植到另一家厂商的存储阵列,客户可能需要获得专业化服务,而这些服务需要额外的高昂费用,增加企业的IT运维成本。另一方面,多种存储系统共

012
领券