学习TA驱动教程的成果~通用函数库
首先感谢 TA 大大~如题,通过学习TA的驱动教程,边学习边扩展,写的通用函数库。
(主要是写好了就不用总是造轮子了...)
工程是 VS2015 的,代码最低要求编译器VS2013,因为用了一些C++11的特性。
原则:能不用硬编码就不用..能不用汇编就不用。
环境:只测试了win7x86, 从设计之初就没想过支持XP,x64下,应该有些涉及到结构的,可能不能用。
对于变量,基本用了 ULONG_PTR 这种随环境变化的类型。
内容:
1. 文件操作
Size, Copy, Move, Rename, CreateDirectory, FindFile系列
2. 模块操作
EnumModule, GetModuleHandle, GetProcAddress
3. 对象操作
EnumObjectType (没有特征码和硬编码哦~)
4. PE操作
基本的地址转换,验证image有效性,FixRelocation
5. 进程操作
GetProcessPeb, EnumProcess
6. 线程操作
EnumThread,
7. 字符串操作
相对于教程另外扩充 CharStringToUnicodeString, WCharStringToAnsiString
8. 系统操作
GetOSVersion
9. 注册表操作
基于这个表,对注册表操作做了一层封装。HKCU 是动态获取。
**** Hidden Message ***** 竟然是C++的。我就不看了。纯C党表示看到C++就头疼。 学C++的来看下了~ Tesla.Angela 发表于 2015-11-30 01:22
竟然是C++的。我就不看了。纯C党表示看到C++就头疼。
嘻嘻,只有两部分用了C++
1. 回调类型用了模板
2. GetModuleHandle 是基于EnumModule来实现的。所以,用了lambda更偷懒的写了.. 看看怎么封装的. 楼主的帖子实在是写得太好了,不觉明厉啊! 感谢楼主的分享,表示是纯C党,向楼主学习 下载看看 看看怎么封装的,谢谢分享。 下载下载仔细看看.. 赞一个 这个可以叫做一个内核基础库,驱动代码为什么不好写,要效率,就没应用层那么多封装,
规范一下代码挺好的 国外的大牛写c++看着难受 学习一下..谢谢分享. 看到C++就进来了。 谢谢分享成果。 学习学习封装 谢谢楼主!~~~~~~~~~~~ 不错,谢谢分享 好东西啊,需要看看了 看下c++版的
页:
[1]