A BLACK CAT

自 由 到 死

Cpufreq

CPUFreq

策略:

  • sched:EAS 使用的调频策略。
  • interactive:根据 CPU 负载动态调频调压;
  • conservative:保守策略,逐级调整频率和电压;
  • ondemand:根据 CPU 负载动态调频调压,比 interactive 策略反应慢;
  • userspace:用户自己设置电压和频率,系统不会自动调整;
  • powersave:功耗优先,始终将频率设置在最低值;
  • performance:性能优先,始终将频率设置为最高值。

阅读更多

GDB 调试本地程序和库

因为 Linux 生态是开源的,所以调试所需要的 源码 和 Debug Symbol 可以很方便的获取到,方便到那种程度?如果使用的是 Ubuntu jammy 以上的版本,那么:

  • apt source 获取到源码
  • [http://ddebs.ubuntu.com](http://ddebs.ubuntu.com) 提供了打包好的 Debug symbol
  • [https://debuginfod.ubuntu.com](https://debuginfod.ubuntu.com) 在线提供某个组件或库的 Debug symbol

阅读更多

libc.so 的 _start

GDB非预期的在 libc.so 中的 _dl_start 下断点

gdb 在BinaryHacking 的 _start 处下断点,发现执行的汇编代码咋和想象中的不太一样?

Untitled

gdb 在 0x0000000000400480 处中断程序运行,但是run 之后发现咋跳到一个 奇怪的位置执行_dl_start,并且汇编代码完全不同:

阅读更多

简单 CMakeLists.txt

CMakeLists.txt

cmake_minimum_required(VERSION 3.26)
project("BinaryHacking"
  VERSION 1.0
  DESCRIPTION "A simple project to demonstrate basic CMake usage"
  LANGUAGES C)
if(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Debug CACHE STRING
      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
      FORCE)
endif()
option(BUILD_STATIC_LIBS "Build the static library" ON)
if (BUILD_STATIC_LIBS)
        set(CMAKE_EXE_LINKER_FLAGS  "-static")
endif()
set(CMAKE_C_FLAGS "-z execstack -fno-stack-protector  -no-pie -Wl,-z,norelro")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_VERBOSE_MAKEFILE ON)
add_executable(BinaryHacking)
target_sources(BinaryHacking PRIVATE "BinaryHacking.c")

阅读更多

2023 Hvv 面试笔记

websocket 流量特征

  1. 通常是复用 80和 443 端口,在原有的http协议上生成。upgrade : websocket
  2. 长链接,连接通常保持打开和空闲状态,直到客户端或服务器发送消息,客户端与服务器之间存在定时的ping-pong机制数据交互以保持连接状态
  3. 客户端带有 Sec-WebSocket-Key: wDqumtseNBJdhkihL6PW7w== 用于加密
  4. Websocket 多用于聊天或者小包传输场景中

IP封禁

  1. 如果有防火墙等设备,推荐在防火墙上封禁IP
  2. 如果内网沦陷,可上线服务器手动设置IPtbles 防火墙隔离受感染机器
  3. 同时上报 IP给其他人

阅读更多

Zerotier 更改 HOME 目录

zerotier-one 在启动的时候会建立 /var/lib/zerotier-one 作为自己的工作目录,里面存放了zerotier 运行时所需要的配置文件。

但是某些情况下,/var/log 是 tmpfs 挂载后的临时文件,每次重启后会消失,导致 zerotier 找不运行时配置文件,那么 /var/lib/zerotier-one 的路径可以更改吗?

阅读更多

配置 Vim

构建 Vim 和 YCM

Vim 不知不觉已经到迭代到了 9.0 版本了,回顾昨天我还在用 vim 6.0

阅读更多