APK防反编译与隐藏技术揭秘
需积分: 48 186 浏览量
更新于2024-07-23
收藏 81KB PPTX 举报
"APK防反编译技术是一种高级的逆向工程策略,针对Android应用程序的保护措施,旨在防止未经许可的修改或解析。本文档由罗升阳(@shengyangluo)这位Android领域的专家分享,他既是《老罗的Android之旅》一书的作者,也是一位活跃的博主,可在csdn博客(http://blog.csdn.net/Luoshengyang)和微博(http://weibo.com/shengyangluo)上找到他的专业知识。
主要讨论了两种关键的技术手段:添加非法指令和隐藏敏感代码。
1. 添加非法指令:首先,通过在APK中嵌入一个名为Bomb的无关类,该类包含一个名为drop的成员函数。然后,通过反编译APK的classes.dex文件,定位到Bomb.drop的地址。接着,使用vim编辑器以二进制模式修改classes.dex,将 Bomb.drop起始位置的前两个字节置为FFFF,这是一种常见的非法指令。重新打包和签名APK后,即使被安装,由于检测到checksum(校验和)不一致,安装过程会被阻断,从而达到隐藏原始代码的目的。
2. 隐藏敏感代码:另一种方法是采用混淆技术。同样,先在APK中插入垃圾指令填充,再通过反编译找出Bomb.drop的位置。通过查看classes.dex的头部信息,确定Bomb类的class_def结构体偏移和access_flags。将access_flags中的第16位(通常标记为0x10001)修改为0x1000100,这样可以将Bomb类标记为已验证,使它在反编译时不易被识别。最后,使用特定工具(如d)来确保隐藏操作的完成。
这些技术展示了开发者如何利用底层机制对抗APK的反编译,增强了应用程序的安全性和保护性。然而,值得注意的是,这些方法并非绝对安全,随着反编译技术的进步,开发者仍需持续关注并更新防护策略。同时,这种技术也可能引发法律问题,因此在实际应用中应谨慎对待。"
8374 浏览量
2016-09-12 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
a260451815
- 粉丝: 0
- 资源: 2
最新资源
- addressable:Addressable是URI实现的替代实现,它是Ruby标准库的一部分。 它非常灵活,提供启发式解析,并且还为IRI和URI模板提供了广泛的支持
- canteenmanagement
- EnterpriseProject,java源码网,oa系统源码java
- messageboard
- API610标准在大型中高温浓硫酸液下泵设计中的应用.rar
- Sitio_Web_Blog_Cafe-Mobile_First
- fe-record-websource:前端记录资源导航的网页版原始码,使用react编写的静态页面
- Jake Peralta Theme-crx插件
- Javasourcecodequerysystem,java线程池源码,java酷狗
- subtlechat-vue:微言语聊天室是基于前初步分离,采用SpringBoot + Vue开发的网页版聊天室。这是项目的前端vue工程
- translations-app:已实现翻译的示例Web应用程序(react-i18next)
- 班主任工作计划和总结打包.rar
- lambdaUnzipper:AWS Lambda 的解压缩功能
- 异质检测
- Pervy Pastry Puffinator-crx插件
- shengyintupian,java源码阅读,企业java源码下载