0%

从官网安装指定版本, 以3.12.1版本为例:

1
2
3
4
5
6
wget https://cmake.org/files/v3.12/cmake-3.12.1.tar.gz
tar -zxvf cmake-3.12.1.tar.gz
cd cmake-3.12.1
./bootstrap
make -j8
make install
阅读全文 »

实验简介

二进制炸弹是一个作为目标代码提供的程序。运行时提示用户输入6个不同的字符串,如其中一个字符串不正确,炸弹会引爆并打印一条错误信息。需要通过反汇编确定输入的6个字符串,从而拆除炸弹。

知识点

  • 汇编语言基础
  • GDB和OBJDUMP工具的使用
阅读全文 »

问题现象

gdb调试core文件或进程时,出现加载so库符号失败,错误信息如下

1
2
warning: Could not load shared library symbols for ../libadd.so
Do you need "set solib-search-path" or "set sysroot"?

执行info sharedlibrary,查看Syms Read字段为No, 表示对应so库符号加载失败。

1
2
3
4
5
6
7
8
$ pwd /home/gdb
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00007fba2c572570 0x00007fba2c57267b No ../libadd.so
0x00007fba2c370570 0x00007fba2c37066b No ../../var/libsub.so
(gdb) bt
#0 0x00007fba2c57266b in ?? ()
#1 0x00007ffc6f703ff0 in ?? ()
阅读全文 »

一、源码安装redis

1
2
3
4
5
6
7
8
9
10
11
# 0.官网下载最新redis源码包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
# 1.将redis.tar.gz拷贝到/usr/local目录并解压
mkdir -p /usr/local/ && cd /usr/local
cp /path/to/redis-5.0.5.tar.gz .
tar -zxvf redis-5.0.5.tar.gz
mv redis-5.0.5 redis && cd redis
# 2.编译、测试、安装
make -j4 # 编译
make test # 测试,显示All tests passed without errors
make install # 安装
阅读全文 »

Ubuntu

安装以下软件包

1
apt-get install build-essential module-assistant gcc-multilib g++-multilib

Centos

安装以下软件包

1
yum install glibc-devel.i686 libstdc++-devel.i686

gcc编译添加-m32参数,如

1
gcc -m32 main.c
阅读全文 »

简介

TMUX指terminal multiplexer,即终端复用软件。tmux结构包含以下三个部分:

  • session —— 会话,可以用tmux创建多个会话。
  • window —— 窗口, 一个会话中可以包含多个窗口。
  • pane —— 窗格,用于分隔窗口,一个窗口中可以包含多个窗格。
阅读全文 »