Projectsandcastle:一款针对iPhone的AndroidLinux支持工具

枫少@KillBoy
枫少@KillBoy
管理员
220
文章
0
粉丝
资源分享818,0443字数 694阅读2分18秒阅读模式
AI智能摘要
你是否想过让iPhone运行linux或Android系统?Projectsandcastle正是这样一个颠覆性的工具,专为研究人员打造,支持通过pongoOS加载内核、提取设备配置、实现触摸控制及蓝牙固件解析。它不仅提供完整的内核与构建环境,还能在越狱设备上实现跨系统部署。想了解如何在iPhone上搭建嵌入式linux系统?或是让Android应用在其上运行的技术细节?本文带你深入这一前沿项目的核心逻辑与实操路径,揭开手机系统兼容的新可能。
— AI 生成的文章内容摘要

Projectsandcastle:一款针对iPhone的AndroidLinux支持工具

Projectsandcastle

Projectsandcastle是一款针对iPhone的Android/linux支持工具,该工具可以给广大研究人员提供以下实用工具:

1、loader/ 通过pongoOS加载内核和设备树
2、syscfg/ 可从目标设备的syscfg分区中提取配置信息
3、hx-touchd/ 触摸屏幕支持守护进程
4、hcdpack/ 可从源码文件中提取蓝牙固件信息

内核

内核可以从下列GitHub库中获取到稳定版本(linux-stable):

https://github.com/corellium/linux-sandcastle

Buildroot

Projectsandcastle的Linux Ramdisk使用了buildroot来进行构建,我们提供的定制版本buildroot可以从下列地址获取:

https://github.com/corellium/sandcastle-buildroot

Buildroot是一款简单、高效且易于使用的工具,它可以帮助我们通过交叉编译来生成一个嵌入式的Linux系统。

相关操作文档可以在上述地址中的docs/manual文件中找到,你可以使用命令“make manual-text”来生成一个文本文档,或读取output/docs/manual/manual.text文件。

我们可以按照下列方式来构建和使用buildroot工具:

1、运行命令“make menuconfig”;

2、选择目标架构,以及需要编译的代码包;

3、运行“make”命令;

4、等待编译完成;

5、在output/images目录中找到内核、bootloader、root文件系统等内容;

在线文档:【点我查看

Android应用程序

安装APK文件

广大研究人员可以使用下列命令安装APK文件:

adb install foo.apk

但是,这种方式会存在以下限制因素:

1、如果是纯Java APK文件,并且不需要该项目所不支持的硬件的话,则可以正常运行;
2、仅包含了ARMv7代码(32位)的APK文件将无法运行;
3、包含了ARMv8代码(64位)的APK文件将需要对代码进行重构后方可运行;

重构代码库

我们需要将代码库文件按照16KB页面大小来构建,首先,当代码库链接成功时,尝试运行下列选项/命令:

-z common-page-size=0x4000 -z max-page-size=0x4000

如果连接器使用了C编译器来封装,那你可能还需要使用下列参数:

-Wl,-z,common-page-size=0x4000 -Wl,-z,max-page-size=0x4000

如果一切正常的话,可以使用“readelf -l”:
如果没有RELRO段,请检查具有不同属性的LOAD段是否占用了同一个16KB页;
如果有RELRO段,请确保它在16kB页边界上开始或结束;有时编译器会将RELRO放在RW段的开始处(然后RELRO应该在16k边界处结束),有时会将其放在末尾(然后RELRO应该在16k边界处开始)。
如果还存在问题的话,请检查代码库的源代码,并检查PAGE_SIZE、kPageSize、PAGE_SHIFT、PAGE_BITS等位置。

项目地址

Projectsandcastle:【GitHub传送门

https://www.freebuf.com/sectool/229967.html

 
枫少@KillBoy
评论  81  访客  79  作者  2
    • SnuggleBunny
      SnuggleBunny 0

      在iPhone上跑linux,爽👍。

      • 梦之弦
        梦之弦 0

        loader 用pongoOS的话,记得先刷bootrom。

        • 零子
          零子 0

          这玩意儿挺实用的。

          • 小象宝
            小象宝 1

            hx-touchd 支持多点触控吗?

            • 风之叹息
              风之叹息 0

              说只能跑ARMv7,这限制太狠了。

              • 兰桡
                兰桡 0

                我以前玩过类似工具,配置挺头疼的。

                  • 青灯
                    青灯 1

                    @ 兰桡 配置那块真的麻烦,我习惯先把menuconfig的选项导出再改,省不少时间。

                  • 嘎嘎乐
                    嘎嘎乐 0

                    文档全是英文,看得我眼花。

                    • 波波海豚
                      波波海豚 0

                      大佬们又搞新玩意儿了,围观中。

                      • 暗影君主
                        暗影君主 0

                        整体感觉不错,就是编译时间有点长,等得我咖啡都凉了。

                          • 雾锁楼
                            雾锁楼 0

                            @ 暗影君主 编译慢是常态,开多核好一点,或者提前跑个预编译。

                          • 鼓手萧
                            鼓手萧 0

                            如果想在iPhone上跑完整的桌面linux,需要额外的GPU驱动吗?我这手机GPU好像不被识别。

                              • 梦语精灵
                                梦语精灵 1

                                @ 鼓手萧 GPU不识别太头疼了,我A12直接黑屏😭

                              • 熊熊小熊
                                熊熊小熊 1

                                这个loader是在checkra1n之后用吗?

                                • Star辰
                                  Star辰 0

                                  ARMv7都跑不了,现在还有几个APP是32位的啊。。

                                    • 梦魇妖
                                      梦魇妖 0

                                      @ Star辰 确实,大部分都64位了。

                                    • Fluffykins
                                      Fluffykins 0

                                      文档链接点进去是404?

                                      • 午睡的猫
                                        午睡的猫 0

                                        那蓝牙固件能直接拿来用吗?

                                        • 寂夜星辰
                                          寂夜星辰 1

                                          围观,感觉有点硬核。

                                          • TuskTrotter
                                            TuskTrotter 1

                                            触摸屏驱动要是能开源就好了。

                                              • 琉璃珠帘
                                                琉璃珠帘 0

                                                @ TuskTrotter 开源算了,天天修bug太累人

                                              • 铁血战神
                                                铁血战神 0

                                                之前搞过交叉编译,make menuconfig那步选项多得要命。

                                                • FangGrins
                                                  FangGrins 0

                                                  跑起来之后发热怎么样?

                                                    • 夜烬苍狼
                                                      夜烬苍狼 0

                                                      @ FangGrins 同问,估计续航尿崩。

                                                    • 薄荷夏天
                                                      薄荷夏天 0

                                                      这个能搞成双系统启动不?

                                                      • 独步夜雨
                                                        独步夜雨 0

                                                        感觉编译步骤写得还算清楚。

                                                          • SpottySkipper
                                                            SpottySkipper 0

                                                            @ 独步夜雨 步骤是清楚,但实际操作一堆报错。

                                                            • 鲸鱼学者
                                                              鲸鱼学者 0

                                                              @ 独步夜雨 步骤是清楚,但make那步报错一堆,谁来救救?

                                                              • SporkMaster
                                                                SporkMaster 0

                                                                @ 独步夜雨 清楚倒是,实际跑起来还是卡在依赖上,换个版本试试。

                                                              • 蝶梦浮光
                                                                蝶梦浮光 0

                                                                loader是不是只能在越狱机上用?

                                                                • TuftTilter
                                                                  TuftTilter 1

                                                                  这下iPhone也能玩linux了,有点意思👍

                                                                  • 墨子贤
                                                                    墨子贤 0

                                                                    那触摸屏延迟大不大?

                                                                      • 啼血魂
                                                                        啼血魂 0

                                                                        @ 墨子贤 延迟有点明显,滑动老卡了。

                                                                      • 雷霆暴君
                                                                        雷霆暴君 0

                                                                        之前搞过类似的,驱动问题折腾死人。

                                                                        • 雨巷悠长
                                                                          雨巷悠长 0

                                                                          hcdpack提取的固件能直接刷不?

                                                                          • 魂灯照
                                                                            魂灯照 0

                                                                            文档链接确实挂了,有人有备份吗?

                                                                              • 青锋剑客
                                                                                青锋剑客 0

                                                                                @ 魂灯照 GitHub raw链接有时候抽风,试试加?raw=true后缀,或者去archive.org找快照。

                                                                              • 荷鲁斯
                                                                                荷鲁斯 0

                                                                                感觉挺折腾的,不过好玩就行。

                                                                                • 水无月
                                                                                  水无月 1

                                                                                  syscfg分区都提取啥配置?

                                                                                    • 青木静流
                                                                                      青木静流 0

                                                                                      @ 水无月 主要是提取设备树和启动参数吧,比如内存布局、外设地址这些。

                                                                                    • 破壁人
                                                                                      破壁人 0

                                                                                      编译内核那块,选架构的时候有坑吗?

                                                                                        • 重明破暗
                                                                                          重明破暗 0

                                                                                          @ 破壁人 选架构时最好先确认CPU指令集,别随便选,否则编译会报错。

                                                                                        • 枫叶音
                                                                                          枫叶音 0

                                                                                          围观,技术流的世界我不懂。

                                                                                          • 会说话的影子
                                                                                            会说话的影子 0

                                                                                            ARMv8还得重构?这也太劝退了吧😭

                                                                                              • 红砖厂房
                                                                                                红砖厂房 0

                                                                                                @ 会说话的影子 ARMv8重构要改链接脚本和页对齐,搞不好RELRO段就炸了,真不是闹着玩的。

                                                                                              • 丽江小巷
                                                                                                丽江小巷 0

                                                                                                hx-touchd装完重启就崩,有人遇到吗?

                                                                                                  • 幻心星辰
                                                                                                    幻心星辰 0

                                                                                                    @ 丽江小巷 我也遇到过,崩掉是因为驱动签名冲突,换个旧版的hx-touchd试试?

                                                                                                  • 星陨泪
                                                                                                    星陨泪 1

                                                                                                    我试过在A12上跑,GPU直接罢工,黑屏了。

                                                                                                    • 记忆宫殿的建筑师
                                                                                                      记忆宫殿的建筑师 1

                                                                                                      这工具链看着硬核,新手根本不敢碰啊。

                                                                                                      • 未来之翼
                                                                                                        未来之翼 1

                                                                                                        蓝牙固件提取出来是加密的吧?能直接用?

                                                                                                          • 碧水微澜
                                                                                                            碧水微澜 1

                                                                                                            @ 未来之翼 加密的固件提出来也没法刷吧?

                                                                                                          • 砚池月色
                                                                                                            砚池月色 0

                                                                                                            编译完rootfs太大,塞不进ramdisk咋办?

                                                                                                            • 梦回海岸
                                                                                                              梦回海岸 0

                                                                                                              文档链接又挂了,求个离线版!

                                                                                                              • 蝴蝶舞舞
                                                                                                                蝴蝶舞舞 0

                                                                                                                编译完镜像超2G,ramdisk根本塞不下

                                                                                                                • 灵魂褶皱
                                                                                                                  灵魂褶皱 1

                                                                                                                  这个loader得先搞懂pongoOS才行

                                                                                                                    • 西瓜籽杀手
                                                                                                                      西瓜籽杀手 0

                                                                                                                      @ 灵魂褶皱 没错,先刷好pongoOS才能跑loader,我是用官方脚本装的,顺利上手。

                                                                                                                    • 甜奶小鹿
                                                                                                                      甜奶小鹿 0

                                                                                                                      hx-touchd多点触控支持吗,就怕滑不动

                                                                                                                      • 鸭子呱呱
                                                                                                                        鸭子呱呱 0

                                                                                                                        文档404好几次了,求个百度网盘链接

                                                                                                                        • 茶子
                                                                                                                          茶子 1

                                                                                                                          ARMv8还得重构代码?现在谁还用32位啊

                                                                                                                          • 冰霜女王
                                                                                                                            冰霜女王 1

                                                                                                                            之前弄过类似项目,光驱动就搞三天

                                                                                                                            • 玄天鬼
                                                                                                                              玄天鬼 0

                                                                                                                              linux是爽,但发热能不能扛住啊

                                                                                                                              • 墨染清风
                                                                                                                                墨染清风 1

                                                                                                                                内核版本选啥好?有推荐的吗

                                                                                                                                  • 枫少@KillBoy
                                                                                                                                    枫少@KillBoy

                                                                                                                                    @ 墨染清风 用最新稳定版就挺好,兼容性比较强。

                                                                                                                                  • 清风问月
                                                                                                                                    清风问月 0

                                                                                                                                    这工具链门槛太高了,光看buildroot配置就头大。

                                                                                                                                    • 雷电狮
                                                                                                                                      雷电狮 0

                                                                                                                                      hx-touchd装完直接黑屏,重启三次都一样,谁救?

                                                                                                                                      • 时光之匙
                                                                                                                                        时光之匙 1

                                                                                                                                        求问A13能跑吗?还是仅限A12及以下?

                                                                                                                                        • 梧桐居
                                                                                                                                          梧桐居 0

                                                                                                                                          之前交叉编译时PAGE_SIZE没对齐,结果内核起不来,折腾一晚上。

                                                                                                                                          • 犟拐拐
                                                                                                                                            犟拐拐 0

                                                                                                                                            文档挂了还怎么玩?作者不维护了吗?

                                                                                                                                            • 铜匠汪
                                                                                                                                              铜匠汪 0

                                                                                                                                              GPU驱动没适配的话,桌面根本没法用吧,光有shell有啥意思。

                                                                                                                                              • Phoenix涅槃
                                                                                                                                                Phoenix涅槃 1

                                                                                                                                                蓝牙固件提取出来是bin格式,但不知道能不能直接喂给linux驱动🤔

                                                                                                                                                • 符文雕刻师
                                                                                                                                                  符文雕刻师 1

                                                                                                                                                  有教程吗?看不太懂怎么上手。

                                                                                                                                                    • 枫少@KillBoy
                                                                                                                                                      枫少@KillBoy

                                                                                                                                                      @ 符文雕刻师 可以看下文章里的文档链接和项目地址,里面有详细说明。

                                                                                                                                                    • 青冥咒语
                                                                                                                                                      青冥咒语 1

                                                                                                                                                      装好hx-touchd后,屏幕偶尔卡顿,感觉有点不稳。

                                                                                                                                                      • 幽灵捕手
                                                                                                                                                        幽灵捕手 0

                                                                                                                                                        A13上跑linux居然还能开个终端,爽到飞起👍

                                                                                                                                                        • 大饼馍
                                                                                                                                                          大饼馍 1

                                                                                                                                                          文档里那个make menuconfig选项太多,我都选错了,求教怎么快速定位必要项?

                                                                                                                                                          • 暗星旅人
                                                                                                                                                            暗星旅人 1

                                                                                                                                                            之前折腾过类似的项目,最头疼的还是PAGE_SIZE对齐,折磨一整夜。

                                                                                                                                                            • 春分昼夜
                                                                                                                                                              春分昼夜 0

                                                                                                                                                              蓝牙固件提取出来是bin,直接刷进去居然不认,坑。

                                                                                                                                                              • WaningLuminary
                                                                                                                                                                WaningLuminary 0

                                                                                                                                                                真的很硬核,感觉自己像在玩黑客电影里的桥段。

                                                                                                                                                                • 单身狗保护协会会长
                                                                                                                                                                  单身狗保护协会会长 0

                                                                                                                                                                  编译完的ramdisk竟然2.5G,iPhone根本塞不下,真是笑死。

                                                                                                                                                                  • 蜂蜜小熊仔
                                                                                                                                                                    蜂蜜小熊仔 1

                                                                                                                                                                    这个工具链看着门槛高,但动手后挺有成就感,值得一试。

                                                                                                                                                                  匿名

                                                                                                                                                                  发表评论

                                                                                                                                                                  匿名网友

                                                                                                                                                                  拖动滑块以完成验证