Linux環(huán)境下OpenSSL的調(diào)試debug方法

最近抚垄,由于項目需求躏鱼。需要使用OpenSSL提供的接口完成一些工作氮采。而debug程序過程中,編譯器無法進入其函數(shù)內(nèi)部染苛,而會直接跳過該函數(shù)鹊漠。這給學習和深入了解其接口帶來不便。通過本文茶行,讀者可以實現(xiàn)進入OpenSSL接口內(nèi)部的需求躯概。

參考:
https://www.cnblogs.com/405845829qq/p/8717571.html
https://cloud.tencent.com/developer/article/1468839
https://github.com/jzysheep/Youtube

1.下載OpenSSL

首先,我們需要在Github上面下載OpenSSL畔师。使用clone和下載zip均可娶靡。我這里使用下載zip文件的方式。

# 方法1 直接clone
cd ~/
git clone https://github.com/openssl/openssl.git
cd openssl/
# 方法2 download zip文件
unzip openssl-master.zip 
cd openssl-master/
OpenSSL

2. 安裝靜態(tài)庫

在下載后的目錄中執(zhí)行如下操作看锉,安裝靜態(tài)庫版本姿锭。

./config --prefix=/usr/local --openssldir=/usr/local/ssl    
make && sudo make install 

3. 安裝動態(tài)庫

安裝目錄為/usr/local下。安裝動態(tài)庫時增加-d選項伯铣,調(diào)試時使用動態(tài)庫呻此,達到跟蹤代碼的需求。

./config -d shared --prefix=/usr/local --openssldir=/usr/local/ssl    
make clean    
make && sudo make install

4. 加入動態(tài)鏈接庫的路徑

注:執(zhí)行此操作需要root身份

su - root 
echo "/usr/local/lib" >> /etc/ld.so.conf 
ldconfig -v

5. 調(diào)試程序

至此腔寡,全部安裝工作結(jié)束焚鲜。下面我們來看一下是否達成進入OpenSSL函數(shù)內(nèi)部的效果。
以下程序是調(diào)用OpenSSL的相關(guān)函數(shù),實現(xiàn)MD5哈希散列算法的程序恃泪。

#include<stdio.h>
#include<openssl/md5.h>
#include<string.h>

int main( int argc, char **argv )
{
MD5_CTX ctx;
unsigned char *data="123";
unsigned char md[16];
char buf[33]={'\0'};
char tmp[3]={'\0'};
int i;

MD5_Init(&ctx);
MD5_Update(&ctx,data,strlen(data));
MD5_Final(md,&ctx);

for( i=0; i<16; i++ ){
sprintf(tmp,"%02X",md[i]);
strcat(buf,tmp);
}
printf("%s\n",buf);
return 0;
}

我們在終端輸入如下命令將程序編譯郑兴,然后使用gdb調(diào)試程序

gcc md5.c -o md5 -ggdb -lcrypto -lssl
gdb md5

調(diào)試

進入gdb后犀斋,輸入start開啟debug贝乎,之后輸入layout src查看代碼窗口,輸入n單步運行到OpenSSL函數(shù)處叽粹,輸入s發(fā)現(xiàn)可以進入OpenSSL函數(shù)內(nèi)部览效,說明已經(jīng)成功給OpenSSL配置debug功能。
單步運行至接口處

進入OpenSSL內(nèi)部

總結(jié):本文提供了安裝具有調(diào)試debug功能的OpenSSL的方法虫几,希望對讀者能有幫助锤灿。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辆脸,隨后出現(xiàn)的幾起案子但校,更是在濱河造成了極大的恐慌,老刑警劉巖啡氢,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件状囱,死亡現(xiàn)場離奇詭異,居然都是意外死亡倘是,警方通過查閱死者的電腦和手機亭枷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搀崭,“玉大人叨粘,你說我怎么就攤上這事×龆茫” “怎么了升敲?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長轰传。 經(jīng)常有香客問我冻晤,道長,這世上最難降的妖魔是什么绸吸? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任鼻弧,我火速辦了婚禮,結(jié)果婚禮上锦茁,老公的妹妹穿的比我還像新娘攘轩。我一直安慰自己,他們只是感情好码俩,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布度帮。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪笨篷。 梳的紋絲不亂的頭發(fā)上瞳秽,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音率翅,去河邊找鬼练俐。 笑死,一個胖子當著我的面吹牛冕臭,可吹牛的內(nèi)容都是我干的腺晾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼辜贵,長吁一口氣:“原來是場噩夢啊……” “哼悯蝉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起托慨,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤鼻由,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后厚棵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕉世,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年窟感,在試婚紗的時候發(fā)現(xiàn)自己被綠了讨彼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡柿祈,死狀恐怖哈误,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躏嚎,我是刑警寧澤蜜自,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站卢佣,受9級特大地震影響重荠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜虚茶,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一戈鲁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嘹叫,春花似錦婆殿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怕磨。三九已至,卻和暖如春消约,著一層夾襖步出監(jiān)牢的瞬間肠鲫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工或粮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留导饲,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓被啼,卻偏偏與公主長得像帜消,于是被迫代替她去往敵國和親棠枉。 傳聞我的和親對象是個殘疾皇子浓体,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 動態(tài)鏈接,在可執(zhí)行文件裝載時或運行時辈讶,由操作系統(tǒng)的裝載程序加載庫命浴。大多數(shù)操作系統(tǒng)將解析外部引用(比如庫)作為加載過...
    小5筒閱讀 5,502評論 0 3
  • 這里說的毛發(fā),不是頭發(fā)贱除,是像毛發(fā)的其他東西生闲,比如,植物上的細小絨毛也可以像毛發(fā)一樣去畫月幌。 一碍讯、在素描紙上直接畫的線...
    一夏飄雪閱讀 6,999評論 16 167
  • 6/51 反思自己 昨天停更一天,今天本來也很累扯躺,但決定寫幾個字捉兴,不能停更,得堅持寫录语。 這兩天反思自己倍啥,最近做的不...
    涂凱2019自律閱讀 94評論 0 0
  • 小鎮(zhèn)上突然吹來一陣冷風,小雅不禁打了個寒戰(zhàn)澎埠。小鎮(zhèn)四季如春的天氣多少年來沒有這么冷過了虽缕。小雅加緊腳步,匆匆往店里的方...
    歐啦歐啦啦閱讀 471評論 0 2
  • “只要做好刑事風險防控蒲稳,并不是所有的職業(yè)放貸人都會構(gòu)成犯罪氮趋。” 昨晚江耀,朋友圈中充斥著以“職業(yè)放貸人的噩夢”剩胁、“職業(yè)...
    姜成慧閱讀 375評論 2 1