《Android 软件安全与逆向分析》---- 学习笔记
非虫大神的这本书,虽然比较老,但是思路可以参考,决定花几天时间看完,整理下学习的问题点再针对性的查漏补缺。
一、Window 环境搭建
因为书籍的方式已经比较老,不适应于目前的开发,提炼需要安装的软件和用途
- JDK 安卓开发必备运行环境 java-version (装它)
- Android SDK 用于压缩打包被调用(装它)
- Android NDK 开发Android原生程序的工具包,要掌握,因为现在采用了基于Android NDK 动态库的调用技术 (暂时忽略)
- Eclipse 安卓开发IDE (暂时忽略)
- CDT/ADT 插件 ADT是为了方便Eclipse 开发创建编辑调试 (暂时忽略)
- 创建虚拟设备 安卓SDK提供了android virtual device manager 工具,如果有真实安卓环境,通过USB调试进入adb (暂时忽略,直接上真机)
(Ubuntu是Linux环境搭建的,暂时用不上,先跳过)
核心内容:搭建环境后编写第一个Android程序,我选择用Android studio 来完成这一节内容,并利用APKTOOL工具反编译自己写的案例,这一章的分析思路讲解非常详细,总结来讲就是通过错误提示这个线索排查代码位置(因为代码除了会做正确的判断,也会做错误判断,但破解过程是不知道如何进入正确判断的,但我们可以试错误判断来找到正确判断的代码逻辑),找到xml文件中的字符串资源(索引值),再通过索引值找到id值(汇编的知识),在smail代码里的搜索id值,找到关键代码,分析代码逻辑后就可以进入下一步修改的动作。如果想要实现不管输入是什么样,都做出正确判断,那就是这些代码里进行修改了。
《Android 软件安全与逆向分析》---- 学习笔记相关推荐
- 第二行代码学习笔记——第六章:数据储存全方案——详解持久化技术
本章要点 任何一个应用程序,总是不停的和数据打交道. 瞬时数据:指储存在内存当中,有可能因为程序关闭或其他原因导致内存被回收而丢失的数据. 数据持久化技术,为了解决关键性数据的丢失. 6.1 持久化技 ...
- 第一行代码学习笔记第二章——探究活动
知识点目录 2.1 活动是什么 2.2 活动的基本用法 2.2.1 手动创建活动 2.2.2 创建和加载布局 2.2.3 在AndroidManifest文件中注册 2.2.4 在活动中使用Toast ...
- 第一行代码学习笔记第八章——运用手机多媒体
知识点目录 8.1 将程序运行到手机上 8.2 使用通知 * 8.2.1 通知的基本使用 * 8.2.2 通知的进阶技巧 * 8.2.3 通知的高级功能 8.3 调用摄像头和相册 * 8.3.1 调用 ...
- 第一行代码学习笔记第六章——详解持久化技术
知识点目录 6.1 持久化技术简介 6.2 文件存储 * 6.2.1 将数据存储到文件中 * 6.2.2 从文件中读取数据 6.3 SharedPreferences存储 * 6.3.1 将数据存储到 ...
- 第一行代码学习笔记第三章——UI开发的点点滴滴
知识点目录 3.1 如何编写程序界面 3.2 常用控件的使用方法 * 3.2.1 TextView * 3.2.2 Button * 3.2.3 EditText * 3.2.4 ImageView ...
- 第一行代码学习笔记第十章——探究服务
知识点目录 10.1 服务是什么 10.2 Android多线程编程 * 10.2.1 线程的基本用法 * 10.2.2 在子线程中更新UI * 10.2.3 解析异步消息处理机制 * 10.2.4 ...
- 第一行代码学习笔记第七章——探究内容提供器
知识点目录 7.1 内容提供器简介 7.2 运行权限 * 7.2.1 Android权限机制详解 * 7.2.2 在程序运行时申请权限 7.3 访问其他程序中的数据 * 7.3.1 ContentRe ...
- 第一行代码学习笔记第五章——详解广播机制
知识点目录 5.1 广播机制 5.2 接收系统广播 * 5.2.1 动态注册监听网络变化 * 5.2.2 静态注册实现开机广播 5.3 发送自定义广播 * 5.3.1 发送标准广播 * 5.3.2 发 ...
- 第一行代码学习笔记第九章——使用网络技术
知识点目录 9.1 WebView的用法 9.2 使用HTTP协议访问网络 * 9.2.1 使用HttpURLConnection * 9.2.2 使用OkHttp 9.3 解析XML格式数据 * 9 ...
- 安卓教程----第一行代码学习笔记
安卓概述 系统架构 Linux内核层,还包括各种底层驱动,如相机驱动.电源驱动等 系统运行库层,包含一些c/c++的库,如浏览器内核webkit.SQLlite.3D绘图openGL.用于java运行 ...
最新文章
- DeepFusion:基于单视图深度和梯度预测的单目SLAM实时稠密三维重建
- 如何同步FTP服务器文件,ftp服务器文件同步
- 算法导论吃透后的水平_初学算法,你应该这么玩
- Eclipse 报java.lang.OutOfMemoryError: PermGen space错
- vue图片压缩不失真_图片压缩会失真?快试试这几个无损压缩神器。
- javascipt很有用的代码,实现全选与反选,还可以与struts2或sevelet交互使用
- oracle的class12驱动没有实现jdbc对clob或blob的存储, 解决办法
- 印象笔记打开错误_只会用手机自带便签?这三款笔记软件分分钟秒杀
- Python中sort和sorted函数代码解析
- 苹果为CloudKit云服务添加服务器端API
- Apache配置文件httpd.conf详解
- linux ftp配置和使用
- php mysql分页_PHP+Mysql实现分页
- 20191119每日一句
- 解决:RuntimeError: Tensor for ‘out‘ is on CPU, Tensor for argument #1 ‘self‘ is on CPU, but expected t
- 商场导航反向寻车方案及造价分析
- Go语言mgo使用情况
- 富贵险中求?回顾AMD历次决策之是非对错(AMD授权中国生产x86之后)
- SSL的三大误区 此文刊登在《计算机世界》第5期
- 刮刮彩票 (20 分)