11 2024 档案
摘要:很显然,这些写法大多并不规范,也不被提倡。 很显然,咱并没有在windows下试过这些代码,而且实测大部分在线编程网站用的是Linux,可以接受GNU C扩展支持。 如果有人问我为什么折腾,为什么以折腾这些无聊的东西作为目标,那他们完全可以问,为什么要登上最高峰?为什么人类要登月?………我选择去折腾
阅读全文
摘要:前段时间咱本着再不买以后就买不到了的心态购入了国产物理密钥Canokey,不得不说这价格是真的坚挺,至死不降那种。。。 闪烁的蓝灯,优雅的签名,逼格算是拉满了,不过使用过程是真的曲折坎坷。 咱主要是买来用于git签名与ssh认证的,配置过程前辈们已经写的很清楚了,写好了有奖励,写不好有惩罚(悲) 所
阅读全文
摘要:成品: https://github.com/Moe-hacker/docker_image_puller 前言: 八月初的时候,咱无聊去扒了下dockerhub的接口,想通过网络请求直接从dockerhub偷镜像。 然后写完才想起来dockkerhub在国内是被墙的,似乎这么一个功能用处也不大。。
阅读全文
摘要:最近咱换了k40外观增强版,这一代联发科芯片漏洞不是一般的多,不仅有mtkclient中众所周知的bootrom漏洞,老版本系统lk中的cpu地址还是错的,真是“红米配天玑,越用越懵逼”。 不过lk的漏洞导致这手机在miui12.5下是能开kvm的,嗯,不折腾会死星人狂喜。 所以就有了这篇通用的在支
阅读全文
摘要:首先我们拿到一个lxc镜像的链接,咱觉得bfsu的速度就很不错。 https://mirrors.bfsu.edu.cn/lxc-images/images 点进去,顺着目录就能找到rootfs.tar.xz,下载就完了。 本文完,就这么简单。 当然不是啊喂!我们要做到自动获取rootfs链接。 镜
阅读全文
摘要:我们在开发C语言项目的构建系统部分时,单用Makefile可能会出现很多难题: 我想使用一个CFLAG来提高安全性,可有些编译器不支持怎么办? 我想用的头文件不同平台有不同版本怎么办? 我想在编译前检查依赖库怎么办? 老实说,一个build.sh或许是个很好的选择。 或者你会说,为啥不用meson/
阅读全文
摘要:经过“非常简单”的开发过程,咱终于把binfmt_misc支持加入了ruri新版本中: 17 files changed, 562 insertions(+), 60 deletions(-) 可以看到修改并不多,嗯。(心虚) 好了我们还是来讲讲binfmt_misc的应用吧: 简介: binfmt
阅读全文
摘要:最近在开发ruri时遇到不少问题,咱也是第一次写C,早知道头顶这么发凉就去用某邪教了呜喵~ 至于学习C语言的心得嘛, 陷入无法察觉的overflow 沦落于oom-killer之下的死尸 就连无法看懂的魔数 也错以为是莫名能跑的奇迹 被泄漏的内存所填满 内核惶恐 逐渐失去的可维护性 终于咕咕而终 「
阅读全文
摘要:建议先用printf/echo -e测试下。 更改光标风格,仅在Termux有效: "\e[2 q" "\e[6 q" "\e[4 q" 输出RGB颜色,TTY下无效: "\033[38;2;<R>;<G>;<B>m" #前景 "\033[48;2;<R>;<G>;<B>m" #背景 256色: "
阅读全文
摘要:注意:文章所述方法仅适用于非GKI或qgki的设备,新设备咱也不会搞。 文章内所述手机为arm64架构,上古时期的32位架构请自行修改。 注:pixel系列设备请换用repo工具以及官方构建工具并使用ThinLTO(在内存小于32G的设备上)。 好了让我们开始吧喵! 首要前提: 手机能够解锁bl并获
阅读全文
摘要:好久不见喵~ 实在想不出开头就不想了,本期文章咱们来讲讲Clang/GCC的安全编译与代码优化选项。 注意:优化选项建立在代码正确的前提下,且最好不要在使用GDB等工具调试时开启任何优化选项。 LTO(Link-Time Optimization): 中文是链接时优化,最初由LLVM实现,可做到在编
阅读全文
摘要:咱自己的博客配置教程喵~ 前期准备: 本博客在linux环境下搭建,部分内容于windows下稍有不同。 你需要:git,ssh,nodejs,npm,github-cli。 你可能还需要:一个脑子。 可惜咱是没有脑子的喵呜……… 去github账号设置=>开发者设置=>令牌中获取一个token。
阅读全文
摘要:mount(2)函数是个很简单的函数,原型如下: int mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *_Nullable
阅读全文
摘要:前言: 又是迟来的更新喵~ 说实话咱自ruri开始开发以来就一直在想规范化问题了,虽然大概率不会有人帮咱写代码,(termux-container拆成三个项目结果都是咱自己维护可真寂寞),不过一个规范的项目自己看着也会心情愉悦嘛喵~ 话不多说咱还是开始今天的正文。 (虽然可能会很水) 项目使用方法规
阅读全文
摘要:前言: ruriv2.0刚发了rc1(现在是3.1-rc1了都),之前一直咕咕咕着的开发笔记差不多也该写写了喵~ 笔记主要讲容器及安全原理,使用C语言实现。 头图是项目最早的版本,真是怀念呢喵,那时候咱连数组都不会用,现在ruri代码都突破4k行了。 容器基本原理: Linux挂载点/设备文件: 众
阅读全文
摘要:前言: 最近开发ruri打算加个容器进程信息显示,由于ruri是C语言写的便决定还是用C实现。 于是查半天。。。没查到一点相关内容。 都欺负萌新是吧呜呜呜~ 然后就去看man proc了,有个特殊的文件/proc/${pid}/task/${tid}/children能记录子进程号,不过需要内核开启
阅读全文
摘要:作为开发者,咱自然是不喜欢程序发生Segfault的“喜报”的,但是万一有些用户非闹着要在酒吧里点炒饭,程序还是大概率会崩。(不崩才怪呢喵!) glibc下还好,崩了最起码显示个cmdline,bionic就可能啥也没有了。 于是,虽然咱不希望出问题,最起码出问题时程序走的安详点,不要出现啥信息也没
阅读全文
摘要:跟着沨鸾学shell,学到最后只会喵喵喵。 正经部分: 语法规范: 变量要加{}括起来。 函数最好加个function关键字。 头部一定要有释伴(shebang)。 记得写注释,要不然也就上帝能看懂你写的什么了。 退出时要有返回状态。 能用[[]]就别用[]。 尽量用printf代替echo使用以提
阅读全文
摘要:这篇文章我们来介绍下几个sysfs接口的调用。 事实上,驱动接口一般有两种方式调用:ioctl()和read()/write()。 前一种要么能读懂内核源码,要么照抄strace用户空间驱动得到的调用,因此不做研究。 需要注意的是,由于安卓内核碎片化过于严重,各个厂商之间的代码差异过大,因此直接和内
阅读全文
摘要:最近整了部Nothing Phone(2),bl秒解的设定是真的舒服,所以买来第一时间就透了一遍(指root了)。 然后半夜睡不着,就打算研究一下这个灯带是怎么调用的。 然后就开始了, 一段孤独的旅程充满烦恼~ 内核源码: 很不幸,除了知道了灯带型号是aw20036之外没啥收获,原因无他,单纯看不懂
阅读全文
摘要:前言: ruri前不久通过使用uidmap二进制的方式修好了rootless容器无法setgroups()的问题,差不多也该讲讲rootless容器的创建了。 rootless容器创建流程: 1.设置uidmap 我们可以通过读取/etc/subuid和/etc/subgid来获取uid_lower
阅读全文