# APK加壳 **Repository Path**: choufeng2018/apk-shell ## Basic Information - **Project Name**: APK加壳 - **Description**: apk加壳项目,防止反编译 - **Primary Language**: Android - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2024-01-02 - **Last Updated**: 2024-01-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #APP加壳工程说明 #项目结构 app-主程序 shell-壳项目 shelltool-加壳打包java项目 #加壳原理 shell壳工程暴露在外,启动时加载主程序应用,shell壳工程里ShellApplication类在主程序AndroidManifest.xml中注册, 会在应用启动后会首先启动,ShellApplication启动后在attachBaseContext()中将加密的dex文件解密,解密后的dex加载到ClossLoader中。 #打包说明 1.不修改shell壳工程内容: (1)Gradle->app->Tasks->build->assemble (2)第一步运行完apk build后,Gradle->shelltool->Tasks->build->assembleShell 2.修改shell壳工程内容: (1)Gradle->distribution->shell->build->assemble,运行脚本生成shell-release.arr (2)用解压工具打开shell-release.arr,提取出classes.jar文件 (3)用android SDK工具dx将jar文件转换为dex,cmd命令为:dx.bat(dx.bat文件路径) --dex --output=classes.dex classes.jar (4)将步骤三得到的dex文件放到/shelltool/source/shelldex/下 (5)之后打包流程同1