六阿哥博客

内存 内存是计算机中重要的部件之一,它是与 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 条评论

参数接收 命令行工具也是 Mach-O 可执行文件,只是没有 GUI 界面。在终端执行命令行工具的时候,我们可以输入多个参数,而参数就是通过程序入口 main 方法接收的。 int main(int argc, char * argv[]) { return 0; } argc:argume...

发布 0 条评论

安装MonkeyDev MonkeyDev 是原有 iOS OpenDev 的升级,越狱/非越狱插件开发整合工具。 官方地址:https://github.com/AloneMonkey/MonkeyDev/ 文档地址:https://github.com/AloneMonkey/MonkeyDev/wiki/安装 1.MonkeyDev 依赖 theos...

发布 0 条评论

过程 1.将第三方插件的 deb 包解压,得到 xxx.dylib 和 xxx.plist 文件。 2.创建 Tweak 工程。 3.将 xxx.plist 文件中的内容替换我们创建的工程的 plist 文件内容。 4.将 xxx.dylib 拷贝到工程根目录的 layout/Library/MobileSubstrat...

发布 0 条评论