怎么加固安卓软件????

author author     2023-05-06     174

关键词:

加固安卓软件一般要达到以下效果:

1、防逆向:通过DEX 文件加壳以及DEX 虚拟化等技术,防止代码被反编译和逆向分析。

2、防篡改:通过校验 APK 开发者签名,防止被二次打包,植入广告或恶意代码。

3、防调试:防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。

VirboxProtector安卓加固的核心技术一般有:

    DEX 文件加密隐藏

    对 DEX 文件加壳保护,防止代码被窃取和反编译。

    SO 区段压缩加密

    对 SO 库中的代码段和数据段压缩并加密,防止被 IDA 等工具反编译。

    单步断点检测

    在混淆的指令中插入软断点检测暗桩,防止native层run trace和单步调试。

    防动态调试

    防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。

    开发者签名校验

    对 APK 中的开发者签名做启动时校验,防止被第三方破解和二次打包。

    SO 内存完整性校验

    在 SO 库加载时校验内存完整性,防止第三方对 SO 库打补丁。

    SO 代码混淆

    对 SO 库中指定的函数混淆,通过指令切片、控制流扁平化、立即加密等技术手段,将 native 指令转换为难以理解的复杂指令,无法被 IDA 反编译,并且无法被还原。

    SO 代码虚拟化

    对 SO 库中指定的函数虚拟化,可以将 x86、x64、arm32、arm64 架构的机器指令转换为随机自定义的虚拟机指令,安全强度极高,可通过工具自定义配置,调整性能与安全性。

    DEX 虚拟机保护

    对 DEX 中的 dalvik 字节码进行虚拟化,转换为自定义的虚拟机指令,最后由 native 层虚拟机解释执行,防止逆向分析。

参考技术A 反编译漏洞防护。反编译漏洞会暴漏App源码,给黑客二次打包的机会。黑客利用反编译漏洞可以找到App的设计流程,进行山寨、篡改、注入恶意代码;对采用积分机制的App进行破解,绕过程序的验证机制;通过暴露的URL对服务器进行恶意攻击。面对此安卓应用安全威胁,安卓开发者可以通过代码混淆、代码加密等措施进行防护,对安卓应用加密加固保护防止被破解。本回答被提问者和网友采纳 参考技术B 前言
加固说明:对App进行加固,可以有效防止移动应用被破解、盗版、二次打包、注入、反编译等,保障程序的安全性、稳定性。对于金融类App,尤其重要。(前言是让小白了解更多关于加固资料来源:CSDN 
原文:https://blog.csdn.net/qq309909897/article/details/73273964 )

对App dex进行加固的基本步骤如下: 
1. 从App原始apk文件里获取到原始dex文件 
2. 对原始dex文件进行加密,并将加密后的dex文件和相关的存放到assert目录里 
3. 用脱壳dex文件替换原始apk文件里的dex文件;脱壳dex文件的作用主要有两个,一个是解密加密后的dex文件;二是基于dexclassloader动态加载解密后的dex文件 
4. 因为原始apk文件已经被修改,所以需要删除原始apk的签名信息,即删除META-INF目录下的.RSA、.SF 和MANIFEST.MF文件 
5. 生成加固后的apk文件 
6. 对加固后的apk文件进行签名,apk加固完成。
原理分析: 
1.为什么要对原始dex进行加密,同时用脱壳dex文件替换原始dex文件?大部分的apk反编译工具(dex2jar、apktools、jui等)都是对dex文件进行反编译,将dex文件反编译成smail,然后再转化成class文件进行阅读和修改。用脱壳dex替换原始dex文件之后,用上面的反编译工具反编译apk文件,只能看到脱壳程序的class文件,看不到apk本身的class文件。对dex文件进行加密,这样即使第三方拿到了dex文件,以为无法解密,也就无法对其进行解析和分析。 
2.怎么确保apk功能正常运行?加固后的apk启动之后,脱壳dex文件会对加密后的dex文件进行解密,然后机遇dexclassload动态加载解密后的dex文件。从用户的角度,加固前后App的功能和体验基本是一样的。这个和插件化的原理是一样的。可以参见http://blog.csdn.net/jiangwei0910410003/article/details/48104581 (前言是让小白了解更多关于加固资料来源:CSDN 
原文
参考技术C ,?!。。?,!。。!,。!。。!。。?。?。。??,。?。。?。!?。?。?!。??。??。?!,。。?。。?。。??。??。????。。。。。??,??。??。?!。。,,??,。,,??,。??。!。。?, ???。?!。??。。?。。。。,,,??。。?。。?。。

安卓加固之so文件加固

一、前言  最近在学习安卓加固方面的知识,看到了jiangwei212的博客,其中有对so文件加固的两篇文章通过节加密函数和通过hash段找到函数地址直接加密函数,感觉写的特别好,然后自己动手实践探索so加密,这里记录一下学... 查看详情

安卓一些操作(代码片段)

1.安卓指令加签加固流程加签jarsigner-verbose-sigalgSHA1withRSA-digestalgSHA1-keystore[keystore文件路径]-storepass[keystore文件密码][待签名apk][keystore文件别名]将[]中的描述替换成keystore文件的具体信息加固360加固适用于大部分腾讯相关市场如果... 查看详情

安全加固组件异常怎么处理

环境:腾讯云服务器腾讯云安全团队针对常见的网站入侵行为,提供专业的网站后门木马检测等安全功能,集合专业的机器学习模型,定期检测网站,及早发现木马并通知到您,为您的网站安全保驾护航。安全加固组件是腾讯云... 查看详情

最实用的windows安全加固手册

0x00windows安全加固介绍安全加固是对信息系统中的主机系统(包括主机所运行的应用系统)与网络设备、安全设备的脆弱性进行分析并修补。另外,安全加固也包括了对主机系统的身份鉴别与认证、访问控制和审计跟踪策略的增强。... 查看详情

最新勒索软件wannacrypt病毒感染前清除处理及加固

    昨天、今天、乃至最近一段时间,安全圈甚至全中国将聚焦在勒索病毒“WannaCrypt”,很多人都以为安全离我很远,其实不然,过去病毒可能仅仅是在线攻击,而今天出现的“WannaCrypt”勒索病毒达到一定条件后... 查看详情

centos7系统服务器初始化配置安全加固内核升级优化常用软件安装的shell脚本分享

转载自:https://www.bilibili.com/read/cv13875630?spm_id_from=333.999.0.0描述:适用于企业内部CentOS7系列操作服务器初始化、系统安全加固脚本,内容包含了,网络初始化设置,软件更新源替换以及内核版本升级,时间时区初始化设置 查看详情

app混淆加固+防止反编译+360加固

...能看到大体的混淆包名,使用了那些框架而使用了360加固后,全部看不到了下图是360加固window操作IDE,非常好用!然后用反编译软件反编译后,全然看不到任何东西了,只看到一个com.qihoo.util的东西 查看详情

intellijidealoadingproject很慢,怎么优化好

参考技术A这个优化如果是纯粹软件方面的话,效果不是很理想。这个加载的速度,和硬盘的反应时间,cpu的运算速度有很大的关联。所以从硬件方面来调整,换运算更快的cpu,加固态硬盘,软件改到固态硬盘上,都会有明显的... 查看详情

ssh安全加固后不密码登录异常

...最近在折腾openstack封装镜像,基础软件安装、优化、安全加固后封装,创建虚拟机登录,发现报Permissiondenied(publickey).异常,根据字面意思是公钥的问题,通过VNC本地登录后,检查相关账户的SSH相关的配置和权限。没有发现任何... 查看详情

莫名其妙安卓应用使用腾讯云的加密加固服务之后增加了好几个本不需要的权限

...ssion.READ_EXTERNAL_STORAGE但为了商家应用商店,使用了腾讯的加固服务,加固过后增加了好几个监视手机状态和读取数据的权限,变成了:android.permission.READ_LOGSandroid.permission.ACCESS_WIFI_STATEandroid.permission.ACCESS_NETWORK_STATEandroid.permission.I... 查看详情

【移动安全】腾讯乐固对apk文件加固失败

...(最好是QQ方便沟通快速解决问题)【重要】5、目前只有加固后的apk(至少要提供加固后的apk)【非常重要】6、日志文件见附件【重要】7、问题复现环境:华为手机MAL-AL10安卓6.0【非常重要】 乐固加固前后的apk包内。对比... 查看详情

app被加固了,该怎么用xposed模块hook

参考技术A楼上说的不错,不过,有时候有些App只是ClassLoader被壳换了,这个时候,选对ClassLoader就可以了。比如这样:引用:publicEncryptHook(ClassLoadercl)super();XposedBridge.log("Nowhooking........");tryclzStubApp=(Class<?>)XposedHelpers.findC... 查看详情

原生安卓记步软件怎么下载

参考技术A原生安卓记步软件的下载方法如下:1,为你提供计步器记步APP安卓版下载,历史版本、旧版下载,2,查看最新计步器记步手机版介绍 查看详情

联想g50系列电脑怎么加固态硬盘sdd

...候,需要明确你笔记本硬盘接口是SATA接口还是IDE接口(怎么确定接口,百度你笔记本型号),相对年代久远灯笔记本是IDE接口,而目前市场上的固态硬盘都是是SATA接口,如果安装在原机械盘位置,需要购买接口转换线!二、如... 查看详情

腾讯应用宝上传应用步骤

1.开发完app,下载apk安卓包2.下载腾讯乐固加固工具3.先做乐固设置a.基础设置b.签名设置:c.多渠道设置:4.设置完毕后,切换到加固tab,把开发好的apk包添加上去开始加固。5.加固完毕后,切换到辅助工具,将刚才加固的包进行... 查看详情

android开发学习之路-加固实践(代码片段)

前言起因也是想要看一些优秀的程序某些内容是怎么实现的,所以需要脱壳,但是对于怎么加固也还是比较感兴趣的,加固涉及到的安全的内容很多很多,这里也只是用个简单的例子来过把瘾,参考了些文章&#... 查看详情

android开发学习之路-加固实践(代码片段)

前言起因也是想要看一些优秀的程序某些内容是怎么实现的,所以需要脱壳,但是对于怎么加固也还是比较感兴趣的,加固涉及到的安全的内容很多很多,这里也只是用个简单的例子来过把瘾,参考了些文章&#... 查看详情

联想笔记本升级加固态硬盘怎么把正版系统做进固态硬盘里

首先你要去MSDN我告诉你这里下载微软原版系统镜像ISO。然后下载几个软件,分区精灵,WinNTSetup系统安装器。在原来的机械硬盘里面的系统,用分区精灵对固态硬盘进行分区,C盘或者系统盘最少50G(注意记下分区盘符,因为在你... 查看详情