iPhone越狱大神都是怎么进行破解的?头文件包含的干货

createh51个月前 (03-14)技术教程8


看似原始的做法,却是相当高效的引用方式。


编程语言的头文件包含

  • C/C++支持头文件包含。
  • PHP还可将include语句置于条件语句中,include_once类似ObjC的#import可以保证不会重复包含。PHP还提供require包含指定文件,它和include的差异是前者出错时会停止执行,后者不会。


头文件包含的本质

  • 文本插入。
  • #include包含.h是最常见的用法,但不限于.h, 任何合法的文件都可以被包含。


头文件插入后的行号错误

  • 用gcc -E选项预处理后的代码,可以看到形如# 5 "1.c"之类的插入行,它们在提示编译器把后面的代码行数看做是第五行。之所以存在是因为,头文件插入文本破坏了源代码的行号,编译器需要理清真实的行号。#line 作用类似。


不使用头文件的情形

  • 头文件包含在一些破解和逆向可能有奇用,这是C/C++语言设计导致的。比如,早期iPhone越狱破解,虽然大家不知道苹果给的库的真实头文件,但通过逆向猜到了头文件的样子,可以写这样一段头文件声明,就可以使用库函数了。
  • 一个更简单的例子,你不想用stdio.h其他的声明, 也可以写一个自己的头文件,只包含printf原型,即可使用printf.










若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

相关文章

朗致面试-IOS/安卓/Java/架构师

一、一共三轮面试:第一轮是逻辑行测,25道题目,类似于公务员考试题目,要求90分钟内完成。第二轮是技术面试,主要是做一些数据结构与算法中的题目,在自己的机器上完成代码的编写,打印出结果,要求在60分钟...

新款MacbookPro 16寸 m1芯片究竟能不能用来java开发

一.配置介绍1.首先先给大家看一下我买的2021新款M1MacbookPro的配置我买的这款就是16英寸的运行内存为16个g的最低配18999RMB, 说实话我觉得16g的作为java开发已经是非常足...

编程语言的性能

若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!硬件性能越强,软件效率的苛刻要求就越来越低。没有绝对的性能高低,只有相对的性能高低C++不一定比C语言效率低。解释型语言一般低于编译型...

异常的正确处理

人生和世界总是充满着不意外,争议、冲突和战争似乎是人类必然经历的过程。程序执行也有不满的时候。不同编程语言的异常Ada/Modula-3是早期引入异常处理的语言。C语言没有标准意义的异常,使用goto...

苹果M1电脑真实编程测试之python篇-60个项目最全测试

苹果M1 mac电脑发售有一段时间,已经有多个性能测试软件对M1进行了测试,苹果M1跑分不俗。在geekbench上M1 Mac电脑甚至已经登顶Mac单核性能榜首。那么在真实的编程环境中,M1 mac...

Kotlin KMP开发利器!xcode-kotlin实现iOS端Kotlin代码断点调试

上次写了这篇《基于 Kotlin KMP 实现 HarmonyOS 与 Android 双平台 SDK 开发实践》,但是当时有个遗憾, Kotlin KMP 项目除了 Android 平台,在IOS...