Skip to content
source code audit tool
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
collect
doc
output
plugins
.gitignore
ChangeLog
LICENSE
Makefile
README.md
si_core.c
si_core.h
tree-codes.h

README.md

SRCINV

中文版

English original

English

Build this project

To build this project, you need several libraries:

Modify CLIB_PATH and gcc plugin include path in ./Makefile ./plugins/Makefile ./collect/Makefile

Run make or make ver=[quick_dbg|release]

Usage

example, for linux kernel(4.14.x)

  • change to the target directory, make mrproper
  • prepare .config file, make oldconfig
  • make EXTRA_CFLAGS+='-fplugin=/.../.../srcinv/collect/c.so -fplugin-arg-c-output=/.../.../.../xxx' vmlinux -jx
  • back into srcinv directory, ./si_core
  • getinfo /.../.../.../xxx 1 1 0
    • also, we could split steps:
      • getinfo /.../.../.../xxx 1 1 1 quit here, we can make a backup for srcoutput file, like 4.14_src1
      • ./si_core load_srcfile
      • getinfo /.../.../.../xxx 1 1 2 quit and backup, 4.14_src2
      • getinfo /.../.../.../xxx 1 1 3 quit, 4.14_src3
      • ...
    • When something goes wrong, you can rebuild this project without ver=, restore the 4.14_srcx file, and use gdb ./si_core load_srcfile, to find out the BUG and fix it.

step_1_0 step_1_1 step_1_2 step_1_3 step_1_4 step_2_0 step_2_1 step_3_0 step_3_1 step_3_2 step_3_3 step_4_0 step_4_1 step_5_0 step_5_1 step_5_2 step_6_0 indcfg_0 indcfg_1

TODO

TODO list

LICENSE

This project is under GPL v3 license. See the LICENSE for more details.

You can’t perform that action at this time.