在Linux内核态隐藏用户空间进程
情景导入 在Linux中,一切皆文件。隐藏进程和隐藏文件的原理是一样的。 每一个用户空间进程,都会在/proc下生成一个以pid作为名称的目录,进程的各项信息放置在该目录中。top等命令可以通过遍历/proc目录来得到系统中正在运行的进程信息。 所以,隐藏一个进程,只需要移除它在proc中的条目即可。 通过网络搜索可以知道,proc文件系统不是一个…
|
2024-6-06 22:52
|
2024-6-06 22:52
|
76
|
|
1455 字
|
14 分钟
lambda问题
C++一个坑。如果直接按值捕获外部对象,那么在lambda内部修改它,会被视为语法错误,不能通过编译。但是在Class成员函数中按值捕获外部所有的对象,将Class的this指针还有Class内部的成员变量一起捕获了,直接使用变量名访问成员变量时,会产生二义性,实际上访问的是lambda按值捕获的时候拷贝的哪一个,而不是this指向内存中的那个。原…
|
2023-5-26 18:31
|
2023-5-26 18:31
|
83
|
|
2832 字
|
16 分钟
记录一次艰难的C++依赖项配置过程
几天前,我想要制作一款C++实现的后端云对接库,预计将要实现Java版类库的完整功能。我准备使用libcurl来完成https请求和证书固定的任务。 在项目配置过程中,我希望项目能在Linux下直接运行,以方便开发过程中的调试工作。又希望正式打包时,能一次性将Android的四个ABI都构建出来,并且包含Android平台的可执行文件。于是,我使用…
|
2023-4-01 13:24
|
2023-3-29 20:22
|
78
|
|
1859 字
|
16 分钟
多线程共享数据同步-内存屏障
Lua VM ling.choice()API中,使用进程间通信手段发送UI请求到JNI,后阻塞API,等待JNI返回之后,将数据返回给Lua VM。在等待JNI返回时,使用轮询Flag变量的方法控制返回时机,遭遇内存屏障问题。 内存屏障是指在多核CPU中,不同线程运行在不同核心之上,线程对共享变量的修改存在与当前核心的寄存器上,并没有立即写入内存…
|
2023-3-22 14:27
|
2023-3-22 14:27
|
62
|
|
329 字
|
2 分钟