1.APK加固 SO加密保护 SO加固 APK加密 Android应用加固_防篡改_APP加固
2.实现apk加固:代码、加固加固资源、源码so加密隐藏。工具防标记,加固加固防报毒。附工具。源码
3.技术解读 | SO文件的工具盲源分离源码安全,就交给这6大核心技术吧!加固加固
4.Android逆向与安全——360 dex加固与脱壳
APK加固 SO加密保护 SO加固 APK加密 Android应用加固_防篡改_APP加固
在Android应用市场,源码对APK的工具加密保护需求日益增长,尤其在国内,加固加固免费的源码加固服务已经寥寥无几。尽管有如加固、工具爱加密、加固加固梆梆加固、源码腾讯加固、工具百度加固等提供有限的免费服务,但主要集中在1代和2代的整体加固,对于常见的dump和定制ROM脱壳机的dex重组防护不足。 尤其重要的是,这些服务商普遍不包含对SO文件的加密保护,而SO文件通常包含应用的核心功能,对其进行加密是至关重要的。然而,高级的SO加密保护往往需要付费,对于许多个人开发者来说,费用成了一个挑战,无损复制源码起步价通常在万元级别。 为了满足开发者的需求,我们团队凭借技术热情,致力于研发高性价比的SO安全保护,特别是针对那些无力承担大型企业定制的开发者。我们已实现了一系列企业级的防护措施,包括:基于SO层的8大防护,涵盖dex核心抽取和Java2CPP保护
防动态调试、代码注入和HOOK攻击,提供高加固强度,抵抗各种逆向工具的破解
兼容多架构,从Android 5.0到Android .0无缝支持
DEX加密保护、代码分离和自定义混淆,防范APKTool、Jeb等静态分析工具的逆向
动态加解密技术,有效防御调试器操作,如内存调试和注入
无论你是大型企业还是个人开发者,如果你需要高效且经济的SO加密解决方案,我们是你的理想选择。更多详情,敬请持续关注我们的更新。实现apk加固:代码、资源、so加密隐藏。防标记,tigase源码运行防报毒。附工具。
原文转自: blog.csdn.net/weixin_...
0.工具最终效果
0.1.可自动批量循环改包
改包包括:自动换包名(可选),自动改类,清单处理等
使用场景:原包为母包,争取处理出来的包没有容易被标记的地方
0.2.可自动批量循环加固,改包后自动加固
使用场景:原包为母包,争取处理出来的包每个包都不一样
0.3 改包加固效果
原包代码不可见,原包so不可见,原包assets不可见,原包resource不可见
每次加固结果,代码,so,assets,代码运行逻辑都不一样.
安全性增加,签名校验,运行环境检测.
0.4 防标记,防报毒
对原android工程,进行下列操作(工具里支持一键自动化)
自动混淆类名和方法名
自动生成不会垃圾类垃圾代码,
自动插入运行垃圾代码,
自动插入生成不会运行的垃圾方法,
每次代码运行逻辑不一样.
这样生成的包差异性就会很大.再进行加固,就会非常安全和唯一了
1.为什么做加固
因为不想辛辛苦苦做的东西,被别人拿去改成各种版,半路摘我的桃子。
所以需要将原包的一些核心东西进行加密隐藏。
市面上比较好的解决方案就是进行加固,能提升apk安全性。
2.怎么加固
2.1 简单的加固
三方加固,有些三方会有免费版本的加固服务
比如 腾讯加固
免费版简易加固,只进行了代码加密隐藏,资源和so库都没有处理
2.2 深度复杂加固,
为啥要深度复杂加固呢,因为三方的免费版的简单加固只会对代码进行加固,资源和so库还是一目了然的放在那里。
如果想将资源和so库加固,可以使用三方付费版,
当然也可以自己做
为啥要自己做呢?
因为贵啊,n * W/年/APP,一个应用一年就要几万。
3.自己做加固
花了些时间,参考各种资料,实现了代APP深度加固。
实现效果:
代码加密隐藏:原包代码加密隐藏不可见。
资源加密隐藏:原包资源加密隐藏不可见,包括res下和assets下的资源。当然,ngrinder页面源码清单文件引用的资源无法隐藏。
so库加密隐藏:原包so库加密隐藏不可见。
3.1 主要原理
3.1.1 代码加固
Android能够使用apk文件或dex文件动态加载Classloader
实现原理:将代码dex加密,使用时解密,然后加载成Classloader使用。
3.1.2 资源加固
Android同样提供了api,开发者能使用apk路径加载成resource
实现原理:将资源apk加密,使用时解密,然后加载成Resource使用
3.1.3 so库加固
实现原理:将so加密,使用时解密。需要动态替换应用so路径为解密后的so路径
3.2 整体实现
将真实的apk(子包)进行加密,壳包启动时,动态根据子包apk解密,加载出Classloader和Resource,并获得so路径(可以将so库单独抽出来)
将系统的Classloader,Resource,so路径替换为生成的。
目前已实现,并在多个包上使用这套技术。
5 加固工具
本地软件版,不会上传原包任何信息至服务器,本地处理。提供自动化脚本调用。
使用方法:
1.打开工具,账号设置,注册账号(注,注册的新账号为测试账号,加固的包有运行时效限制,勿正式发布)
2.点击选择需要加固的getpost请求源码包(路径不能包含空格等特殊字符)
3.没有签名就勾选自动签名
点击 begin 会出现加载卡死的现象,别着急,这是在进行加固。静静等待即可。
mac打开App遇到恶意软件的处理方式
1.下载打开压缩包.
2.双击加固App,Apple会提示"无法打开,恶意软件字样"
3.打开电脑系统设置-隐私与安全性-安全性:会有刚才打开软件的提示,点击仍然打开就行.
App环境部署.
App需要Python3 和 openjdk的环境,
如果电脑已经装好,可以直接使用,如果没有,可以安装.
上述下载地址的百度网盘下载地址,里面有我使用的jdk版本,可以下载使用.
上述下载地址的百度网盘下载地址,里面有apk查看工具,可以查看对比加固前后apk的信息.
6 联系作者
期待你的点赞和关注!如有疑问,联系作者。
————————————————
版权声明:本文为CSDN博主「这个我不知道诶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: 实现Android高级加固:代码加密隐藏、资源加密隐藏、so库加密隐藏。兼容unity引擎。附加固工具链接。_apk 代码实现 资源文件加密_这个我不知道诶的博客-CSDN博客
技术解读 | SO文件的安全,就交给这6大核心技术吧!
在移动信息安全领域,SO文件因其较高的安全性而被广泛应用。然而,这也意味着,一旦被黑客获取,其潜在的威胁性也相对更大。为了解决这一问题,爱加密在SO加固方面投入了大量研究,并开发了一系列核心技术。
首先,爱加密的so VMP技术通过虚拟化保护,实现对SO文件源码的深度隐藏、防篡改和防dump,极大增加了逆向分析的难度。其次,so Linker技术通过加密压缩SO文件代码段、导出表和字符串等关键信息,在函数运行时动态解密,有效防止静态分析,同时通过内存DUMP源码,增加了代码的保护力度。此外,爱加密还提供了多重保护方案,将多种加固技术联合使用,以提高SO文件的安全性。
在Android SO加固方面,爱加密提供了包括so加壳、源码混淆、源码虚拟化保护、防调用、so Linker和so融合在内的六大核心技术。其中,so加壳通过自定义加密算法改变so文件编码,使其难以通过ida反编译工具查看导出符号,从而保护其核心代码。同时,源码混淆技术通过解析代码中字符串的位置,并采用加密和动态解密的方式,增加反编译难度,使破解者难以快速定位核心代码。基本块调度和分裂技术则通过将C/C++代码中的基本块进行分发和随机分裂,使控制流更加复杂,进一步增加了破解难度。而so源码虚拟化保护技术通过虚拟化SO文件中的源码,实现数据隐藏、防篡改和防dump,增加了逆向分析的难度。此外,so防调用技术可以支持绑定授权APP的包名或签名文件信息,通过动态校验确保应用的合法性。so Linker技术则通过加密压缩整个SO文件,并在运行时动态解密解压缩,有效防止数据泄露。最后,so融合技术对SO文件进行整体加密压缩,加大了代码反汇编调试的难度。
爱加密提供的so加固技术拥有五大优势:整体加密压缩保护,使用了函数运行时动态加解密技术,隐藏SO的基地址,使用高强度反调试技术,以及代码由VMP技术保护。这些技术的结合,使SO文件在被DUMP或调试时,其核心代码的安全性得到了极大提升。通过这些先进的技术手段,爱加密移动应用安全加固平台为开发者提供了全面的移动应用安全加固方案,确保了加固后的应用具备防逆向分析、防二次打包、防动态调试、防进程注入、防数据篡改等多重安全保护能力。
Android逆向与安全—— dex加固与脱壳
现今,APP的安全合规管控日渐严格,促使APP在上架前进行合规检测与加固。加固技术的目的是提升APP安全性,增加被逆向分析与破解的难度,同时保障合规检测的顺利通过。然而,随着加固技术被不断攻破,技术也在快速迭代。市面上的加固产品繁多,各具优势与局限。本篇将深入探讨加固与脱壳对抗方案,以 Dex加固为例,解析其特点与脱壳流程。
以超信1.1.4版本为例,加固后,会在apk的assets文件下新增libjiagu.so和libjiagu_x.so文件,并修改AndroidManifest.xml的application标签,增加两个元素。脱壳过程分为两步:一是突破加固的反调试机制,二是获取原apk的classes.dex文件。具体步骤如下:修改android_server调试程序名称,避免被反调试检测;在关键函数如open、strtol、mmap、memcmp处下断点,动态调试加固apk程序;利用strtol函数修改返回值过掉TracePid反调试;修改远程调试端口过掉文件/proc/net/tcp的本地套接字反调试;修改strstr函数返回值,绕过本地连接套接字的检测;修改Android_server名称,通过反调试检测。脱壳流程需过掉多次反调试,最终内存中dump出的odex文件即为原被加固的dex文件。替换加固的外壳程序的dex文件,删除附加元素,重新签名apk程序即可完成脱壳。
脱壳过程需注意:确保内存dump出的dex文件完整无误,特别是检查脱壳后classes.Dex文件是否重写了application类,如需调整,则修改android:name属性。本文以 Dex加固与脱壳流程为例,详解了Dex加固方法,对于Android逆向与技术学习,可参考《Android核心技术手册》。
拓展学习:
1. so加固:相较于Dex,so加固更为复杂,通常通过抽取关键java代码转换为c/c++生成so文件,实现部分代码保护。so文件的加密策略相对有限,主要通过破坏头文件以增加破解难度。
2. VMP(虚拟软件保护技术):VMP采用自定义指令集与解释器,将标准指令转换为特定指令,由解释器解析并执行。此技术旨在创建一个专有环境,增强软件的安全性与保护。