《CTF特训营》——APK逆向基础

目录

一、Android基本架构

1.Android操作系统基本分层

2.Dalvik虚拟机层

3.Native层

二、ARM架构基础

1.基本架构介绍

2.工作状态

3.函数调用和转跳指令

4.出栈入栈指令

5.保存/恢复寄存器的值

三、abd

四、APK文件格式


一、Android基本架构

1.Android操作系统基本分层

一般由4层,Linux内核层,系统运行层,应用框架层和应用层,从开发人员的角度来讲,一个Android应用可以分为两个部分:一部分使用java来实现,也称为Dalvik虚拟机层,一部分使用C/C++实现,也称为Native层。

2.Dalvik虚拟机层

Android应用虽然可以使用Java开发,但是Android应用却不是运行在标准Java虚拟机上的,而是运行在谷歌专门为Android开发的Dalvik虚拟机上,虽然Android从5.0开始默认使用ART虚拟机,抛弃了Dalvik虚拟机,但是Dalvik虚拟机任然很重要,尤其是对DEX文件的反编译。

Dalvik虚拟机中运行的是Dalvik字节码,并不是Java字节码,所有的Dalvik字节码均由Java字节码转换而来,并打包成一个DEX可执行文件。Dalvik虚拟机有一套自己的指令集,以及一套专门的Dalvik汇编代码。

3.Native层

Android既可以使用Java开发,也可以用C/C++结合,甚至可以使用纯C/C++开发,使用C/C++开发的代码会形成一个so文件,会在Android应用运行时加载到内存中。这与x86平台中Linux加载so库的方式非常独特,唯一不同的是Native蹭的函数与Dalvik层的函数进行关联,使得Native层的函数在Dalvik层中可以很方便地调用。

二、ARM架构基础

1.基本架构介绍

ARM处理器一共有37个32位的寄存器,31个通用寄存器,6个为状态寄存器,共7种运行模式,除用户模式之外,其余6种称为特权模式,Android应用主要在用户模式下运行。

用户模式下

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CTF是一种为了练和提高参与者网络安全知识和技能的活动或培CTF代表Capture The Flag(夺旗赛),是一种网络安全竞技,参赛选手通常需要在一定时间内解决一系列与信息安全相关的题目,攻击和防守并获取旗帜来获得积分。 PDF文件通常是一种常用的电子文档格式,可包含文本、图像、链接、表单等内容。PDF格式文件的点是易于共享、可读性好且文件大小较小,广泛应用于文件传输、存储和打印等方面。 CSDN是中文IT技术社区平台,为开发者提供技术博客、问答、培等服务。在CSDN上,用户可以发布技术文章、分享经验、解答问题,也可以浏览其他用户分享的技术资源。 结合以上三个关键词,可以推测出"CTF PDF CSDN"的含义可能是关于CTF的PDF文件在CSDN上的相关内容。可能是包含CTF相关介绍、教程、参考资料等的PDF文件可以在CSDN平台上找到和下载。 CTF的PDF文件在CSDN平台上的存在,为参与者提供了方便快捷的学习和参考资源。学习者们可以通过下载PDF文件,了解CTF竞技的规则、技巧和策略,提高他们在网络安全领域的知识水平和技能。同时,他们还可以借助其他CSDN用户的经验分享,深入理解和学习关于CTF的知识。 总之,CTFPDF文件在CSDN上的存在对于提高参与者的网络安全知识和技能非常有帮助,同时也丰富了CSDN平台上关于网络安全方面的技术资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值