分享:APK高级保护方法解析(二)

F-Secure在2013下半年威胁研究报告中称,Android手机恶意软件占所有手机恶意软件的97%,比2012年的79%上升了18%,仅从这些数据来看,就知道Android用户的安全环境是多么糟糕。解决这些问题,需要开发者对自己的APK做好安全保护,防止被恶意篡改、二次打包及盗版。

下面小编就接着分享一下APK高级保护的第二种方法——文件夹混淆

文件夹混淆主要指的是利用Windows,Linux,Android 三个系统环境下的文件夹名的特殊性来对源码文件夹进行混淆,让混淆后的文件夹在Window看起来失去原有的逻辑性,但是完全不影响其在Android系统上的运行。

它的原理是:在Windows和Linux下文件夹的名字是不区分大小写的,但是在Android环境下它却要区分大小写。.2在Linux算一个特殊符号,所以文件夹名字里面添加的.2会被忽略,但是windows下.2却是一个很普通的字符串。

具体方法:反编译开发完成的APK,找到包目录下的最后一层文件夹(例如:包名是com.example.test2222,找到test2222所在的文件夹),修改test2222文件夹名字为test2222.2并创建文件夹Test2222,然后随意存放一个有效的smali文件在Test2222里面,然后重新重写打包成APK签名。 如下图:

这种方法可以达到不错的保护效果,但是开发者一般都没有额外的时间和精力做加固保护,可以借助免费的第三方加固服务平台爱加密(www.ijiami.cn)。爱加密的基本原理是对APK加壳,隐藏源代码,从而防止反编译。它可以对XML 主配文件进行二次签名保护,保护SO文件不被破解和应用,同时可以保护APK不被二次打包。爱加密平台的推出不仅保护开发者和广大用户的利益,而且能有效遏制打包党的不良行为,净化整个APP市场,打造一个绿色的APP生态链。

分享:APK高级保护方法解析(二)

时间: 2024-10-09 22:13:07

分享:APK高级保护方法解析(二)的相关文章

分享:APK高级保护方法解析(一)

查天气.找美食.玩游戏.买电影票.网上购物--安装APP后,手机变成"百事通".不过,智能手机越来越"聪明",也越来越不安全,病毒感染.垃圾短信.隐私泄露等关乎手机用户切身利益的问题频发.保护手机安全,不仅需要用户到正规官网下载APP,更重要的是开发者要做好APK安全保护工作.                       http://write.blog.csdn.net/postedit 下面小编就分享一下APK高级保护的方法--运行时验证 运行时验证,主要是指

分享:APK高级保护方法解析(三)

刷朋友圈.玩游戏.看新闻,智能手机正在以我们无法想象的速度飞快发展,但是随之而来的安全问题也越来越引人关注,APP二次打包.反编译.盗版的现象屡见不鲜,因此需要对APK进行加固保护. 目前市面上常见的APK保护方式主要有图片故意破坏.伪加密.APK包破坏,但是这些方式的保护效果都存在局限性:图片故意破坏在老版本的APK tool上面可行,在最新版本的APK tool就不可行:伪加密的加密方式和解密方式也早已公布导致它的安全程度大大降低:APK包破坏会在个别市场不能识别而导致不能上传,并且使用压缩

iOS开发——语法篇OC篇&高级语法精讲二

Objective高级语法精讲二 Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发.下面通过分析Apple开源的Runtime代码(我使用的版本是objc4-646.tar)来深入理解Objective-C的Runtime机制. Runtime数据结构 在Objective-C中,使用[receiver message]语法并不会马上执行receiver对象的message方

Android Service完全解析(二)

转载请注册出处:http://blog.csdn.net/guolin_blog/article/details/9797169 在上一篇文章中,我们学习了Android Service相关的许多重要内容,包括Service的基本用法.Service和Activity进行通信.Service的销毁方式.Service与Thread的关系.以及如何创建前台Service.以上所提到的这些知识点,基本上涵盖了大部分日常开发工作当中可能使用到的Service技术.不过关于Service其实还有一个更加

java创建二维码与解析二维码

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”.“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度:具有一定的校验功能等.同时还具有对不同行的信息自动识别功能.及处理图形旋转变化点.

Android Fragment解析(二)

上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API. 本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragment创建对话框,如何与ActionBar,MenuItem集成等~~ 1.管理Fragment回退栈 类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fr

清除浮动方法解析

清除浮动方法解析 清除浮动带来的额外影响 如果对于浮动不熟悉的同学,可以看看介绍float的文章.传送门:CSS float 我们知道,在一个父元素内如果遇到某个浮动元素,此时父元素的高度会发生塌陷.针对父元素高度塌陷的问题,现在已经有了很多的解决方案.针对每一个方案,我们来进行深度的剖析. 添加空块级元素 这种方法比较容易,但是要注意的是这个空元素必须是一个块级元素,不能是行内元素或者是行内块元素.缺点就是多了一些没有意义的标签.代码如下. //HTML <div class="cont

【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析

作者 : 韩曙亮 转载请著名出处 :  http://blog.csdn.net/shulianghan/article/details/38487967 一. MediaPlayer 状态机 介绍 Android MediaPlayer 状态即图例 : 1. Idle (闲置) 状态 和 End (结束) 状态 MediaPlayer 对象声明周期 : 从 Idle 到 End 状态就是 MediaPlayer 整个生命周期; -- 生命周期開始 : 进入 Idle (闲置) 状态; -- 生

用原始方法解析复杂字符串,json一定要用JsonMapper么?

转自数据之巅原文用原始方法解析复杂字符串,json一定要用JsonMapper么? 阅读目录 1.不规则非json字符串 2.键值对字符串分割函数 3.复杂Json格式的字符串 4.标准的json格式 5.总结 经常采集数据,肯定会碰到解析字符串,包括整个页面的html,或者json以及一些不标准的json格式... 以前用json序列化,有时候需要实体类,有的时候没有,比较麻烦,听说可以用JsonMapper,解析为字典格式.不过没用过,习惯了用最原始的方法来解析字符串,所以这里分享几个解析的