勘误说明

由于个人技术水平有限,书中内容错漏在所难免。各位读者在阅读本书的过程中,若发现与自己见解不同之处,一定要坚持自己的意见,并用实践去检验。经过实践检验之后,若发现书中内容仍存在问题,请可以直接在下方直接留言反馈。

对于留言反馈的读者,本站一律予以积分奖励;同时勘误的读者,也会出现在第二版的感谢名单中。

请大家批评指正,不吝赐教

书中演示的开发环境软件下载

用户篇

本书所有的程序开发均是在VS2013上开发完成的,在正式介绍VS2013开发环境安装之前,需要到官网上下载安装文件镜像以及多字节MFC库安装文件。

vs2013.5_ult_chs.iso下载链接:

http://download.microsoft.com/download/9/3/E/93EA27FF-DB02-4822-8771-DCA0238957E9/vs2013.5_ult_chs.iso?type=ISO

vc_mbcsmfc.exe下载链接:

http://www.microsoft.com/zh-cn/download/details.aspx?id=40770

上述两个安装文件下载完毕之后,就可以进行安装了,本文演示使用的操作系统是 64 位 Windows 10。安装完上述两个软件,即可进行第一部分 “用户篇” 内容的学习和练习。

内核篇

VS2013 要进行驱动开发,必须要在上述“用户篇”环境基础上,再下载安装 WDK8.1,可以到微软驱动开发官网上进行下载:

https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit

注意,下载的 WDK 一定要对应自己的 VS 版本,VS2013 就下载 WDK8.1。

安装步骤,可以参考《Windows黑客编程技术详解》书中内容

本书配套源码下载

https://www.write-bug.com/article/1811.html

勘误补充

2019.1.19 勘误——13.3 文件管理之NTFS解析

https://www.write-bug.com/article/2044.html

2019.1.21 勘误——9.1 Windows自带的加密库

https://www.write-bug.com/article/2045.html

2019.1.30 勘误——11.3 桌面截屏

https://www.write-bug.com/article/2089.html

上传的附件 cloud_download NTFS_FileLocation_Test_修改.7z ( 155.15kb, 31次下载 ) cloud_download CryptoApi_Rsa_Test_修改.7z ( 156.17kb, 13次下载 ) cloud_download ScreenCapture_Test_修改.7z ( 164.45kb, 17次下载 )
你的回答被采纳后将获得: 100点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : 禁用win10数字签名 [80x86汇编]push 和pushf指令有什么区别? : 下一篇keyboard_arrow_right

2个回答

Barefoot
2018-12-31 18:08:23

书中 389 页,明明给的是 classifyFn 函数的代码,却在文中写的是 “notifyFn函数的实现代码” !!!

demon-x
2019-01-03 11:20:31

书中内核篇 “18.2 过PatchGuard的进程隐藏” 这一章节介绍的技术,使用 MiProcessLoaderEntry 函数断链的方式,经过跑代码实践验证,该蓝屏的还是会蓝屏,错误代码是0x109,所以并没有过PG!!!

看雪上有大佬已经指出来了,我只是帮忙搬运到这里勘误!!!

https://bbs.pediy.com/thread-248775.htm

精彩评论

  • qt售卖信息表的查询和自动更新
    像这类与数据库打交道的系统程序,本质上就是执行SQL语句。所以,你先检查自己写的SQL语句是否都正确,检查的方法可以是直接在数据库中执行自己的SQL语句,看看是否达到预期效果;如果SQL语句有问题,那就修改SQL语句,改正确就行;若SQL语句没问题,那就是你的程序调用执行SQL语句有问题,那么检查自己程序的SQL语句调用函数使用是否正确,参数是否都填写正确了!
    2019-06-17 10:28:36 thumb_up( 3 )
  • eclipse项目 找不到或无法加载主类
    Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法: 1、在src文件夹上点右键-Build Path-Use as Source Folder,重新进行编译,一切正常了。 2、在Eclipse工程文件夹上点右键-Refresh,重新编译,一功OK(这个方法一般不起作用)。 3、右键Properties在Java Builder Path的Libraries的标签里面看是否有缺少或者无用的(一般带红差头)的,引入对应的jar包或者删除掉。 4、在Properties里面设置Source.添加你的Java路径.比如src,然后需要设置下面的Default output folder,这里设置你的输出路径也就是class路径了。 5、右键Properties在里面的builder里面把项目的builder.xml引用(import)进来。 6、把右键Properties在Java Builder Path的Libraries全部删除,尤其是jre,然后,点击保存,关闭eclipse,然后再打开,再把对应的jre和lib下边的相关jar引进来,保存,重新编译后就好了,我也不知道为啥,有一次我就这么弄好了。 7、把class下边的有.class文件的话还是这样,把这些.class文件删除掉,然后elipse中菜单project—clear然后选中对应项目,在project菜单下边勾上Build Automaticlly(自动部署),然后生成新的就class文件就OK了。 8、把项目下边的.project删除掉,从同事身边运行正常的项目下边拷贝过来它的.project文件,刷新项目试试。 9、把项目下边的.classpath删除掉,从同事身边运行正常的项目下边拷贝过来它的.classpath文件,刷新项目试试。 10、终极解决办法,也是很管用的解决办法,就是把整个项目删除掉,删除之前把更改的内容提交到CVS或者SVN上,然后重新从SVN或者CVS上把项目档下来。
    2019-05-11 16:35:34 thumb_up( 5 )
  • 在C语言或者C++中,如何旋转一张图片呢??
    通过矩形的中心坐标与原顶点坐标以及旋转角度,计算矩形的旋转后4个顶点的位置的公式如下: x2 = (x1-x0)*cos(q) –(y1-y0)*sin(q) + x0; y2 = (x1-x0)*sin(q) + (y1-y0)*cos(q) + y0;其中,q表示矩形的旋转角度,x1表示矩形的原顶点横坐标,x0表示矩形的中心坐标。 但是,C语言中的sin()函数和cos()函数中的参数并不是角度,而是弧度,所以需要我们通过下述公式将角度转化为弧度: 弧度= 3.1415926*角度/180;根据上述公式,我们可以计算一个点绕另一个点旋转一定角度后的位置坐标。 飞旋转的原理可以是:计算出图片各个点旋转后的坐标,再把每个点画到屏幕上!
    2019-03-06 18:53:38 thumb_up( 9 )
eject