Chapter2——如何分析Android程序】的更多相关文章

前几天买了<Android软件安全与逆向分析>这本书,决定在这里记一些笔记. 第一章介绍了如何搭建环境,此处略去:第二章开始讲分析Android程序. 下面按顺序记录关键内容. -------------------------------------- 2.1.编写一个需要填写注册码的APK 要破解要现有「试验品」,作者编写了一个叫做crackme02的APP, 主要代码有: MessageDigest digest = MessageDigest.getInstance("MD5…
对于Android这种手持设备来说,通常不会带有太大的内存,而且一般用户都是长时间不重启手机,所以编写程序的时候必须要非常小心的使用内存,尽量避免有内存泄露的问题出现.通常分析程序中潜在内存泄露的问题是一件很有难度的工作,一般都是由团队中的资深工程师负责,而且随着程序代码量的提高,难度还会逐步加大. 今天要介绍一个在Eclipse中使用的内存分析工具——MAT(Eclipse Memory Analyzer,主页在http://www.eclipse.org/mat/).它是一个功能非常丰富的J…
很多人写文章,喜欢把什么行业现状啊,研究现状啊什么的写了一大通,感觉好像在写毕业论文似的,我这不废话,先直接上几个图,感受一下. 第一张图是在把代码注入到地图里面,启动首页的时候弹出个浮窗,下载网络的图片,苍老师你们不会不认识吧? 第二张图是微信运动步数作弊,6不6?ok,那我们从头说起 1.反编译 Android 的反编译,相信大家都应该有所了解,apktool.JEB 等工具我们先看一下 Apk 文件的结构吧,如下图: 1.META-INF:签名文件(这个是如何生成的后面会提到)2.res:…
破解Android程序通常的方法是将apk文件利用ApkTool反编译,生成Smali格式的反汇编代码,然后阅读Smali文件的代码来理解程序的运行机制,找到程序的突破口进行修改,最后使用ApkTool重新编译生成apk文件并签名,最后运行测试,如此循环,直至程序被成功破解. 1. 反编译APK文件 ApkTool是跨平台的工具,可以在windows平台与linux平台下直接使用.使用前到:http://code.google.com/p/android-apktool/  下载ApkTool,…
本文结合<Android开发艺术探索>书籍中的内存分析例子来讲解如何利用MAT工具来查找内存泄漏(以AndroidStudio开发工具为例). 1.下载MAT(Eclipse Memory Analyzer)工具,windows64位网盘下载地址:http://pan.baidu.com/s/1pLlbOBD,或者通过官网下载:https://www.eclipse.org/mat/downloads.php,下载完毕后解压即可,目录结构如下:…
如何分析Android程序的backtrace 最近碰到Android apk crash的问题,单从log很难定位.从tombstone里面得到下面的backtrace. *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***Build fingerprint: 'Android/msm8996/msm8996:7.1.2/N2G47H/20180921.193127:userdebug/test-keys'Revisio…
简介 静态分析是探索Android程序内幕的一种最常见的方法,它与动态调剂双剑合璧,帮助分析人员解决分析时遇到的各种“疑难”问题. 静态分析是指在不运行的情况下,采用词法分析.语法分析等各种技术手段对程序文件进行扫描从而生成程序的反汇编代码,然后阅读反汇编代码来掌握 程序功能的一种技术,它有两种方法:一种方法是阅读反汇编生成的Dalvik字节码,可以用IDA Pro分析dex文件,或者使用文本编辑器阅读baksmali反编 译生成的smali文件:另一种方法是阅读反汇编生成的java源码,可以使…
切换项目结构模式 Project模式的项目结构 我们将项目切换成Project模式,这就是真实的目录结构. .gradle和.idea 这两个目下放置的都是Android Studio自动生成的一些文件,我们无须关系,也不要去手动编辑. app 项目中的代码.资源等内容几乎都是放置在这个目录下的. build 它主要包含了一些在编译时自动生成的文件,不需要过多关心. gradle 这个目录下包含了gradle wrapper的配置文件. .gitignore 这个文件是用来指定的目录或文件排除在…
目录 分析你的第一个Android程序 Android模式的项目结构 切换项目结构模式 Project模式的项目结构 .gradle和idea app build(没有发现这个文件夹) gradle .gitignore build.gradle gradle.properties gradlew和gradlew.bat MyApplication.iml local.properties settings.gradle app目录下的结构 build libs androidTest java…
Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework模块详细流程,可能只有在工作之外的时间去分析Android源码. 由于某墙的原因,这里我们采用国内的镜像源进行下载.目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.后面的所有命令,都是围绕着清华的镜像源进行介绍. 2.编译环境:ubuntu16.04 + cor…