git clone --recursive https://github.com/osquery/osquery
osquery/libraries里面的库使用的submodule进行管理的,所以如果网络原因不好或者没下齐全,需要自己去giithub上自行下载进行补全,在下载依赖库过程中,最好对应版本,有的依赖库最新的会报错。
编译一次大概半个小时。
使用Win管理员模式,右键电脑左下角**“微软图标”,选中“Windows PowerShell(管理员)(A)”**,然后进入osquery文件夹。
cd osquery
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A x64 ..
cmake --build . --config Release -j2
Release
参数:指编译出Release版本,其值可以为RelWithDebInfo|Release|Debug
,三种模式j2
:2 core CPU目标文件生成目录:```/build/osquery/Release
我生成的目标文件有两个,osqueryi.exe osqueryd.exe
依旧使用PowerShell(管理员)进入到这个文件夹下,使用命令可以执行osqueryi.exe,osqueryd.exe 需要添加参数
.\osqueryd.exe --ephemeral --disable_database --disable_logging --verbose --allow_unsafe=true
ephemeral
:该标志告诉守护进程,它可以与其他持久性的守护进程共存;disable_database
:必须存在,或者“ database_path”必须被覆盖,因为非特权用户不能写入/读取默认数据库位置disable_logging
:同上,因为非特权用户不能写入/读取日志--verbose
:在详细模式下运行shell或守护程序--allow_unsafe=true
:注意守护进程预计将拥有由超级用户(如果以超级用户身份执行)。它还拒绝在tmpfs或sticky-bit目录中运行。对于特殊的测试和调试情况,请使用–allow_unsafe还可以配置pidfile
、config
等配置文件;