逆向分析最常用的有三种方法是什么?怎样防止反编译?

网络分析
通过分析和篡改接口数据,可以有效的破解通过接口数据来控制客户端行为的app,常用的抓包工具有Tcpdump, WireShark, Charles等,windows平台有fidller静态分析
通过砸壳、反汇编、classdump头文件等技术来分析app行为,通过这种方式可以有效的分析出app实用的一些第三方库,甚至分析出app的架构等内容,常用的工具有dumpdecrypted(砸壳)、hopper disassembler(反汇编)、class_dump(导头文件)动态分析
动态分析指的是通过分析app的运行时数据,来定位注入点或者获取关键数据,常用的工具有cycript(运行时控制台)、 lldb+debugserver(远程断点调试)、logify(追踪)
本地数据加密
对NSUserDefaults,sqlite存储文件数据加密,保护帐号和关键信息URL编码加密
对程序中出现的URL进行编码加密,防止URL被静态分析网络传输数据加密
对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取数据方法体,方法名高级混淆
对应用程序的方法名和方法体进行混淆,保证源码被逆向后无法解析代码程序结构混排加密
对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低借助第三方APP加固,例如:网易云易盾



你可能感兴趣的:(ios开发)