我想執行Linux內核的源代碼分析,但要做到這一點,我首先需要解析它。我有什麼選擇?我更喜歡Python可用的AST,但其他語言也可以。將Linux源代碼解析爲抽象語法樹
顯然CIL能夠解析整個內核,但是從網站上不清楚怎麼做。
我想執行Linux內核的源代碼分析,但要做到這一點,我首先需要解析它。我有什麼選擇?我更喜歡Python可用的AST,但其他語言也可以。將Linux源代碼解析爲抽象語法樹
顯然CIL能夠解析整個內核,但是從網站上不清楚怎麼做。
您真的需要AST嗎?或者較低級別的中間表示就足夠了?對於這兩種選擇,您都可以使用Clang,並分析其AST(不幸的是,僅用C++)或LLVM IR。
CIL也是一種選擇,但您需要在OCaml中編寫分析工具。 cilly
是其替代gcc
的替代品,但它可能需要一些黑客來將它與Linux內核這樣一個不平凡的構建序列一起使用。僅僅使用--merge
是不夠的。
您可以查看關於工具比較的頁面Parsing Kernel 。獲勝者似乎是KDevelop。
Regards,