avatar
文章
324
标签
40
分类
15

Helloeuler
搜索
GCC相关链接
发表于2023-05-12|编译器
gcc官方文档翻译: https://code.google.com/archive/p/gccint-zh/downloads https://book.aikaiyuan.com/gcc/ GNU arm汇编伪指令:https://blog.csdn.net/Roland_Sun/article/details/107705952
Linux GCC插件
发表于2023-05-12|编译器
概述Linux gcc plugins是由Emese Revfy 2016年从grsecurity/PaX移植而来,提供了一系列gcc插件,它是KSPP的一部分。 latent_entropy_plugin在启动过程收集熵,但它不是密码学安全的熵。适合嵌入式场景下,熵源较少的场景。 内核配置:CONFIG_GCC_PLUGIN_LATENT_ENTROPY 原理概述在irq、init等函数前添加__latent_entropy属性,通过插件,收集有__latent_entropy属性的函数、变量,每个都有一个临时熵,各种计算后累积到全局latent_entropy。然后在start_kernel、kernel_clone函数调用add_latent_entropy-》add_device_randomness添加到随机数熵源中。 测试情况基于Linux 6.2测试,OS极简,只运行rsyslog、audit、sshd等OS必须的二进制。 开启该选项后直到“random: crng init done” 6.67s。 未开启该选项后直到“random: crng init d ...
GCC插件开发
发表于2023-05-11|编译器
1 GCC plugins引用官方说明: GCC plugins are loadable modules that provide extra features to the compiler. Like GCC itself they can be distributed in source and binary forms. GCC plugins provide developers with a rich subset of the GCC API to allow them to extend GCC as they see fit. Whether it is writing an additional optimization pass, transforming code, or analyzing information, plugins can be quite useful. GCC plugins特点:可动态加载,无需重新编译GCC,方便扩展GCC新特性。 2 加载plugin编译时添加如下选项: -fplugin=name -fplugin-ar ...
Linux下stat查看atime问题分析
发表于2023-04-28|经验总结
在分析Linux参与编译代码时,想利用文件的访问时间来判断文件是否参与编译,实际执行情况很意外,识别很多makefile文件没有参与到编译,实际它们如果没有参与编译是不可能的。 1234567891011121314151617181920212223hostname@linux:~> stat log.txt File: 'log.txt' Size: 260 Blocks: 8 IO Block: 4096 regular fileDevice: ca40h/51776d Inode: 20971597 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2022-07-16 14:55:41.573257894 +0800Modify: 2022-07-08 10:05:32.314052290 +0800Change: 2022-07-08 10:05:32.31405 ...
useradd添加用户时提示“Group 'mail’ not found”
发表于2023-04-28|Linux
在添加用户时发现如下告警: 12hostname ~ # useradd test12Group 'mail' not found. Creating the user mailbox file with 0600 mode. 通过网络搜索,发现该告警来源于/etc/default/useradd的配置CREATE_MAIL_SPOOL=yes,查询该配置来源于shadow软件包。 12linux:/usr1/test # rpm -qf /etc/default/useraddshadow-4.2.1-34.20.x86_64 通过查询代码,该打印来源于useradd.c:2338行。 1234562336 gr = prefix_getgrnam ("mail"); /* local, no need for xgetgrnam */2337 if (NULL == gr) {2338 fputs (_("Group &#x ...
vdso
发表于2023-04-28|Linux
vdso: virtual dynamic shared object 目的是解决用户态频繁调用内核接口性能较低,用它来提升访问性能,目前支持接口如下: 1234567891011test@linux:~/work/kernel/baseos/mykernel> objdump -T ./arch/arm64/kernel/vdso/vdso.so./arch/arm64/kernel/vdso/vdso.so: file format elf64-littleaarch64DYNAMIC SYMBOL TABLE:0000000000000000 g DO *ABS* 0000000000000000 LINUX_2.6.39 LINUX_2.6.3900000000000005c8 g DF .text 0000000000000068 LINUX_2.6.39 __kernel_clock_getres0000000000000634 g D .text 0000000000000008 LINUX_2.6.39 __kernel_ ...
glibc和musl对比分析
发表于2023-03-21|开源软件
glibcglibc相当于是ANSI C library的扩展,其实现了常见的C库的函数,支持很多种系统平台,功能很全,但是也相对比较臃肿和庞大。 musl Musl是一个轻量级的C标准库,设计作为GNU C library (glibc)、 uClibc或Android Bionic的替代用于嵌入式操作系统和移动设备。 它遵循POSIX 2008规格和 C99 标准,采用MIT许可证授权,使用Musl的Linux发行版和项目包括sabotage,bootstrap-linux,LightCube OS等等。 musl设计理念:统一的libc、libpthread、ldso,较少冗余,减少内部交互 https://wiki.musl-libc.org/design-concepts.html musl同标准兼容性 POSIX 2008(不包括过时的流和posix_trace) C99 C11(不包括可选的annex K) musl与glibc差异https://wiki.musl-libc.org/functional-differences-from-glibc.html ...
二进制一致性分析
发表于2023-03-21|开源软件
objdump -hw test分析二进制各段大小是否一致 objdump –line-numbers –disassemble –demangle –section=.text test
生成开源软件依赖关系图
发表于2023-03-21|开源软件
dot文件格式 digraph graphname {“模块A” -> “模块B “;“模块C “ -> “模块B “;“模块B “ -> “模块D “;} dot -Tpng -o ./tmp.png tmp.dot
虚拟机下直接编译运行基于musl的程序
发表于2023-03-21|开源软件
1 前言当前官方已经默认支持在基于glibc库的环境下编译使用musl,参考社区编译构建方法即可。下面将详细描述使用方法。 2 musl代码下载musl官方社区git:git://git.musl-libc.org/musl 或可以从github非官方仓库下载:https://github.com/ifduyue/musl.git 3 编译./configure make make install 注意: ./configure 默认将musl安装在/usr/local/musl目录下,最好不要将prefix设置为/usr、/等危险目录,否则c库将被替换成musl的c库,系统将崩溃 最好不要用root用户进行编译,可以一定程度避免1的错误。 4 使用PATH=$PATH:/usr/local/musl/bin cat main.c 123456#include <stdio.h>int main(int ar ...
Linux LSM
发表于2023-02-14|安全
LSM hooksLSM: Linux security modules,linux 安全模块 https://en.wikipedia.org/wiki/Linux_Security_Modules
Shadow
发表于2023-02-14|安全
1.为什么需要使用/etc/shadow影子密码 /etc/passwd密码格式如下: 1用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell 因为密码是哈希值,没有盐值,容易被攻破。 攻破root密码可能的方法: 1)普通用户根据常用密码尝试修改密码,然后查看跟root密码哈希是否一致,如果一致,则可以推断出root的密码。(普通用户可以查看/etc/passwd)。 2)再用root密码登录单板。 已经在单板侧验证,如下test3、test4密码均为一样,哈希也一样:
Linux地址随机化
发表于2023-02-14|安全
CONFIG_SLAB_FREELIST_RANDOM 随机化slab freelist CONFIG_RANDOMIZE_BASE 随机化内核镜像地址 KASLR CONFIG_RANDOMIZE_MODULE_REGION_FULL 模块区域随机化 CONFIG_ARCH_HAS_ELF_RANDOMIZE 是否有随机化能力
随机数
发表于2023-02-14|安全
随机数随机数是专门的随机试验的结果。 产生随机数有多种不同的方法,这些方法被称为随机数发生器。 根据密码学原理,随机数的随机性检验可以分为三个标准: 统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。 密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。 真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。 相应的,随机数也分为三类: 伪随机数:满足第一个条件的随机数。 密码学安全的伪随机数:同时满足前两个条件的随机数。可以通过密码学安全伪随机数生成器计算得出。 真随机数:同时满足三个条件的随机数。 Linux随机数在Linux内核中采用熵来描述数据的随机性。为了能产生足够高效随机数,Linux系统维护了 ...
makfile变量替换方法
发表于2022-11-14|经验总结
参考资料 https://www.zhaixue.cc/makefile/makefile-varchange.html 方法: KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_FTRACE) $(CC_FLAGS_SCS), $(KBUILD_CFLAGS)) 信息打印方法: 方法1: @echo $xxxx 方法2: $(info $(KBUILD_CFLAGS))
1…171819…22
avatar
juyin
文章
324
标签
40
分类
15
最新文章
Linux 5.10内核__vfs_getxattr函数用法2025-07-30
Linux __vfs_getxattr函数用法及示例,要求不能2025-07-30
Linux内核vfs_getxattr接口不使用睡眠函数的实现2025-07-30
Linux内核接口__vfs_getxattr的用法及示例2025-07-30
Linux读取文件扩展属性方法总结2025-07-30
分类
  • Linux2
  • Linux Kernel2
  • Linux kernel1
  • Linux命令20
  • deepseek240
  • openEuler4
  • 个人1
  • 内存管理1
标签
LinuxSSHuseraddvdsoLinux Kernel内存管理virt_to_page物理地址转换TensorFlow深度学习openEulerwslopenEuler embeddedqemu社区提交安全LSM工具makefileglibc, musl一致性软件依赖命令C调试libclilog4cplus生长因子GRE协议编码风格栈溢出磁盘阵列GCCgcc插件Linux加固KASLRSELinuxMACdeepseek
归档
  • 七月 202590
  • 六月 202551
  • 五月 202557
  • 四月 202533
  • 三月 20259
  • 二月 20254
  • 一月 20251
  • 九月 20241
网站资讯
文章数目 :
324
本站访客数 :
本站总访问量 :
Copyrigh ©2016 - 2025 By juyin
Powered by Hexo Theme(Butterfly)
搜索
数据库加载中