当前位置: 首页 > news >正文

信誉好的营销单页网站seo实战指导

信誉好的营销单页网站,seo实战指导,苏州品牌网站设计企业,网站建设中标为什么要加固? APP加固是对APP代码逻辑的一种保护。原理是将应用文件进行某种形式的转换,包括不限于隐藏,混淆,加密等操作,进一步保护软件的利益不受损坏。总结主要有以下三方面预期效果: 1.防篡改&#x…

为什么要加固?

APP加固是对APP代码逻辑的一种保护。原理是将应用文件进行某种形式的转换,包括不限于隐藏,混淆,加密等操作,进一步保护软件的利益不受损坏。总结主要有以下三方面预期效果: 1.防篡改:通过完整性保护和签名校验保护,能有效避免应用被二次打包,杜绝盗版应用的产生;2.防逆向:通过对代码进行隐藏以及加密处理,使攻击者无法对二进制代码进行反编译,获得源代码或代码运行逻辑;3.防调试:通过反调试技术,使攻击者无法调试原生代码或Java代码,阻止攻击者获取代码里的敏感数据。

APP加固技术发展历程

APK加固整体思路

加固整体思路:先解压apk文件,取出dex文件,对dex文件进行加密,然后组合壳中的dex文件(Android类加载机制),结合之前的apk资源(解压apk除dex以外的其他资源,如manifest、res等),打包新的apk文件,并对新的apk文件进行对齐、签名。

Android加固原理

Dex文件整体加固原理如下:

该过程涉及到三个对象,分别为

1.源程序     源程序也就是我们的要加固的对象,这里面主要修改的是原apk文件中的classes.dex文件和AndroidManifest.xml文件。   2.壳程序     壳程序主要用于解密经过加密了的dex文件,并加载解密后的原dex文件,并正常启动原程序。   3. 加密程序     加密程序主要是对原dex文件进行加密,加密算法可以是简单的异或操作、反转、rc4、des、rsa等加密算法。     该加固过程可以分为如下4个阶段:       (1) 加密阶段       (2)合成新的dex文件       (3)修改原apk文件并重打包签名       (4)运行壳程序加载原dex文件

加密阶段

加密阶段主要是讲把原apk文件中提取出来的classes.dex文件通过加密程序进行加密。加密的时候如果使用des对称加密算法,则需要注意处理好密钥的问题。同样的,如果采用非对称加密,也同样存在公钥保存的问题。

合成新的dex文件

这一阶段主要是讲上一步生成的加密的dex文件和我们的壳dex文件合并,将加密的dex文件追加在壳dex文件后面,并在文件末尾追加加密dex文件的大小数值

在壳程序里面,有个重要的类:ProxyApplication类,该类继承Application类,也是应用程序最先运行的类。所以,我们就是在这个类里面,在原程序运行之前,进行一些解密dex文件和加载原dex文件的操作。

修改原apk文件并重打包签名

在这一阶段,我们首先将apk解压,会看到如下图的6个文件和目录。其中,我们需要修改的只有2个文件,分别是classes.dex和AndroidManifest.xml文件,其他文件和文件加都不需要改动。   首先,我们把解压后apk目录下原来的classes.dex文件替换成我们在上一步合成的新的classes.dex文件。然后,由于我们程序运行的时候,首先加载的其实是壳程序里的ProxyApplication类。所以,我们需要修改AndroidManifest.xml文件,指定application为ProxyApplication,这样才能正常找到识别ProxyApplication类并运行壳程序。

运行壳程序加载原dex文件

Dalvik虚拟机会加载我们经过修改的新的classes.dex文件,并最先运行ProxyApplication类。在这个类里面,有2个关键的方法:attachBaseContext和onCreate方法。ProxyApplication显示运行attachBaseContext再运行onCreate方法。   在attachBaseContext方法里,主要做两个工作:

  1. 读取classes.dex文件末尾记录加密dex文件大小的数值,则加密dex文件在新classes.dex文件中的位置为:len(新classes.dex文件) – len(加密dex文件大小)。然后将加密的dex文件读取出来,解密并保存到资源目录下
  2. 然后使用自定义的DexClassLoader加载解密后的原dex文件

在onCreate方法中,主要做两个工作:

  1. 通过反射修改ActivityThread类,并将Application指向原dex文件中的Application
  2. 创建原Application对象,并调用原Application的onCreate方法启动原程序

更多Android逆向开发技术,可以参考文档《Android逆向手册》。关于逆向的开发基础到高阶学习,可以点击查看详细类目。

http://www.hengruixuexiao.com/news/52071.html

相关文章:

  • 外贸网站建设价格怎么样seo营销是什么
  • directadmin网站储存目录福州百度代理
  • 做游戏脚本的网站成人零基础学电脑培训班
  • 餐饮网站 设计电子商务是干什么的
  • 活动策划网站青岛网站建设培训学校
  • 2018做网站的软件百度学术论文官网入口
  • 做个网站找别人做的吗seo效果检测步骤
  • 个人作品网站策划书如何建立一个自己的网站?
  • 网站开发部组织架构seo外包服务专家
  • 重庆八大员证书查询网站专注于品牌营销服务
  • 施工企业资质新标准2022长春seo网站排名
  • 信用网站建设内容宁波seo哪家好
  • 做佛教网站的人从中谋利吗竞价推广公司
  • 什么软件做电影短视频网站手机怎么制作网站
  • 网站设计案例分析软文大全800字
  • 用腾讯云做淘宝客网站视频如何用百度平台营销
  • 周村网站制作首选公司网络科技公司骗了我36800
  • 北京网站设计提供商打字赚钱平台 学生一单一结
  • 廊坊做网站的企业哪家好网络营销的优势有哪些?
  • 做医疗器械网站怎么找高清大图舆情分析报告模板
  • 河津做网站seo标题优化是什么意思
  • 安徽省驻房城乡建设官方网站app推广营销
  • 免费制作微信网页网站广东知名seo推广多少钱
  • 小说网站分页关键字怎么做seo
  • 网站中qq跳转怎么做的无锡seo优化
  • 房屋装修效果图用什么软件seo企业顾问
  • 做网站一单能挣多少seo中文意思是
  • 凡科2网站需要备案吗企业管理咨询
  • 廊坊做网站价格怎么网络推广自己业务
  • 手机网站首页模板seo免费优化工具