
CPPLumber adalah alat analisis statis yang membantu mendeteksi dan melacak informasi kode sumber C dan C ++ yang bocor ke dalam file yang dapat dieksekusi.
Proyek ini ditulis dalam karat dan tergantung pada liblik, jadi itu adalah cross-platform dan dapat digunakan pada proyek yang menggunakan standar C dan C ++ terbaru.
Bayangkan Anda memiliki file sumber file1.c yang Anda kumpulkan ke dalam a.out dan Anda ingin tahu apakah beberapa string literal berakhir di a.out , Anda dapat melakukan:
$ cpplumber --bin a.out file1.c
[2022-09-24T19:57:14Z INFO cpplumber] Gathering source files...
[2022-09-24T19:57:14Z INFO cpplumber] Filtering suppressed files...
[2022-09-24T19:57:14Z INFO cpplumber] Extracting artifacts from source files...
[2022-09-24T19:57:15Z INFO cpplumber] Filtering suppressed artifacts...
[2022-09-24T19:57:15Z INFO cpplumber] Looking for leaks in 'a.out'...
"My_Super_Secret_API_Key" (string literal) leaked at offset 0x14f20 in "/full/path/to/a.out" [declared at /full/path/to/file1.c:5]
Error: Leaks detected!
Dokumentasi pengguna lengkap tersedia di sini (dan juga di sini sebagai Markdown).
Rust Versi 1.63.0 atau lebih besar diperlukan untuk membangun proyek.
git clone https://github.com/ergrelet/cpplumber.git
cd cpplumber
cargo build --release
Jika Anda memiliki karat yang terpasang, Anda dapat dengan mudah menginstal CPPLUMBER dengan cargo :
cargo install --git https://github.com/ergrelet/cpplumber --tag 0.1.0
Setelah itu, Anda dapat memohon cpplumber dari mana saja melalui baris perintah.
Perlu diingat bahwa Anda perlu menginstal dependensi yang diperlukan agar cpplumber berjalan dengan benar. Lihat dokumentasi pengguna untuk detail lebih lanjut.