吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 867|回复: 7

[Android 原创] 静态分析Android程序---读书笔记

  [复制链接]
发表于 2017-12-7 14:00 | 显示全部楼层

静态分析android程序(非虫笔记)

1.静态分析

指在不运行代码的情况下,采用词法分析、语法分析等手段对程序文件进行扫描从而生成程序的反汇编代码,然后阅读反汇编代码来掌握程序功能的一种技术。

2.快速定位关键代码

2.1 反编译apk

每个apk文件中都包含一个androidManifest.xml文件,它记录着软件的一些基本信息。比如包名、运行的系统版本,用到的组件。

2.2 主Activity

主Activity就是程序的入口,第一个运行的必然是主Activity,和c语言的main函数一样。

2.3 Application

这个类是传递全局变量,可以通过访问application来进行访问。

2.4 定位关键代码的六种方法。

(1).信息反馈发。详细参考:https://www.52pojie.cn/thread-672333-1-1.html

(2).特征函数法:

在不管程序给出什么样的反馈信息,终究是需要调用android SDK中提供的相关API完成的,比如调用Toast。

(3).顺序查看法:

顺序查看法是指从软件的启动代码开始,逐行的向下分析,掌握软件的执行流程。这种方法在分析病毒中经常用的到。

(4).代码注入法:

手动修改apk文件的反汇编代码,加入log输出,执行到特定点时的状态数据。在解密程序数据时经常用到。

(5).栈跟踪法

栈跟踪法属于动态调试方法,它的原理是输出运行时的栈跟踪信息,然后查看栈上的函数调用序列来理解方法的执行流程。

(6).Method Profiling

方法剖析属于动态调试方法,主要用于热点分析和性能优化。

3.smali文件格式

3.1 头三行格式

.class<访问权限>[修饰关键字]<类名>

.super<父类名>

.source<源文件名>

这里写图片描述

3.2 前三行过后就是字段或方法组成,首先是字段的声明方式。

smali文件中字段的声明使用".field"

静态字段的声明格式:

static fields

.field<访问权限>static[修饰关键字]<字段名>:<字段类型>

3.3 方法的声明方式:

".method",方法分为直接方法与虚方法。

直接声明格式:

direct methods

.method<访问权限>[修饰关键字]<方法原型>

<.locals>//指定使用的局部变量的个数

<.parameter>//指定了方法的参数,有几个参数,就会有几个.parameter.

<.prologue>//指定了代码的开始处,如果是混淆过的代码可能会去掉该指令。

<.line>//指定了改指令在源代码中的行号。混淆后可能会除去了行号的信息。

<代码体>

.end method

<br/>

虚方法的声明

虚方法只是在起始处的注释为:virtual methods

3.4 类实现了接口

smali文件中使用".implements"指令指出

interfaces

.implements<接口名>

3.5 注解smali表示

smali中是用".annotation"指令指出。注解格式如下:

annotation

.annotation[注解属性]<注解类名>

[注解字段=值]

.end annotation

4 smali基本逻辑代码

4.1 循环语句

4.2 switch语句

4.3 try/catch语句

免费评分

参与人数 6吾爱币 +6 热心值 +5 收起 理由
piliyang + 1 + 1 用心讨论,共获提升!
hbwazxf + 1 + 1 我很赞同!
zhh4827 + 1 热心回复!
夏雨微凉 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
莫问刀 + 1 + 1 谢谢@Thanks!
lhspang + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-7 18:33 | 显示全部楼层
厉害了楼主,感谢楼主分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-8 07:26 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-8 13:27 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-8 18:02 | 显示全部楼层
感谢分享,正好要学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-9 09:58 | 显示全部楼层
欢迎分析讨论交流,吾爱破解论坛有你更精彩!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-9 10:14 | 显示全部楼层
看帖是一种态度,,,回帖是一种美德

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-12-9 19:07 | 显示全部楼层
看看怎么做的

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2017-12-12 04:54

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表