【Android安全】APK静态分析-源码反编译逆向分析

本文介绍了Android静态分析的方法,包括通过DEX反汇编工具dex2jar和Java字节码查看工具jd-gui,解析APK的Dalvik字节码并转换为Java源码,以一个简单的用户名密码校验应用为例,展示了如何查看和理解反编译后的代码。
摘要由CSDN通过智能技术生成
静态分析(Static Analysis)是指在不运行代码的情况下,采用词法分析、语法分析等各种技术手段对程序文件进行扫描从而生成程序的反汇编代码,然后阅读反汇编代码来掌握程序功能的一种技术。在实际的分析过程中,完全不运行程序是不太可能的,分析人员时常需要先运行目标程序来寻找程序的突破口。静态分析强调的是静态,在整个分析的过程中,阅读反汇编代码是主要的分析工作。生成反汇编代码的工具称为反汇编工具或反编译工具,选择一个功能强大的反汇编工具不仅能获得更好的反汇编效果,而且也能为分析人员节省不少时间。
静态分析Android程序有两种方法:一种方法是阅读反汇编生成的Dalvik字节码,可以使用IDA Pro分析dex文件,或者使用文本编辑器阅读baksmali反编译生成的smali文件;另一种方法是阅读反汇编生成的Java源码,可以使用dex2jar生成jar文件,然后再使用jd-gui阅读jar文件的代码。


还是用之前写的一个实例,界面包含2个文本框,2个按钮,判断2个文本框中内容是否相等,相等返回成功,不等返回失败。
dex产生过程:java源代码-》Java字节码-》Dalvik字节码,dex还原过程与之相反。
dex2jar工具作用是将dalvik字节码的dex文件转换为java字节码的jar或class文件
下载地址:http://dl.cr173.com/soft1/dex2jar.zip
jd-gui工具是将java字节码文件转换为java源码
下载地址:http://dl.cr173.com/soft1/jd-gui.zip
1、将之前开发的用户名密码校验的apk文件的扩展名apk改为zip,解压zip后可以查看到class.dex利用dex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值