apk_dex_shell:一个给apk加壳的简单工具,主要介绍apk加壳原理。代码规范一书,做了一些简单修改

上传者: 42181888 | 上传时间: 2023-08-30 15:58:11 | 文件大小: 254KB | 文件类型: ZIP
apk_dex_shell 一个演示如何给Apk加壳的示例代码。 apk加壳实例可以用上图来说明,我们把要加固的myapk.apk放到一个dex尾部。这个dex有脱壳逻辑,程序运行时,首先运行这个脱壳dex,脱壳dex从dex尾部获取到要加密的apk的大小,然后从自己的dex中拷贝出这个myapk.apk,最后调用Android系统API运行myapk.apk。这样就算用ApkTool等逆向工具,也无法直接获得我们加固的myapk.apk。为了更高反向向不利,我们可以把脱壳逻辑用c实现放到so文件中,同时把加密的myapk.apk分段放到so文件中。为了防止特征破解,我们可以改写apk魔数。这样下来,一个简单的加固工具就完成了。 这里提供一个演示,只有最简单的把myapk.apk放到脱壳dex尾部的功能。 demo分为三个项目: DexReinforcing工具给Apk加壳的工具,可

文件下载

资源详情

[{"title":"( 68 个子文件 254KB ) apk_dex_shell:一个给apk加壳的简单工具,主要介绍apk加壳原理。代码规范一书,做了一些简单修改","children":[{"title":"apk_dex_shell-master","children":[{"title":"MyApk","children":[{"title":"gradlew.bat <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false},{"title":"gradlew <span style='color:#111;'> 4.85KB </span>","children":null,"spread":false},{"title":"app","children":[{"title":"src","children":[{"title":"main","children":[{"title":"res","children":[{"title":"drawable-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 7.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 12.22KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 24.20KB </span>","children":null,"spread":false}],"spread":true},{"title":"values","children":[{"title":"strings.xml <span style='color:#111;'> 215B </span>","children":null,"spread":false},{"title":"dimens.xml <span style='color:#111;'> 213B </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.69KB </span>","children":null,"spread":false}],"spread":true},{"title":"layout","children":[{"title":"activity_main.xml <span style='color:#111;'> 663B </span>","children":null,"spread":false}],"spread":true},{"title":"values-w820dp","children":[{"title":"dimens.xml <span style='color:#111;'> 373B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"example","children":[{"title":"myapk","children":[{"title":"SubActivity.java <span style='color:#111;'> 478B </span>","children":null,"spread":false},{"title":"MainActivity.java <span style='color:#111;'> 765B </span>","children":null,"spread":false},{"title":"MyApplication.java <span style='color:#111;'> 245B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"AndroidManifest.xml <span style='color:#111;'> 938B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"build.gradle <span style='color:#111;'> 485B </span>","children":null,"spread":false}],"spread":true},{"title":"import-summary.txt <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false},{"title":"gradle","children":[{"title":"wrapper","children":[{"title":"gradle-wrapper.jar <span style='color:#111;'> 52.38KB </span>","children":null,"spread":false},{"title":"gradle-wrapper.properties <span style='color:#111;'> 230B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".idea","children":[{"title":"gradle.xml <span style='color:#111;'> 626B </span>","children":null,"spread":false},{"title":"runConfigurations.xml <span style='color:#111;'> 564B </span>","children":null,"spread":false},{"title":"misc.xml <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"modules.xml <span style='color:#111;'> 347B </span>","children":null,"spread":false},{"title":"workspace.xml <span style='color:#111;'> 154.30KB </span>","children":null,"spread":false},{"title":"libraries","children":[{"title":"com_android_support_support_v4_20_0_0.xml <span style='color:#111;'> 938B </span>","children":null,"spread":false},{"title":"com_android_support_support_annotations_20_0_0_jar.xml <span style='color:#111;'> 680B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"settings.gradle <span style='color:#111;'> 15B </span>","children":null,"spread":false},{"title":"build.gradle <span style='color:#111;'> 301B </span>","children":null,"spread":false}],"spread":true},{"title":"Readme.md <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"DexReinforcingTools","children":[{"title":"data","children":[{"title":"sign","children":[{"title":"testkey.pk8 <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false},{"title":"signapk.jar <span style='color:#111;'> 7.20KB </span>","children":null,"spread":false},{"title":"testkey.x509.pem <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false}],"spread":true},{"title":"signAndInstall.bat <span style='color:#111;'> 218B </span>","children":null,"spread":false}],"spread":true},{"title":"src","children":[{"title":"com","children":[{"title":"example","children":[{"title":"reinforcingapk","children":[{"title":"ReinforcingApk.java <span style='color:#111;'> 4.55KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".idea","children":[{"title":"uiDesigner.xml <span style='color:#111;'> 8.59KB </span>","children":null,"spread":false},{"title":"misc.xml <span style='color:#111;'> 234B </span>","children":null,"spread":false},{"title":"modules.xml <span style='color:#111;'> 266B </span>","children":null,"spread":false},{"title":"encodings.xml <span style='color:#111;'> 221B </span>","children":null,"spread":false},{"title":"workspace.xml <span style='color:#111;'> 11.44KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"doc","children":[{"title":"pic","children":[{"title":"apk_dex_shell.png <span style='color:#111;'> 20.92KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 776B </span>","children":null,"spread":false},{"title":"ShellingMyApk","children":[{"title":"gradlew.bat <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false},{"title":"gradlew <span style='color:#111;'> 4.85KB </span>","children":null,"spread":false},{"title":"app","children":[{"title":"src","children":[{"title":"main","children":[{"title":"res","children":[{"title":"drawable-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.34KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.34KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.34KB </span>","children":null,"spread":false}],"spread":false},{"title":"values","children":[{"title":"strings.xml <span style='color:#111;'> 220B </span>","children":null,"spread":false},{"title":"dimens.xml <span style='color:#111;'> 213B </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.34KB </span>","children":null,"spread":false}],"spread":false},{"title":"layout","children":[{"title":"activity_main.xml <span style='color:#111;'> 672B </span>","children":null,"spread":false}],"spread":false},{"title":"values-w820dp","children":[{"title":"dimens.xml <span style='color:#111;'> 373B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"example","children":[{"title":"reforceapk","children":[{"title":"MainActivity.java <span style='color:#111;'> 286B </span>","children":null,"spread":false},{"title":"RefInvoke.java <span style='color:#111;'> 5.82KB </span>","children":null,"spread":false},{"title":"ProxyApplication.java <span style='color:#111;'> 11.04KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true},{"title":"AndroidManifest.xml <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"build.gradle <span style='color:#111;'> 484B </span>","children":null,"spread":false}],"spread":true},{"title":"import-summary.txt <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false},{"title":"gradle","children":[{"title":"wrapper","children":[{"title":"gradle-wrapper.jar <span style='color:#111;'> 52.38KB </span>","children":null,"spread":false},{"title":"gradle-wrapper.properties <span style='color:#111;'> 230B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".idea","children":[{"title":"gradle.xml <span style='color:#111;'> 626B </span>","children":null,"spread":false},{"title":"runConfigurations.xml <span style='color:#111;'> 564B </span>","children":null,"spread":false},{"title":"misc.xml <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"modules.xml <span style='color:#111;'> 363B </span>","children":null,"spread":false},{"title":"encodings.xml <span style='color:#111;'> 343B </span>","children":null,"spread":false},{"title":"workspace.xml <span style='color:#111;'> 161.67KB </span>","children":null,"spread":false},{"title":"libraries","children":[{"title":"com_android_support_support_v4_20_0_0.xml <span style='color:#111;'> 938B </span>","children":null,"spread":false},{"title":"com_android_support_support_annotations_20_0_0_jar.xml <span style='color:#111;'> 680B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"settings.gradle <span style='color:#111;'> 15B </span>","children":null,"spread":false},{"title":"build.gradle <span style='color:#111;'> 301B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明