怎的防止篡改

怎样防止篡改
危害:
对客户端程序添加或修改代码,修改客户端资源图片,配置信息,图标等,再生成新的客户端程序,实现应用钓鱼。对金融客户端,可能添加病毒代码、广告SDk,推广自己的产品;添加恶意代码窃取登录账号密码、支付密码、拦截验证码短信,修改转账目标账号、金额等等。

请教如何防止篡改
------解决方案--------------------
有第三方的安全产品可以包装你的应用
------解决方案--------------------
防止反编译破解
比如1、对抗dex2jar的反编译,加入一些无关调用方法让dex2jar反编译你的应用的时候报错
2、混淆代码,尤其是核心代码
3、采用NDK,关键代码由c++编写生成so包

反正防不胜防,一山总比一山高,目前还没有方法达到无法破解,只能不断增加难度,增加破解成本,让破解者放弃。。。