Android逆向分析基础-静态分析Android程序
来源:互联网 发布:csgo淘宝 编辑:程序博客网 时间:2024/05/01 20:36
- 什么是静态分析
快速定位Android程序的关键代码
- 反编译apk程序
使用apktool反编译apk后, 了解其AndroidManifest.xml的内容 - 程序的主Activity
<activity android:name="xxActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
- 关注Application类
- 定位关键代码
- 代码注入
- 栈跟踪
- Method Profiling
- 反编译apk程序
- Smali文件格式
- header
.class <访问权限> [修饰关键字] <类名>
.super <父类名>
.source <源文件名> 混淆后可能为空 - body
- static fields
.field <访问权限> static [修饰关键字] <字段名>:<字段类型> - instance fields
.field <访问权限> [修饰关键字] <字段名>:<字段类型> - direct methods
.method <访问权限> [修饰关键字] <方法原型>
<.locals> 使用的局部变量的个数
[.parameter] 方法的参数, 每一个参数对应一个.parameter指令
[.prologue] 代码的开始处, 混淆过的代码可能没有此指令
[.line] 在源代码中的行数 - interfaces
.implements <接口名> - annotations
.annotation [注解属性] <注解类名>
[注解字段=值]
.end annotation
- static fields
- header
- Android程序中的类
- 内部类
- 监听器
- 注解类
- 生成的类 R
- 阅读反编译的Smali代码
- 循环语句
- switch 语句
- try/catch 语句
- 使用IDA Pro静态分析Android程序
- 恶意软件分析工具包-Androguard
- androapkinfo.py -i xx.apk
输出apk的包, 资源, 权限, 组件, 方法等信息 - androaxml.py -i xx.apk
用于解密AndroidManifest.xml - androcsign.py -i xx.sign -o db
用于将apk的签名信息添加到数据库 - androdd.py -i xx.apk -o out -d -f png
生成每个类的方法的调用流程图(在santoku上不能正常工作) - androdiff -i xx.apk yy.apk
- androdump.py -i pid
- androgexf.py -i xx.apk -o xx.gexf
- andromercury.py
- androrisk.py -m -i xx.apk
评估apk的风险 - androsign.py -i xx.apk -b db -c dbconfig
检测apk信息是否在指定数据库里- androsim.py -i xx.apk yy.apk
计算两个apk的相似度 - androxgmml.py -i xx.apk -o xx.xgmml
- apkviewer.py -i xx.apk -o output
为apk每个类生成一个独立的graphml图形文件.
- androsim.py -i xx.apk yy.apk
- androapkinfo.py -i xx.apk
- 其他静态分析工具
- apktool
- baksmali
- jad
- androguard
- ApkInspector
- 阅读反编译的Java代码
- dex2jar
- jd-gui
- santoku
0 0
- Android逆向分析基础-静态分析Android程序
- 逆向分析 Android 程序
- 逆向分析 Android 程序
- Android逆向之静态分析
- android逆向学习,笔记(三)静态分析android程序
- 【Android SDK程序逆向分析与破解系列】之五:Android APK的静态分析
- Android 程序静态分析
- Android逆向入门-静态分析技术
- Android逆向分析基础-Android可执行文件
- Android安全:如何逆向分析Android程序
- Android逆向分析基础-ARM 汇编语言基础
- Android逆向分析基础-Dalvik虚拟机
- Android逆向分析基础-反破解技术
- Android逆向分析之静态分析工具篇
- 【Android安全】APK静态分析-源码反编译逆向分析
- 手把手教你逆向分析 Android 程序
- 逆向分析 Android 程序- 内存内存
- 手把手教你逆向分析 Android 程序
- Android Studio——Android Studio更新升级方法
- Android仿美团筛选菜单
- cntk学习日志(一)
- JS三级可折叠菜单实现方法
- JAVA之DecimalFormat的用法---用户格式化数据
- Android逆向分析基础-静态分析Android程序
- 图像验证码识别(九)——训练和识别
- 使用 wget 判断 Web 是否宕机的脚本
- DIV和SPAN垂直居中对齐的实现方法
- 不兼容结构的协调——适配器模式
- css笔试题
- 判断多边形凹凸性
- HDU2015偶数求和
- 解决android:background背景图片被拉伸问题