零基础一对一技术咨询服务(远程指导)
防逆向
代码混淆、针对不同逆向工具保护技术、增加逆向难度(java代码native化)、动态加载技术、代码验证技术
代码混淆
工具:proguard
常用操作:保留选项、压缩、优化、混淆。
功能:
混淆代码(注意使用混淆文件的时候需加入自己的具体操作以防程序无法运行)
删除无用Log:可删除调试和分析代码逻辑时的log,也可删除不使用的调试接口和测试环境
问题:
混淆错误:用到第三方jar时要指明proguard不要检查
运行错误:代码不能混淆的情况下
调试定位较为痛苦,开发者需要自己备份一份map记录对应混淆映像
DEX保护
工具:dex文件混淆器dalvik-obfuscato、DexGuard
原理:fill-array-data-payload指令,隐藏原始字节码
加壳处理:android平台的加壳公司:APKProtect、Bangcle、LIAPP、Qihoo
脱壳工具:android-unpacker(Github)
so文件保护
so文件:Native C/C++代码编译得到的文件
问题:对ELF文件加壳、对Android系统中so文件的加载、调用机制的处理
防止jd-GUI查看代码
方法:添加无意义的代码段、针对jd-GUI的bug使其运行时崩溃。最常用的是添加无意义switch代码。
防止二次打包
APK机器识别原理
包名及签名
1.java层签名验证
定位签名方式:搜索Landroid/content/pm/PackageInfo:->signatures
2.服务器验证
可行性不高,依赖网络,可伪造。
3.NDK技术底层获取签名和验证
将获取和验证的方法封装在so文件中,破解难度加强。但是用IDA PRO工具等也可以完美获取验证签名的具体位置
4.自定义文件指纹验证
自定义一天签名和校验机制算法
防止动态分析
Anti-debug和Anti-Anti-debug之间的博弈
检测运行环境:
检测IDA等工具:使用IDA或者gdb等工具的时候,会在android进程中启动一些本地进程,如android_server、gdbserver等
查看是否存在模拟器:使用设备的imei和build.MODE判断
防止动态注入:防止对方调用ptrace函数或保证平台进行注入检测
Android渗透测试
主要方向
网络调试、数据表嗅探、网络攻击、口令破解、私有文件排查、逆向代码分析
工具
Drozer(又称Mercury),针对android系统地安全审计与攻击框架
瑞士军刀busybox,安装步骤:
(1)root设备
(2)busybox二进制文件,选择对应架构的最新版本
(3)将busybox传入到android设备:adb push busybox /mnt/sdcard
(4)重新挂载/system目录读写权限
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
(5)复制busybox文件到/system/xbin并将其修改为“可执行”的权限
cp /mnt/sdcard/busybox /system/xbin
chomd 755 busybox
(6)安装busybox
busybox --install
集成化工具:dSploit、zANTI
加固问题
1.加固厂商
加固宝360、娜迦nagapt、梆梆bangcle、爱加密ijm、阿里、百度,盛大,腾讯,网秦通付盾
2.加固厂商对应的特征
娜迦libchaosvmp.so,libddog.so,libfdog.co
爱加密libexec.so,libexemain.so
梆梆libsecexe.so,libsecmain.so,libDexHelper.so
360libprotectClass.so,libjiagu.so
通付盾libegis.so
网秦libnqshield.so
百度libbaiduprotect.so
3.脱壳方法
修改系统源码自动脱壳
通过hook方式对关键函数脱壳
开源工具ZjDroid,DexHunter脱壳
IDA或者GDB动态调试脱壳
欢迎关注"哆啦安全"视频号,对移动安全、网络安全、Web安全、Android系统Framework/驱动/内核开发等感兴趣的都可以关注,目前处于需求调研、备课阶段,主要以需求、实战为主,欢迎加入"哆啦安全"体验
推荐阅读
bundletool工具使用(Android aab包安装)
Google Play上架App之aab转apk和apk转aab的使用方法
Android aab包google上架避免关联下架的解决方案(App出海企业的福利)
Android App Bundle混淆加密加壳加固保护的解决方案(过Google App上架审核)
最全Android及资源混淆方法汇总(无需加固节约成本并将APP上架Google Play成功的最佳方案)
点赞、转发、分享
原文始发于微信公众号(哆啦安全):Android防逆向基础
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论