能力值:
( LV2,RANK:10 )
|
-
-
2 楼
p557 L-8 d1 原文: mov esi ,dword ptr [esi+ebx+78h] 更正: mov esi ,dword ptr [esi + 78h] 书中说PE文件头的78H偏移处是函数导出表的地址,而这里的esi已经是PE文件头的地址,因此无需再加ebx 另外下面一行的push esi少空格了
ebx是DLL基址,不能忽略。 mov esi, dword ptr [ebx+3Ch] //e_lfanew mov esi, dword ptr [esi+ebx+78h] //EATAddr,ebx为DLL基址
by kanxue答复
最后于 2019-10-23 14:00
被kanxue编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
P6 L12 D1 原文:将“Kernel option1”中的“Make final analysis pass”选项关闭是一个很好的方法。 更正:将“Kernel option2”中的“Make final analysis pass”选项关闭是一个很好的方法。
“Make final analysis pass”不是“Kernel option1”选项中的
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
错了这么多 以后能换吗
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
P140 L8 D1 原文;局部变量pt.x2=4 更正;局部变量pt.y2=4
P175 L32 D1 原文 :mov rax, [rsp+30] 更正:mov rax,[rsp+30] add rsp,20h
|
能力值:
( LV3,RANK:25 )
|
-
-
6 楼
P139 L12 D1
原文: edx , [rsp+30] ;参数2:edx=pt.x1 更正: mov edx , [rsp+30] ;参数2:edx=pt.x1
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
P295 L6 D1 原文:如图7.6所示 更正:如图7.8所示
最后于 2018-10-30 14:32
被abcteeny编辑
,原因:
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
P151 L-17 D1 原文:编译器会采用case表的方式实现siwtch语句 更正:编译器会采用case表的方式实现switch语句
最后于 2018-11-1 22:17
被chkds编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
P51 L-6 D1 原文:pa $ra 更正:pa @$ra
P104 表4.1 原文:stdcall允许使用VARARG 更正:不允许
最后于 2018-11-21 17:57
被eaglezy编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
P543 L9-L10 D1 原文:0000000077668aa9 6844332211 push 55667788h 0000000077668aae c744240488776655 mov dword ptr [rsp+4], 11223344h 更正:0000000077668aa9 6844332211 push 11223344h 0000000077668aae c744240488776655 mov dword ptr [rsp+4], 55667788h
|
能力值:
( LV9,RANK:610 )
|
-
-
11 楼
email123
P543 L9-L10 D1
原文:0000000077668aa9 6844332211 push 55667788h
0000000077668aae c7442 ...
你好,我是第13章“Hook技术”的作者,感谢指出问题! 这里确实存在错误,机器码与汇编指令不一致,但错的不是汇编指令,而是机器码。 这是当时在Windbg里手写的汇编指令然后复制出来的,后来改了汇编指令,忘了改对应的机器码。 所以,正确的更正结果应该是这样的: 更正:0000000077668aa9 6888776655 push 55667788h 0000000077668aae c744240444332211 mov dword ptr [rsp+4], 11223344h
|
能力值:
( LV9,RANK:610 )
|
-
-
12 楼
P559 D1 图14.14 捆绑 原文:获取文件句柄 GetFileSize 更正:根据图中左右的对应关系,要么是“
获取文件句柄 CreateFileA
”,要么是“
获取文件大小 GetFileSize
”
原文:设置文件指针 SetFilePoint
更正:
设置文件指针 SetFilePointer
最后于 2018-11-5 12:44
被achillis编辑
,原因:
|
能力值:
( LV9,RANK:610 )
|
-
-
13 楼
P562 L-2 D1 push后面缺少空格 原文:push6e6fh push6d6c7275h 更正:push 6e6fh push 6d6c7275h
|
能力值:
( LV9,RANK:610 )
|
-
-
14 楼
P563 L21 D1 缺少右中括号 原文:call dword ptr [ebp+04h //kernel32.VirtualAlloc 更正:call dword ptr [ebp+04h] //kernel32.VirtualAlloc
另,P563页至P564页的汇编代码中,出现"dword ptr[ebp+xxx]"这样指令的,ptr后面普遍缺少空格
|
能力值:
( LV9,RANK:610 )
|
-
-
15 楼
P295 L6 D1 函数名大小写问题 原文:应用程序调用Createfile()函数 更正:应用程序调用CreateFile()函数
|
能力值:
( LV9,RANK:610 )
|
-
-
16 楼
P295 L-6 D1 原文:符号链接名分别是“\??\C:\”
“\??\D:\”
“\??\E:\”
更正:
符号链接名分别是“\??\C:”
“\??\D:”
“\??\E:”
|
能力值:
( LV9,RANK:610 )
|
-
-
17 楼
P295 L-14 D1 函数名大小写问题 原文:HAL:硬件抽象层。“HAL”是 更正:Hal:硬件抽象层。“Hal”是
P295 L-12 D1 函数名大小写问题 原文:MM:内存管理。“MM”是 更正:Mm:内存管理。“Mm”是
|
能力值:
( LV9,RANK:610 )
|
-
-
18 楼
P299 L8 D1 函数名多一个空格 原文:WaitForMultiple Objects()函数 更正:WaitForMultipleObjects()函数
|
能力值:
( LV9,RANK:610 )
|
-
-
19 楼
P304 L-19 D1 指令中16进制表示问题 原文:mov eax, dword ptr fs:[30] ;fs:[30]里存放的即为PEB地址 更正:mov eax, dword ptr fs:[30h] ;fs:[30h]里存放的即为PEB地址
|
能力值:
( LV9,RANK:610 )
|
-
-
20 楼
P312 L8 D1 原文:因为System进程一般不会加载win32k.sys 更正: System进程和smss.exe进程不会加载win32k.sys,其它进程均可
|
能力值:
( LV9,RANK:610 )
|
-
-
21 楼
P221 L-4 D1 原文:if GetLastError<>ERROR_ALREADY_EXISTS 更正: if GetLastError() != ERROR_ALREADY_EXISTS
C风格的伪代码突然出现一个VB的<>符号,感觉有点怪异。。。
|
能力值:
( LV9,RANK:610 )
|
-
-
22 楼
P222 小节5.9 常用断点设置技巧的表格 D1 这里有几个疑问: 1.字符串类里的函数GetWindowWord似乎与字符串并没有关系? 2.很多函数都有A/W两个版本,有的写出来了,有的没有写出来,比如GetDriveType、GetSystemDirectory,建议统一 3.很多函数还有带Ex的版本,比如SetFilePointerEx、RegCreateKeyEx、RegQueryValueEx,这里没有列出来
|
能力值:
( LV9,RANK:610 )
|
-
-
23 楼
P345 图8.12和图8.13 D1 原文图片是彩色的,适合电子屏幕观看,但是印刷为黑白版面后显得颜色过深,不利于阅读
最后于 2018-11-5 13:36
被achillis编辑
,原因:
|
能力值:
( LV7,RANK:118 )
|
-
-
24 楼
P52 L-5 D1
原文: 多了一个8,代表4字节访问。 更正: 多了一个8,代表8字节访问。(或“代表四字访问”)
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
P244 L-7 D1 注册码是32字节 原文: 1234567890ABCDEFFEDCBA987654321 更正: 01234567890ABCDEFFEDCBA9876543210
|
|
|