DashO Pro

一个保护使用JSON的Java应用程序的方法

落花浮王杯 提交于 2021-01-04 11:56:32
JSON是用于在应用程序内共享对象和数据的标准格式。对于Java,不存在对JSON处理的内置支持,但是有几种广泛使用的库可供选择。在本文中,我们将重点介绍最受欢迎的Jackson。 保护使用Jackson进行JSON处理的应用程序时,请务必注意是否使用Java对象存储JSON数据(如使用数据绑定),或者是否在没有相应Java对象的情况下完全操纵JSON数据(如Jackson一样)树模型)。这会影响我们配置混淆设置的方式。 对于数据绑定Java对象(POJO),我们需要保留get和set方法以确保适当的运行时功能。另一方面,如果我们使用树模型来操作JSON数据(没有POJO),则无需任何自定义配置就可以应用混淆。请考虑以下内容。 此示例项目使用两种不同的方式对JSON格式的字符串进行序列化和反序列化。一种方法使用不支持POJO的Jackson树模型。第二种方法使用数据绑定将JSON数据存储为POJO。以下是预期的输出: 在对jar文件应用保护之后,请注意“树模型”示例可以正常运行,但是“数据绑定”示例将引发异常: 如果按照例外说明,如果我通过在POJO中添加@JsonInclude(Include.NON_NULL)批注来允许空bean,那么我仍然会在输出中得到空结果,这也是预期的行为。 为了防止这种情况,我需要从重命名中排除Car对象的get和set方法。 这样做之后

你知道DashO Pro/Dotfuscator有效保护应用的秘诀吗?看了这篇你就明白了

余生颓废 提交于 2019-12-19 14:42:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Gartner在其2019年7月应用内保护应用内保护市场指南中将应用内保护称为“关键” 。该指南的摘要建议安全和风险管理负责人“在保护其应用程序客户端时应格外小心”,以避免“安全性失败”。 这就提出了一个问题–什么构成“应有的注意?”,尽管术语和术语可能会有所不同,但对于如何针对任何给定的应用程序/用户方案最好地定义“应有的注意”,已达成广泛共识。 “应有的护理”标准必须包括以下内容,并与之成比例: 应用程序及其数据的敏感性 某种违反或妥协发生的可能性 该事件可能造成的损害/风险 应用内安全控件(与任何其他控件一样)会带来一系列成本和风险。换句话说,不存在无风险的补偿控制。为了有效地管理应用程序和信息风险,必须对控制本身产生的成本和风险进行衡量,并在可能的情况下将其最小化。 无法有效管理这些抵消风险通常会导致开发成本和进度超支,并且可能更为关键的是,增加(而不是减少)应用程序风险。 衡量应用内保护的成本/影响包括: 实施所需时间 实施所需的培训/专业知识 在整个软件开发生命周期中增加了复杂性,例如设计,代码,测试,打包,部署,支持/监视和更新 降低了可移植性和/或平台支持 合规风险,例如隐私,出口限制等 生产性能和/或稳定性下降 额外费用或许可限制 忽视危险因素绝不是借口。同样