打开姿势很重要 早些时候,iOS中一提到“黑魔法”、HOOK,很多人第一时间想到的就是 AOP RunTime MethodSwizzling 这些不明觉厉的东西,它们的基本用法其实都不难,真正难的是如何在合适的地方用好它们。 任何事物都有两面性,越强大其可能带来的隐患也越具有毁灭性。苹果提供的运行时机制固然大有用处,但如果在项目中滥用(更不是用来当做面试提升逼格的),很 ...
dyld背后的故事&源码分析
什么是dyld? dyld(the dynamic link editor)是苹果的动态链接器,是苹果操作系统的一个重要组成部分,当系统内核做好启动程序的准备工作之后,余下的工作会交给dyld来负责处理。那它存在的意义是什么?它又具体都负责做些什么呢?这一篇我们一起来一探究竟。前方长篇预警~ dyld存在的意义 存在即合理,但我们要弄清楚其合理性所在。先从可执行文件是如何由源 ...
MachO 文件结构详解
概念——什么是MachO? 苹果开发者对它一定不陌生,特别是喜欢逆向的同学,对它的研究更是必不可少。在可安装的每一个.app包中,都有一个与app同名的可执行文件,它可能长这样:(如果你碰到显示为白色的MachO文件,说明当前用户对其没有可执行权限) MachO其实是Mach Object的缩写,是在Mac以及iOS上可执行的一种文件格式,包括但不限于:可执行文件(.out ...
非越狱下iOS代码注入&微信登录HOOK
在之前这篇iOS应用脚本重签名中,我们对脱壳的微信安装包进行重签名,并成功在真机上运行起来,完成了iOS逆向的准备工作。这一篇我们将通过演示如何HOOK微信登录事件并获取到用户密码,把iOS代码注入的几种方式串起来做个简单地概述。不管做逆向还是正向开发,这些都能为你提供一些在应用安全攻防方面的思路。 当拿到别人的脱壳包,想要HOOK别人的方法做些小插件,首先需要程序执行你写的 ...
走出区块链认知的误区
新事物往往不是凭空而来,发展和演化也很少一蹴而就。认识新事物,首先要弄清楚它的来龙去脉,知其出身,方能知其所以然。此文章为《区块链技术指南》的读后笔记&摘要。 账本科技的演化 区块链(Blockchain)的概念首次被人们关注,源于2009年初上线的比特币(Bitcoin)开源项目。从记账科技的演化角度来看,区块链实际上是记账问题发展到分布式场景下的天然结果。账本科技 ...
Unix/Linux文件类型与权限管理
在小白与计算机的日常中,经常会碰到文件无(读、写、执行)权限,包括很多刚入门的程序员,也常常在别人的博客里会看到类似 777 XX.file```、```chmod u+x XX.file```、```chmod g-w XX.file```这些不明觉厉的命令,今天来帮还不清楚的童鞋科普一下,电脑中每个文件的权限 系统究竟是如何管理的,又如何修改文件的权限。 ### 看懂文件类型与权 ...