iOS 平台使用 Frida 简明指南

iOS 平台使用 Frida 简明指南

h4ck1n 1年前 (2022-04-29) 2,369 0

Frida 常用姿势 Frida是一个跨平台的动态代码注入工具集,你可以使用它hook应用程序,插入自己的JavaSciprt代码,同时也能获取应用的内存和函数的完全访问权限。 推荐使用此工具进行追踪函数调用等操作,比使用Theos的logify.pl工具方便多了。 文档:https://www.frida.re/docs/examples/ios/ 使用局域网连接 ssh root@192.16...

让 Xcode 支持使用 root 权限调试 iOS 设备上的任何应用或进程

让 Xcode 支持使用 root 权限调试 iOS 设备上的任何应用或进程

h4ck1n 1年前 (2022-06-28) 824 2

在 iOS 设备上调试应用程序,需要使用 debugserver + lldb 的方式,配置方法可以参考文章 一步一步用debugserver + lldb代替gdb进行动态调试,这里不赘述。 使用 debugserver + lldb 调试固然不错,但有一个小问题,那就是操作较为麻烦。虽然已经有一些插件简化了调试步骤,如:SpringBoard tweak 双击图标启动debugserver,但...

iOS 使用 CVPixelBufferRef 提高 CPU 和 GPU 的数据传输效率

iOS 使用 CVPixelBufferRef 提高 CPU 和 GPU 的数据传输效率

h4ck1n 1年前 (2022-05-19) 634 0

iPhone 的 CPU 对于处理视频来说能力是非常有限的,如果要进行视频处理,比如滤镜、美颜等,都会用到设备的 GPU 能力,也就是会用到 openGL ES 的 api。 CPU 和 GPU 之间的数据传递效率十分低下,尤其是从 GPU 回传数据到 CPU,更是缓慢。比如使用 glReadPixels 从 GPU 读取数据这种模式,想要做到实时很难。 那么,在 iOS 中想要提高 GPU 和 ...

使用 IOKit 监听 Mac 电脑的 USB 事件

使用 IOKit 监听 Mac 电脑的 USB 事件

h4ck1n 1年前 (2022-09-15) 565 0

macOS系统如何监听USB设备连接和断开呢? 需要先区分是监听USB设备还是disk(U盘、SD卡等),如果为后者,则可以直接通过系统通知,而不需要调用IOKit监听。 监听可装载的USB设备(U盘、SD卡等) 1.注册通知 // Notification for Mountingthe USB device [[[NSWorkspace sharedWorkspace] notificatio...

在越狱设备调试任意 iOS App 的 WebView

在越狱设备调试任意 iOS App 的 WebView 7

h4ck1n 2年前 (2022-04-05) 982 3

iOS 7 之后的 Safari 提供了远程调试设备上网页的功能。在设备和 mac 端的 Safari 上均开启开发者功能之后,可以用 USB 连接手机,然后在 Develop 菜单中选择对应的页面打开 WebInspector: 但是这个调试功能只对 Xcode 真机调试的 App 和 MobileSafari 开启了。 如果基于某些原因想要调试其他厂商的 App 应该怎么办? 已知的一种方式是...

WCDB 简明使用指南

WCDB 简明使用指南

h4ck1n 8个月前 (07-30) 275 0

WCDB 是一个高效、完整、易用的移动数据库框架,基于 SQLCipher,支持 iOS, macOS 和 Android。 本文简单记录 WCDB 在 Objective-C 项目下的使用代码。 类字段绑定(ORM) Message.h #import <Foundation/Foundation.h> @interface Message : NSObject @property ...

iOS 崩溃符号化工具的使用

iOS 崩溃符号化工具的使用

h4ck1n 1年前 (2022-06-02) 1,101 0

这里主要介绍 symbolicatecrash 和 atos 以及 iOS15 兼容 Json 格式后,新出的 CrashSymbolicator.py工具的使用,三个工具都是 Xcode 自带,使用 sh 脚本写的,symbolicatecrash 实际上也是基于 atos 来进行符号化的,atos 可以针对模块方法进行符号化解析,symbolicatecrash 是针对整个文件进行符号化。 目...

macOS 提升应用执行权限的方案

macOS 提升应用执行权限的方案

h4ck1n 2年前 (2022-04-05) 1,049 0

应用中有些shell命令可能需要sudo,也就是需要root权限来完成的,比如: $ sudo spctl --master-disable # 开启软件安装的未知来源 碰到这类情况,直接使用是肯定不行的,那么我们该如何处理? 方案一 AuthorizationExecuteWithPrivileges() 这个函数是Security.framework中的一员,使用非常方便。而且还有一个封装得非...

C++ 多态的实现原理

C++ 多态的实现原理

h4ck1n 2年前 (2022-04-05) 357 0

虚函数 在类的定义中,前面有virtual关键字的成员函数称为虚函数。 virtual关键字只用在类定义里的函数声明中,函数体定义时不用。 class Base { virtual int Fun() ; // 函数声明的时需virtual关键字 }; int Base::Fun() // 函数体定义时无需virtual关键字 { } 多态 多态性指相同对象收到不同消息或不同对象收到相同消息时产生...

C 语言实现读取 .ini 配置文件

C 语言实现读取 .ini 配置文件

h4ck1n 1年前 (2022-10-10) 459 0

在 Windows 下可以用GetPrivateProfileString或GetPrivateProfileInt方便读取 .ini 配置文件内容,但是在 Linux 平台上就一筹莫展了。 为了解决该问题,使用 C 语言实现读取 .ini 配置文件,可在 Linux 平台上使用,不受平台限制。 #include <string.h> #ifdef WIN32 #include <...

扫一扫二维码分享