六阿哥博客

DBVM DBVM:全称 Dark Byte Virtual Machine,让 CE 拥有 R0 级的权限。 R0/Ring0 是内核级权限,R3/Ring3 是应用级权限,R0 级一般是显卡驱动、声卡驱动等内核驱动级的应用去获取系统底层权限来完成一些操作。我们平时用的应用,像 Q...

发布 0 条评论

CE寻找基址 这里说的基址,其实是指静态地址,而真正的基址是指模块基址,但大家都在乱叫,所以就随波逐流的跟着叫了。基址也就是每次重启应用后,都不会发生变化的地址。 通过 CE 多次精确数值搜索,最终获取到了当前血量的动态地址 ...

发布 0 条评论

call简介 call 是 win32 汇编中的一个调用子程序的汇编指令,类似 ARM 汇编中的 bl 指令。 可以理解成易语言中调用子程序,或者 c/c++ 语言中调用函数。 封包发送 在 win32 编程中,网络游戏发送数据包最终都会调用 send 函数来发送数...

发布 0 条评论

内存 内存是计算机中重要的部件之一,它是与 CPU 进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行的。 虚拟内存 通过操作系统的某些指令对物理内存进行映射,使得每个程序都拥有物理内存那么大的内存。假如我们电脑插入4G的...

发布 2 条评论

DLL动态链接库 DLL 是 Dynamic Link Library 的缩写,翻译为动态链接库。 在 Windows 中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即 DLL 文件,放置于系统中。 当我们执行某一程序时,相应...

发布 0 条评论

Gatekeeper macOS 10.7.5 引入的安全特性,检测从互联网下载或其他第三方安装的软件,在首次运行时,确保它们的行为对系统没有危害。 系统在默认情况下只允许用户安装来自 App Store 的软件,如果需要安装从网上下载或其他地方复制的...

发布 0 条评论

原理 在之前笔记中有详细写过越狱机插件开发和执行原理,我们知道插件是依赖 Cydia Substrate 基板运行的。 所以只需要将 Cydia Substrate 基板和 deb 插件内的 dylib 动态库打包进 APP 并加载,然后重签名即可运行在非越狱机上。 我...

发布 0 条评论

Unity版本变化 新版 Unity 打包 iOS 版本后,Unity 编写的代码会编译生成一个名为 UnityFramework.framework 的 Framework,存放在 xxx.app/Frameworks 目录下: 而 Unity 老版本打包的不会: 获取基址 使用 Unity 开发的手游,我们...

发布 0 条评论

功能 还原DLL文件(不包含代码),可用于提取MonoBehaviour和MonoScript 支持ELF, ELF64, Mach-O, PE, NSO和WASM格式 支持Unity 5.3 - 2020.2 生成IDA和Ghidra的脚本,帮助IDA和Ghidra更好的分析il2cpp文件 生成结构体头文件 支持从...

发布 0 条评论

安装 下载地址:https://github.com/tobefuturer/restore-symbol。 编译命令行工具: git clone --recursive https://github.com/tobefuturer/restore-symbol.git && cd restore-symbol && make ./restore-symbol 将...

发布 0 条评论

用到的工具 IDA Pro 7.0:反编译工具 Reveal:UI分析工具 frida-ios-dump:砸壳工具 class-dump:导OC头文件工具 Cycript:命令行调试工具 JFTool:封装Cycript脚本 Theos:Tweak开发工具包 iOS 番茄小说 Ver 4.2.0:测试目标APP 砸...

发布 0 条评论

签名保存位置 iOS的ipa安装包里 Mach-O 文件的签名是在 Mach-o 文件中,其他所有文件的签名都在 xxx.app/_CodeSignature/CodeResources 文件内。 如果我们改动了 Mach-O 文件,或者对安装包内任何资源文件进行了改动,签名验证都会失...

发布 0 条评论

生成汇编文件 将c语言源文件编译成arm64汇编代码: xcrun --sdk iphones clang -S -arch arm64 main.c -o main.s 寄存器 arm64有34个寄存器,包括通用寄存器和fp、lr、sp、pc、cpsr。 有些书上说有 x0~x30 是通用寄存器,有些则把 f...

发布 0 条评论

未使用ASLR的Mach-O内存分布 内存是操作系统建立起来的虚拟内存,和物理内存的地址不一样,是经过操作系统映射的内存!也就是说,虚拟内存的地址可能永远不会变,但是物理地址是随机的。 每个APP都有自己独立的虚拟内存,内存地址是不...

发布 0 条评论

什么叫动态调试 将程序运行起来,通过打断点、打印等方式,查看参数、返回值、函数调用流程等。 Xcode的动态调试原理 LLDB:是一个开源的内置于 Xcode 的具有 REPL(read-eval-print-loop) 特征的 Debugger,其可以安装 C++ 或者 Pyth...

发布 0 条评论