破解 --- apk文件解析

apk是android Package的缩写,即Android安装包。apk是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。

1.apk文件目录

asset 资源文件
lib ARM   X86  so
MET-TNF 签名文件夹
	CERT.RSA
	CERT.SF
	MANIFEST.MF
res
	图片 - drawable
	布局 - layout
	菜单 - menu
resources.arsc资源
classes.dex->可执行程序
androidManifest.xml  配置文件
	

2.反编译apk

	apk文件=>压缩包
	.java=>.class=>.dex  正向编译
	.dex=>.smali=>.class 反向编译   apktool  dex2jar
	AndroidManifest.xml
	classes.dex
	resources.arsc

3.编程语言

java代码 => smali汇编
c/c++ => ARM汇编

4.虚拟机

java虚拟机
	java字节码
	基于栈架构
dalvik虚拟机(jit机制)
	Android 5.0以下
	dalvik字节码
	dalvik可执行文件体积更小
	基于寄存器架构
art虚拟机
	Android  5.0版本以上
	

5.dalvik汇编语言分析

	dalvik指令格式
	dex文件反汇编工具
		smali.jar\ddx.jar
	了解dalvik寄存器
		dalvik中的寄存器都是32位
	寄存器之v命名法与p命名法
		局部变量寄存器
		参数寄存器
	dalvik字节码
		类型
			smali=>java
			v void
			z boolean
			B byte
			S short
			C char
			I int
			j long
			F float
			D double
			L java类类型
			[ 数组类型
			字段
				Lpackage/name/ObjectName;->FieldName:Ljava/lang/String;
			方法
				Lpackage/name/ObjectName;->MethodName(III)Z

6.App逆向分析

静态分析
	词法分析/语法分析
	反汇编工具
	dalvik字节码/IDA Pro=>.dex=>smali
	.dex(dex2jar)=>.jar=>jd_gui
动态调试
	dalvik虚拟机
	jdwp(调试有线协议)=> jdb/intellij/jswat
	ddm调试监视器
	ddms(dalvik调试监视器服务)
	ro.debuggable = 1(adb shell getprop ro.debuggable)
	android.debuggable="true"
	logcat(调试信息)/ method profiling(跟踪程序的执行流程)
	使用logcat查看调试信息
		调试信息/消息过滤器
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值