前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS小技能:程序类型初识(Application、Dynamic Library、后台Daemon)

iOS小技能:程序类型初识(Application、Dynamic Library、后台Daemon)

作者头像
公众号iOS逆向
发布2022-08-22 11:01:42
5120
发布2022-08-22 11:01:42
举报
文章被收录于专栏:iOS逆向与安全

前言

iOS程序类型分为3类:Application, Dynamic Library,后台Daemon。

在越狱的设备上才会遇到需要开发后面两种类型程序的情况。

I、iOS程序类型

1.1 Application

平时我们开发提交到App Store的应用即是Application,设备没有越狱的情况下,应用只能访问沙盒内存文件和数据。

1.2 Dynamic Library

Dynamic Library(动态链接库),在其他平台很常见,比如Windows平台的DLL。

苹果官方做了限制,所以在非越狱的情况下,需要提交到App Store的应用是不能包含动态链接库的,否则无法通过审核(Review)。

后面要介绍的越狱程序(Tweak)开发,就是动态链接库。我们开发的大部分越狱程序,都是编译成动态链接库,然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。后面会详细介绍越狱程序开发的原理,会对这个细节做进一步的介绍。

1.3 后台Daemon

后台Daemon类似于Windows的Service。对于Application来说,切换到Home就会暂停运行,而Daemon会在后台运行。在越狱设备上,之前用来拦截垃圾短信和电话的工具都是运行在后台的Daemon。

II iOS系统结构

访问iOS全系统文件是逆向工程的首要前提。

iOS 由OS X演化而来,而OS X则是基于unix操作系统的。

通过FHS标准了解类unix的文件目录结构,OS X则是在FHS基础上形成自己的hier(7)框架。

  • /boot 存放能使系统成功启动的所有文件 -- iOS在此目录中为空
  • /dev 存放设备文件:块设备(硬盘)、字符设备(调制解调器)
  • /bin 提供用户级基础功能 :ps ls
  • /sbin 提供系统级基础功能:reboot 、netstat
  • /lib 存放系统库文件、内核模块、设备驱动-- iOS中此目录为空
  • /mnt 存放临时的文件系统挂载点- iOS中此目录为空
  • /var 存放一些经常更改的文件:日志、用户数据、临时文件,其中/var/mobile /var/root 分别存放mobile用户和root用户的文件

文件权限用于说明文件的属主用户、属主组以及其他人能做什么。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS逆向 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • I、iOS程序类型
    • 1.1 Application
      • 1.2 Dynamic Library
        • 1.3 后台Daemon
        • II iOS系统结构
        相关产品与服务
        短信
        腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档