Skip to content
《漏洞战争:软件漏洞分析精要》勘误表
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md

README.md

《漏洞战争:软件漏洞分析精要》勘误表

  1. 前言VIII 第4段落最后一句:“专研” => “钻研”

  2. P7页中多处的 “smail” => “smali”“baksmail” => “baksmali” (感谢 陈良@科恩实验室)

  3. P529页第2段中,“按照图10-12所示的方法重新编译内核源码” => “按照第10.3.7章节的方法重新编译内核源码”(感谢 江小照)

  4. P16页最后一行中“Thread” => “Threat”(感谢“不高兴撒”)

  5. P164页第3段第3行“unsigned int(2字节)” => “unsigned int(4字节)”(感谢“55-AA”)

  6. P355页最后一段中:“我们知道数组的元素大小为1014(0x3F6)长度的Vector.<Object>对象” => “我们知道ov[0]已经被赋值为长度0x3FE的Vector.<uint>对象”“它就相当于ov[1][0x0d]” => “它就相当于ov[1][0x5]” (感谢“Cindy_晨曦-Smr02”)

  7. P276页第一段第5行:“悬念指针” => “悬挂指针” (感谢“逍遥客”)

  8. P228页最后一段,删除“然后按F7键跟进,”(感谢“55-AA”)

  9. P228页图5-3中第5行的栈值“0000007F”=>“000003FF”,因为调试图是对应“char buff[128]”的程序,但后面笔者为方便写漏洞利用改成了“char buff[1024]”,而原有的调试图并未一起修改过来。因此同时,P229页图5-4中的“buff长度值0x7F”应修改为“buff长度值0x3FF”(感谢“55-AA”)

  10. P230页表5-1中“\n”的作用“回车或换行”应改为“换行”(感谢“55-AA”)

  11. P232页第2行令ECX指向“0xCC……”字符串改为令ECX指向"90 90 CC CC ……"字符串,图5-9下一行中ECX指向“CC……”改为ECX指向“90 90 CC……”(感谢“55-AA”)

  12. P246第一段第3行参考第8章=> 参考第7章(感谢“55-AA”)

  13. P30页第2.4.1章节第一段第6行蓝网队 => 篮网队(感谢“55-AA”)

  14. P492页第一段第1行“发现的其智能插座” => “发现的智能插座”(感谢“55-AA”)

  15. P71页第2.7.5章节的上一段中,“基本与CVE-2012-3333类似”=> “基本与CVE-2010-3333类似”(感谢“肯特awp”)

  16. P106页表3-5中第5行0x10=>0x0A,第6行0x12=>0x0C(感谢 hanfengley )

  17. P164页中“正整数最高位为1,负整数最高位为0”=>“正整数的最高位(即符号位)为0,负整数最高位为1”(感谢“期待的远行”)

  18. P91页中“检查长度的高位是否存在数值” => “将长度的高位与低位进行拼接”(感谢 ench4nt3r)

  19. P91页第3行中0:015> dd ebp+0c => 0:015> dd poi(ebp+c)(感谢 ench4nt3r)

  20. P144页第11行中(3) CtableLayout + 0x90 => (3) CtableLayout + 0x9C(感谢 ench4nt3r)

  21. P522页中图10-86上两处R2标注应应改为R0(感谢“杯中取月”)

  22. P54页第一段第2行中栈顶=>栈底(感谢“兴华蔡27136”)

  23. P78页最后一段第2行中“buf2与后面的空闲堆00600bc8进行合并” => “heap与后面的空闲堆00530bb0进行合并”(感谢“兴华蔡27136”)

  24. P350页第5行nofifyGlobalMemoryChanged => notifyGlobalMemoryChanged(感谢 ench4nt3r )

  25. P284页第一段描述第2行中第2个参数值0x0=>第2个参数值0x06457bc0(感谢 ench4nt3r )

  26. P298页中图7-17 CElement::insertBeforeHelper函数=> 图7-17 CElement::insertBefore函数(感谢 ench4nt3r )

  27. P431页第6行freelist_node->next => freelist_node->prev(感谢 ench4nt3r )

  28. P24页第24页第2行heap spary => heap spray (感谢 Murasaki )

  29. P279页倒数第3行xul!nxObjectLoadingContent => xul!nsObjectLoadingContent(感谢“王大状”)

  30. P12页倒数第3行阶值 => 价值

  31. P370页图8-14下一行 重命为 => 重命名为

  32. P15页第2行行尾 命令 => 命名(感谢 rootkiter )

  33. P325页第1段文字“t:ANIMATECOLOR标签值……13个分号的字符串” => “t:ANIMATECOLOR标签值是一个用分号分隔的字符串,t:ANIMATECOLOR 对应的对象大小,是由分号(匹配符)个数+1决定的。计算方法在 mstime!StringToTokens 中实现,通过查询value字符串(unicode)中分号的个数,在查询到value的unicode结束符(00 00)时,会跟分号匹配符的结束符(00 00)匹配上,因此需要加1。因此这里分号个数 = sizeof(CGenericElement Object) -1,而通过前面分析知道CGnericElement的大小为0x38(参考图7-26),所以这里需要包含0x38/4 -1 = 13个分号的字符串”(感谢 wingdbg)

  34. P563页11.2.6节第一行中“CVE-2012-0518” => “CVE-2012-0158”(感谢“rwx”)

  35. P341页多处 "ActiveScript" 改为 "ActionScript"(感谢"willJ")

  36. P430页图9-26标题“PATHRECORD结构体名字段” => “PATHRECORD结构体各字段”

  37. P21页“从TableEntry结构入口偏移0x11C” => “从TTF文件头开始偏移0x11C”(感谢“2017要好好长肉肉”)

  38. P313页“可以知道CELement+0x14保存着”中的"CELement"应改为“CElement”(感谢“坩埚钳Deeom”)

  39. P177页第一行中"将经CacheSize*4+4计算后的值(即edi)与0xFFFFFFFF做了无符号比较,只有当edi小于等于0xFFFFFFFF时才进行堆块分配",在此之前补丁调用ULongLongToULong函数作类型转换,之后以上比较才效,此处漏掉对ULongLongToULong函数的补丁分析。(感谢 "holing")

You can’t perform that action at this time.