重定位符号表 案例1:查看可执行文件的代码段创建test.m文件,写入以下代码:int main(){ return 0;}使用clang命令,生成可执行文件clang ...
重定位符号表 案例1:查看可执行文件的代码段创建test.m文件,写入以下代码:int main(){ return 0;}使用clang命令,生成可执行文件clang ...
对象本质 clangclang是⼀个C语⾔、C++、Objective-C语⾔的轻量级编译器。源代码发布于BSD协议下clang将⽀持其普通lambda表达式、返回类型的简化...
@咸淡两由之 ~o(〃'▽'〃)o 感谢支持
iOS底层原理--002:instanceSize & mallocinstanceSize分析 instanceSize函数是alloc的核心方法之一,负责计算内存大小打开objc4-818.2源码进入instanceSize函数inlin...
instanceSize分析 instanceSize函数是alloc的核心方法之一,负责计算内存大小打开objc4-818.2源码进入instanceSize函数inlin...
内存地址 & 指针地址 搭建allocDemo项目打印对象的内存地址和指针地址- (void)viewDidLoad { [super viewDidLoad]; L...
Tweak原理 执行make命令时,在.theos的隐藏目录中,编译出obj/debug目录,包含arm64、armv7两种架构,同时生成RedDemo.dylib动态库在a...
调试一款应用,使用重签名方案,很容易被第三方察觉。在越狱环境中,我们可以在不污染App的情况下,对第三方程序进行动态调试。 Reveal Reveal是一款UI调试神器,对i...
adv-cmds adv cmds是PushFix依赖包中的一个组件,而PushFix依赖包则是Cydia插件必备依赖包(绝大多数Cydia程序的依赖)之一在Cydia中,安...
软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。 砸壳原理 应用加壳(加密)提交给AppStore发布的App,都经过官方保护而加密,这样可以保证机...
越狱概述 越狱(Jailbreak):通过iOS系统安全启动链漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限root权限 安全启动链当启动一台iOS设备时,系...
使用MokeyDev对WeChat进行重签名并安装,在设置页,增加自动抢红包的UI,包含是否启用自动抢红包功能的开关,以及抢红包时的手速设置 界面分析 使用class-dum...
Logos语法,其实是CydiaSubstruct框架提供的一组宏定义。便于开发者使用宏进行HOOK操作。语法简单,功能强大且稳定。 基本使用 案例1:搭建App项目打开Vi...
Cycript是由Cydia创始人Saurik推出的一款脚本语言,Cycript混合了OC、JavaScript语法的解释器,这意味着我们能够在一个命令中使用OC或者Java...
虚拟内存 早期的操作系统早期的操作系统,并没有虚拟内存的概念。系统由进程直接访问内存中的物理地址,这种方式存在严重的安全隐患。内存中的不同进程,可以计算出它们的物理地址,可以...
lldb(Low Lever Debug):默认内置于Xcode中的动态调试工具。标准的lldb提供了一组广泛的命令,旨在与老版本的GDB命令兼容。 除了使用标准配置外,还可...
所谓InlineHook(内联钩⼦),就是直接修改⽬标函数的头部代码。让它跳转到⾃定义函数中执⾏代码,从⽽达到Hook的⽬的。这种Hook技术⼀般用于静态语⾔ Dobby框架...
fishHook是Facebook提供的开源库,利用MachO文件的加载原理,动态修改懒加载和非懒加载两张符号表,用来HOOK外部调用的C函数。详情可查看 官方文档[http...
初探反HOOK防护 当HOOK第三方App时,对于OC方法,一般会使用Method Swizzle。例如:使用系统提供的method_exchangeImplementati...
剥离符号 strip:移除指定符号。在Xcode中默认strip是在Archive的时候才会生效,移除对应符号 strip命令的使用:strip -x:除了全局符号都可以移除...