###反编译工具:
apkTool dex2Jar,jd-gui jadx、Jeb、AndroidKiller 其他三方反编译工具
###逆向分析修改工具:
Xposed Frida FakeAndroid 反射大师、FDex VMOS、IDA Pro Fiddler、Http Canary、Charels
逆向的最终目的是拿到dex修改并进行二次打包举例(单机游戏或工具类应用 对比支付类应用)
apktool d [apk路径]
#反编译apk
apktool b [apk文件夹] [新的apk存储位置]
#编译apk
通过三方厂商加固(腾讯御安全、腾讯乐固、奇虎360、爱加密、梆梆加固)给App包一层壳,将业务代码打包进so文件腾讯御安全
手动或借助三方工具砸壳,Dump出原本dex,在App启动进程加载hook.so,装载修改dex覆盖原dex,从而达到修改目的
增加代码签名校验,判断二次打包签名是否与原签名md5一致,不一致禁止使用 开启混淆,添加自定义混淆字典,添加合并包名
增加代码签名校验,判断二次打包签名是否与原签名md5一致,不一致禁止使用
开启混淆,添加自定义混淆字典,添加合并包名
直接删除签名校验代码 对抗抓包使用https进行SSL证书校验代码开启代理检测,检测使用代理禁止请求自定义DNS解析
直接删除签名校验代码
使用https进行SSL证书校验代码开启代理检测,检测使用代理禁止请求自定义DNS解析
最根本还是得从根源来提升逆向门槛,也就是接口安全即核心业务一定要进行服务器校验甚至二次校验,同时接口设计要尽可能防止用户篡改参数,以及限制单用户短时请求频率sign旧版本——>sost=1641978118469&sign=9a67f8649bdd22cb8ec7828cf9fb73b5&sv=111根据funcationId和body计算出字符串st=1641978118469&sign=9a67f8649bdd22cb8ec7828cf9fb73b5&sv=111然后拼接到参数中绑定时间戳防篡改sandHook\virturlHook新版本大部分核心参数会先进行一次加密,然后所有参数排序遍历拼接value通过Sha256加密为64位字符串
没有最安全的程序,也没有最强大的逆向尽量少写本地全局重要变量,如IsVip等尽量数据从服务器获取尽量客户端、服务器双向验证数据可靠性
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法