Linux gdb 调试 openssl

一 、获取openssl
从官网上下载openssl,现在openssl项目组把openssl源码都放在github网站上托管。openssl源码地址:https://github.com/openssl/openssl。点击左上角的“Branch:master”选择自己的版本。我自己调试用版本是 openssl-OpenSSL_1_0_1c。
这里写图片描述

二、编译openssl
1)把 openssl-OpenSSL_1_0_1c.zip拷贝到/root目录下并解压。建立openssl安装路径(mkdir -p /usr/local/openssl)。
2)编译、安装openssl。
编译和安装openssl可以参照加压后文件夹里的INSTALL文件。里面有详细的说明。
我编译、安装openssl使用的命令如下:
./config -g –prefix=/usr/local/openssl && make && make install 。

三、gdb 调试openssl
为了方便测试我把证书放到了/usr/local/openssl/bin/server_cert目录下。
1. gdb加载测试openssl文件
在终端运行:gdb ./openssl
root@localhost:/usr/local/openssl/bin> gdb ./openssl
2.设置openssl运行参数
set args s_server -cert server_cert/server.crt -key server_cert/server.key -www -port 443
这里写图片描述
3.设置断点
例如:在 s_server.c文件中的812 行设置断点,运行命令:b s_server.c:812
这里写图片描述
4.查看断点信息
运行info b 命令
这里写图片描述
5.删除断点
使用delete命令。例如删除编号为1 的断点:delete 1 。删除所有的断点:delete 。
这里写图片描述
键盘的 “↑””↓” 箭头能回滚已使用的命令。
6.执行调试
运行run 命令
这里写图片描述
7.进入到函数里
运行s 命令
这里写图片描述
8.执行下一行代码
运行 n
这里写图片描述
9.查看代码
运行 l
这里写图片描述
10.运行到下一个断点
运行 c
这里写图片描述
11.打印变量信息
运行命令:p 变量。
这里写图片描述

回车默认执行上次的命令 。

以后会增加更多gdb命令使用说明。
推荐一本openssl SSL/TLS相关的书 :http://download.csdn.net/detail/xiangguiwang/9642295

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值