什么是android apk加固

什么是android apk加固,第1张

加固的过程中需要三个对象:1、需要加密的Apk(源Apk)2、壳程序Apk(负责解密Apk工作)3、加密工具(将源Apk进行加密和壳Dex合并成新的Dex)主要步骤:我们拿到需要加密的Apk和自己的壳程序Apk,然后用加密算法对源Apk进行加密在将壳Apk进行合并得到新的Dex文件,最后替换壳程序中的dex文件即可,得到新的Apk,那么这个新的Apk我们也叫作脱壳程序Apk.他已经不是一个完整意义上的Apk程序了,他的主要工作是:负责解密源Apk.然后加载Apk,让其正常运行起来。

带壳程序应该是指一些加壳的应用程序吧。一般的病毒就是这样做免杀的.加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段.加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东西。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。

 taro版本2.2.13

       1、 把项目根目录下的rn_temp文件夹复制到壳子根目录(taro-native-shell)下,再把rn_temp文件夹下的index.js文件复制到壳子根目录(taro-native-shell)下

        2、打开壳子根目录下的index.js文件,修改“import App from './app.js'”为“import App from './rn_temp/app.js'”,修改“ import {name as appName} from './app.json'”为“ import {name as appName} from './rn_temp/app.json'”,如下图

        3、终端进入壳子根目录(taro-native-shell),执行命令

会在android/app/src/main/assets文件夹下生成index.android.bundle文件

        4、修改MainApplication中的getJSMainModuleName方法的返回值为“index.android.bundle”

        5、终端中cd进入到android目录下,执行命令

        等运行完成

你就可以在taro-native-shell/android/app/build/outputs/apk/release中看到打包出来的apk包了

或者可以按照Android studio的方式进行打包也可以。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11817147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存