【Android 逆向】Android 逆向用途 | Android 逆向原理

简介: 【Android 逆向】Android 逆向用途 | Android 逆向原理

文章目录

一、Android 逆向用途

二、Android 逆向原理





一、Android 逆向用途


Android 逆向用途 :


软件防护 : 根据逆向的方法针对性的开发防护策略 ;

算法研究 : 在没有源码的前提下 , 通过反编译 , 反汇编 , 拿到 Smali 代码 , 研究其产品的算法 , 实现途径 ;

接口分析 : 接入一个没有源码的第三方库 , 无法进行调试 , 出现问题后 , 可以使用逆向的方法 , 查找问题原因 , 解决相关问题 ; 找到问题后 , 修改汇编代码 , 然后重新打包 ;

数据采集 : 分析应用的数据 , 获取该应用的更新内容 , 运营信息 , 在 APP 中可以拿到一些非公开的数据 ;

应用破解 : 单机游戏玩家需求 , 游戏修改器 , 或者应用停止运营 , 没有付费渠道 , 可以进行破解使用 ;

调试分析 : 应用打包 , 混淆 , 加固 后上传到应用市场 , 如果某个分发渠道版本出现问题 , 可能就需要调试分析具体的这个 APK 包的问题 ; 结合源码与渠道包进行逆向分析, 查找问题原因 ;





二、Android 逆向原理


Android 逆向原理 :


静态分析 : 反编译 , 反汇编 , 从 .so , .a , .dex 等函数库中提取相应信息 , 主要是分析静态文件二进制数据 ;

动态分析 : 将程序运行起来 , 运行中动态分析数据 ; 如 : 做一些函数拦截 , 拦截 Java 的字符串 String 的 构造函数 或 追加函数 , 按照时间顺序 , 记录函数的结果 , 然后找到关键信息的拼接过程 , 如 : 访问网络时 , 必然拼接 URL 地址 , 这些都是字符串 , 比较容易分析 ;

结合分析 ( 使用最多 ) : 先通过静态分析 , 确认一些信息 , 然后通过 动态分析 , 进一步进行调试 ;

静态分析 和 动态分析 , 对于简单防护的应用 , 是有效的 ;


如果应用做了很复杂的防护 , 需要使用结合分析 ;


目录
相关文章
|
安全 Shell Android开发
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
887 0
|
安全 Android开发
Android13 Root实现和原理分析
Android13 Root实现和原理分析
1314 0
|
Java Android开发
Android系统 获取用户最后操作时间回调实现和原理分析
Android系统 获取用户最后操作时间回调实现和原理分析
371 0
|
安全 Android开发 Kotlin
Android经典实战之SurfaceView原理和实践
本文介绍了 `SurfaceView` 这一强大的 UI 组件,尤其适合高性能绘制任务,如视频播放和游戏。文章详细讲解了 `SurfaceView` 的原理、与 `Surface` 类的关系及其实现示例,并强调了使用时需注意的线程安全、生命周期管理和性能优化等问题。
458 8
|
Android开发 移动开发 小程序
binder机制原理面试,安卓app开发教程
binder机制原理面试,安卓app开发教程
binder机制原理面试,安卓app开发教程
|
10月前
|
缓存 Java 数据库
Android的ANR原理
【10月更文挑战第18天】了解 ANR 的原理对于开发高质量的 Android 应用至关重要。通过合理的设计和优化,可以有效避免 ANR 的发生,提升应用的性能和用户体验。
409 56
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
1815 0
|
11月前
|
XML 前端开发 Android开发
Android View的绘制流程和原理详细解说
Android View的绘制流程和原理详细解说
237 3
|
编解码 前端开发 Android开发
Android经典实战之TextureView原理和高级用法
本文介绍了 `TextureView` 的原理和特点,包括其硬件加速渲染的优势及与其他视图叠加使用的灵活性,并提供了视频播放和自定义绘制的示例代码。通过合理管理生命周期和资源,`TextureView` 可实现高效流畅的图形和视频渲染。
741 12
|
12月前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
219 2

热门文章

最新文章