セキュリティコンテストチャレンジブックという本を読んでいてltraceを実行しても本と同じようにstrcmp()が表示されません。
c
1//demo_ltrace.c 2#include <stdio.h> 3#include <string.h> 4 5int main() { 6 char buf[32]; 7 char key[] = "d3m0_pr0gr4m_k3y"; 8 9 puts("Please input the passphrase."); 10 fgets(buf, sizeof(buf), stdin); 11 strtok(buf, "\n"); 12 13 if ((strcmp(buf, key))==0) { 14 puts("Congratulations! Your flag is ctf4b{7h15_15_51mpl3_ltrace}"); 15 } else { 16 puts("Invalid inputs."); 17 } 18 return 0; 19}
上のコードをltraceコマンドを使用し、
# ltrace ./demo_ltrace
と打ちました。
しかし、
# ltrace ./demo_ltrace Please input the passphrase. test Invalid inputs. +++ exited (status 0) +++
と表示されるだけで、strcmpがトレースされません。
どうすればよいのでしょうか?
よろしくお願いいたします。
環境
Ubuntu 20.04
ltrace version 0.7.3.
gcc 9.3.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。