怀抱观古今,寝食展戏谑。这篇文章主要讲述Android安全通讯相关的知识,希望能为你提供帮助。
最近在弄关于移动端安卓通讯的问题,总结下来,主要分为三方面防护,今天先记录第一点:防止恶意代码的注入。
“android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。
要实现代码内部防止APP被二次打包首先得了解APK的机器识别原理,APK的唯一识别是依靠包名和签名来做鉴定的,类似豌豆夹的洗白白、360手机卫士等安全软件对APK的山寨识别,他们就是依赖包名来确定APK然后通过签名来确定其是否山寨。所以说自己的程序内部在启动的时候可以通过获取APK本身的签名然后和正确的签名做对比来识别自己是否被二次打包。
【Android安全通讯】
通过PackageManag对象可以获取APK自身的签名
文章图片
通过对签名的码的分解得到一串20左右的字符串,此字符串则是APK的签名的MD5值,通过获取的签名MD5值与正确的MD5值进行对比,就可以识别其APK是否被盗版。
文章图片
经过比对,如果MD5值不一样,则可判断为二次打包,可以进行退出程序等处理。
本文出自 “移动平台开发” 博客,请务必保留此出处http://liuxudong1001.blog.51cto.com/10877072/1863910
推荐阅读
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android 手机卫士13--进程设置
- Android 手机卫士12--进程管理
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
- Objective-C类型检查和动态绑定详解 – Objective-C开发教程
- 算法设计(如何解决2-可满足性(2-SAT)问题())
- 如何实现图像2D转换(|物体旋转)
- 计算机图形学中的2D转换算法实现|S1(对象缩放)
- 2D和2.5D内存组织是什么(有什么区别?)