关于前篇提到的几个疑问的个人理解
来源:互联网 发布:大数据与国家安全 编辑:程序博客网 时间:2024/06/05 16:31
1.PsGetCurrentProcess()获取的当前进程是哪个进程?
这个根据执行环境而定。
对于DriverEntry,则看是谁最终负责加载的驱动:如果是服务式加载,那么得到的是Sytem进程的EPROCESS;如果是采用NTDLL.DLL中的ZwSetSystemInformation来实现加载,那么得到的EPROCESS则是调用此函数的任意进程。(卸载也应该是一样的)
对于分发函数。分发函数的执行方式是系统回调,因此ring3上任何进程都可能触发这个回调,所以PsGetCurrentProcess()的执行根据你的需求而定。理论上,它可以获取任意进程的EPROCESS。
2.比较字符串时我想用lstrcmpi,却提示未定义。那么哪些ring3时编程的东西现在可以用呢?
首先ring3的windows API 是不能用了。c运行时库部分函数可以使用,但是从安全考虑,一些字符串的处理函数最好不要用,就像前几篇中的驱动例子那样是不太好的。如《寒江独钓》所述:对于比较涉及底层的,比如内存管理、文件读写、网络、线程等,都别使用c运行库来实现。另外还有诸如此类的言语,归结起来就是:除了算法思想,最好脱胎换骨用内核的编程方式。
好吧,一招把我们打回解放前,我们假装自己才开始学编程吧。
- 关于前篇提到的几个疑问的个人理解
- 关于js的几个疑问
- Android关于looper的几个方法的个人理解
- 【Java 并发】关于中断的几个疑问
- 关于软件自签名的理解提到的工具“makekeys”
- 个人关于程序和系统方面知识的疑问--------:exe 、dll 、库、api 该咋理解???
- 关于“关于C#装箱的疑问”帖子的个人看法
- 对于rpc遇到的疑问以及个人理解
- 聊天中提到的几个基础问题
- 关于C++类的继承 的几个疑问
- 关于Spring在多线程下的个人疑问
- c#学习笔记一 关于接口的几个疑问
- 关于神经网络理论的几个疑问与思考
- 关于token的个人理解(个人)
- 关于CLASSPATH的个人理解
- 关于launcher的个人理解
- 关于NSRunloop的个人理解
- 关于NSRunloop的个人理解
- c#的DateTime.Now函数详解
- Oracle Spatial
- 游戏中用的256色颜色表
- MFC对话框程序基础复习004
- 从 C++ 到 Objective-C(3):类和对象
- 关于前篇提到的几个疑问的个人理解
- UINavigationController Customization Tutorial
- sql 必知必会 (第三版)学习笔记(一)
- 对不能做数据源增强的增强处理
- 无法解析的外部符号的 3 种可能
- 不要期待老板主动为你改变什么...
- Move Type
- 用html构造来代替Gridview
- 安装时提示 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决办法