meesong 发表于 2015-11-30 00:14:08

学习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 *****

Tesla.Angela 发表于 2015-11-30 01:22:45

竟然是C++的。我就不看了。纯C党表示看到C++就头疼。

sam7894604 发表于 2015-11-30 08:09:26

学C++的来看下了~

meesong 发表于 2015-11-30 09:09:50

Tesla.Angela 发表于 2015-11-30 01:22
竟然是C++的。我就不看了。纯C党表示看到C++就头疼。

嘻嘻,只有两部分用了C++
1. 回调类型用了模板
2. GetModuleHandle 是基于EnumModule来实现的。所以,用了lambda更偷懒的写了..

Second 发表于 2015-12-4 11:08:25

看看怎么封装的.

windxiang 发表于 2015-12-31 13:53:14

楼主的帖子实在是写得太好了,不觉明厉啊!

yhsy1002 发表于 2016-6-27 11:04:36

感谢楼主的分享,表示是纯C党,向楼主学习

1171320344 发表于 2016-7-28 16:53:39

下载看看

软绵绵 发表于 2016-7-28 21:07:00

看看怎么封装的,谢谢分享。

yuweiping 发表于 2016-11-21 13:16:46

下载下载仔细看看..

tangptr@126.com 发表于 2016-11-21 13:40:37

赞一个

liwen930723 发表于 2016-11-22 11:26:00

这个可以叫做一个内核基础库,驱动代码为什么不好写,要效率,就没应用层那么多封装,
规范一下代码挺好的

kz丶cn 发表于 2016-12-11 21:01:07

国外的大牛写c++看着难受

3207145141 发表于 2017-1-4 20:43:26

学习一下..谢谢分享.

wird0r 发表于 2017-4-7 20:09:19

看到C++就进来了。 谢谢分享成果。

CleanLove 发表于 2017-6-18 12:37:34

学习学习封装

shen1l 发表于 2017-6-18 16:43:41

谢谢楼主!~~~~~~~~~~~

c3358 发表于 2017-7-21 20:41:33

不错,谢谢分享

aki447 发表于 2017-12-18 23:57:36

好东西啊,需要看看了

assqingt 发表于 2019-10-3 20:54:05

看下c++版的
页: [1]
查看完整版本: 学习TA驱动教程的成果~通用函数库